From 276dc521966a452aec40de4340ade5241c6978e8 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil <33750417+thattil@users.noreply.github.com> Date: Fri, 24 Feb 2023 10:00:31 +0100 Subject: [PATCH] dev:removed storage cells for moench (#603) * removed storage cells for moench * rxr: also setting moench like jungfrau in implementation of ports --- python/slsdet/detector.py | 181 +++++++++--------- slsDetectorGui/src/qTabAdvanced.cpp | 4 + .../moenchDetectorServer/RegisterDefs.h | 25 --- .../bin/moenchDetectorServer_developer | Bin 302608 -> 300112 bytes .../slsDetectorFunctionList.c | 127 +----------- .../slsDetectorServer_defs.h | 17 +- .../include/slsDetectorFunctionList.h | 6 +- .../src/slsDetectorServer_funcs.c | 12 +- slsDetectorSoftware/include/sls/Detector.h | 12 +- slsDetectorSoftware/src/CmdProxy.h | 23 +-- .../tests/test-CmdProxy-jungfrau.cpp | 6 +- slsReceiverSoftware/src/ClientInterface.cpp | 2 +- slsReceiverSoftware/src/Implementation.cpp | 6 +- slsSupportLib/include/sls/versionAPI.h | 5 +- 14 files changed, 134 insertions(+), 292 deletions(-) diff --git a/python/slsdet/detector.py b/python/slsdet/detector.py index efd08cc78..90f98c4a4 100755 --- a/python/slsdet/detector.py +++ b/python/slsdet/detector.py @@ -229,7 +229,7 @@ class Detector(CppDetectorApi): @element def hardwareversion(self): """ - [Jungfrau][Gotthard2][Myhten3][Gotthard][Ctb][Moench] Hardware version of detector. + [Jungfrau][Moench][Gotthard2][Myhten3][Gotthard][Ctb] Hardware version of detector. """ return ut.lhex(self.getHardwareVersion()) @@ -298,7 +298,7 @@ class Detector(CppDetectorApi): ----- [Eiger] Options: 4, 8, 12, 16, 32. If set to 32, also sets clkdivider to 2 (quarter speed), else to 0 (full speed)\n [Mythen3] Options: 8, 16, 32 \n - [Jungfrau][Gotthard][Ctb][Moench][Mythen3][Gotthard2] 16 + [Jungfrau][Moench][Gotthard][Ctb][Mythen3][Gotthard2] 16 """ return self.getDynamicRange() @@ -356,10 +356,9 @@ class Detector(CppDetectorApi): ----- [Eiger] Use threshold command to load settings - [Jungfrau] GAIN0, HIGHGAIN0 \n + [Jungfrau][Moench] GAIN0, HIGHGAIN0 \n [Gotthard] DYNAMICGAIN, HIGHGAIN, LOWGAIN, MEDIUMGAIN, VERYHIGHGAIN \n [Gotthard2] DYNAMICGAIN, FIXGAIN1, FIXGAIN2 \n - [Moench] G1_HIGHGAIN, G1_LOWGAIN, G2_HIGHCAP_HIGHGAIN, G2_HIGHCAP_LOWGAIN, G2_LOWCAP_HIGHGAIN, G2_LOWCAP_LOWGAIN, G4_HIGHGAIN, G4_LOWGAIN \n [Eiger] settings loaded from file found in settingspath """ return element_if_equal(self.getSettings()) @@ -389,7 +388,7 @@ class Detector(CppDetectorApi): @element def framesl(self): """ - [Gotthard][Jungfrau][Mythen3][Gotthard2][CTB][Moench] Number of frames left in acquisition.\n + [Gotthard][Jungfrau][Moench][Mythen3][Gotthard2][CTB] Number of frames left in acquisition.\n [Gotthard2] only in continuous auto mode. :setter: Not Implemented @@ -400,7 +399,7 @@ class Detector(CppDetectorApi): @element def framecounter(self): """ - [Jungfrau][Mythen3][Gotthard2][Moench][CTB] Number of frames from start run control. + [Jungfrau][Moench][Mythen3][Gotthard2][CTB] Number of frames from start run control. Note ----- @@ -429,12 +428,11 @@ class Detector(CppDetectorApi): @element def powerchip(self): """ - [Jungfrau][Mythen3][Gotthard2][Moench] Power the chip. + [Jungfrau][Moench][Mythen3][Gotthard2] Power the chip. Note ---- - [Moench] Default is disabled. \n - [Jungfrau] Default is disabled. Get will return power status. Can be off if temperature event occured (temperature over temp_threshold with temp_control enabled. Will configure chip (only chip v1.1).\n + [Jungfrau][Moench] Default is disabled. Get will return power status. Can be off if temperature event occured (temperature over temp_threshold with temp_control enabled. Will configure chip (only chip v1.1).\n [Mythen3][Gotthard2] Default is 1. If module not connected or wrong module, powerchip will fail. """ return self.getPowerChip() @@ -560,7 +558,7 @@ class Detector(CppDetectorApi): @element def periodl(self): """ - [Gotthard][Jungfrau][CTB][Moench][Mythen3][Gotthard2] Period left for current frame. + [Gotthard][Jungfrau][Moench][CTB][Mythen3][Gotthard2] Period left for current frame. Note ----- @@ -582,7 +580,7 @@ class Detector(CppDetectorApi): @element def delay(self): """ - [Gotthard][Jungfrau][CTB][Moench][Mythen3][Gotthard2] Delay after trigger, accepts either a value in seconds, DurationWrapper or datetime.timedelta + [Gotthard][Jungfrau][Moench][CTB][Mythen3][Gotthard2] Delay after trigger, accepts either a value in seconds, DurationWrapper or datetime.timedelta Note ----- @@ -627,7 +625,7 @@ class Detector(CppDetectorApi): @element def delayl(self): """ - [Gotthard][Jungfrau][CTB][Moench][Mythen3][Gotthard2] Delay left after trigger during acquisition, accepts either a value in seconds, datetime.timedelta or DurationWrapper + [Gotthard][Jungfrau][Moench][CTB][Mythen3][Gotthard2] Delay left after trigger during acquisition, accepts either a value in seconds, datetime.timedelta or DurationWrapper Note ----- @@ -682,7 +680,7 @@ class Detector(CppDetectorApi): @element def txdelay(self): """ - [Eiger][Jungfrau][Mythen3] Set transmission delay for all modules in the detector using the step size provided. + [Eiger][Jungfrau][Moench][Mythen3] Set transmission delay for all modules in the detector using the step size provided. Note ---- @@ -690,7 +688,7 @@ class Detector(CppDetectorApi): \t\t[Eiger] txdelay_left to (2 * mod_index * n_delay), \n \t\t[Eiger] txdelay_right to ((2 * mod_index + 1) * n_delay) and \n \t\t[Eiger] txdelay_frame to (2 *num_modules * n_delay) \n - \t\t[Jungfrau][Mythen3] txdelay_frame to (num_modules * n_delay)\n\n + \t\t[Jungfrau][Moench][Mythen3] txdelay_frame to (num_modules * n_delay)\n\n Please refer txdelay_left, txdelay_right and txdelay_frame for details. """ return self.getTransmissionDelay() @@ -703,11 +701,11 @@ class Detector(CppDetectorApi): @element def txdelay_frame(self): """ - [Eiger][Jungfrau][Mythen3] Transmission delay of first udp packet being streamed out of the module.\n + [Eiger][Jungfrau][Moench][Mythen3] Transmission delay of first udp packet being streamed out of the module.\n Note ---- - [Jungfrau] [0-31] Each value represents 1 ms. \n + [Jungfrau][Moench] [0-31] Each value represents 1 ms. \n [Eiger] Additional delay to txdelay_left and txdelay_right. Each value represents 10ns. Typical value is 50000. \n [Mythen3] [0-16777215] Each value represents 8 ns (125 MHz clock), max is 134 ms. """ @@ -890,7 +888,7 @@ class Detector(CppDetectorApi): @property @element def numinterfaces(self): - """[Jungfrau][Gotthard2] Number of udp interfaces to stream data from detector. Default is 1. + """[Jungfrau][Moench][Gotthard2] Number of udp interfaces to stream data from detector. Default is 1. Note ----- @@ -1236,11 +1234,11 @@ class Detector(CppDetectorApi): @element def udp_dstip2(self): """ - [Jungfrau][Gotthard2] Ip address of the receiver (destination) udp interface 2. + [Jungfrau][Moench][Gotthard2] Ip address of the receiver (destination) udp interface 2. Note ---- - [Jungfrau] bottom half \n + [Jungfrau][Moench] bottom half \n [Gotthard2] veto debugging \n If 'auto' used, then ip is set to ip of rx_hostname. \n To set IPs for individual modules, use setDestinationUDPIP2. @@ -1289,13 +1287,13 @@ class Detector(CppDetectorApi): @element def udp_dstmac2(self): """ - [Jungfrau][Gotthard2] Mac address of the receiver (destination) udp interface 2. + [Jungfrau][Moench][Gotthard2] Mac address of the receiver (destination) udp interface 2. Note ---- Not mandatory to set as udp_dstip2 retrieves it from slsReceiver process but must be set if you use a custom receiver (not slsReceiver). \n To set MACs for individual modules, use setDestinationUDPMAC2. \n - [Jungfrau] bottom half \n + [Jungfrau][Moench] bottom half \n [Gotthard2] veto debugging \n Use router mac if router between detector and receiver. @@ -1340,11 +1338,11 @@ class Detector(CppDetectorApi): @element def udp_srcmac2(self): """ - [Jungfrau][Gotthard2] Mac address of the receiver (source) udp interface 2. + [Jungfrau][Moench][Gotthard2] Mac address of the receiver (source) udp interface 2. Note ---- - [Jungfrau] bottom half \n + [Jungfrau][Moench] bottom half \n [Gotthard2] veto debugging \n To set MACs for individual modules, use setSourceUDPMAC2. @@ -1390,11 +1388,11 @@ class Detector(CppDetectorApi): @element def udp_srcip2(self): """ - [Jungfrau][Gotthard2] Ip address of the detector (source) udp interface 2. + [Jungfrau][Moench][Gotthard2] Ip address of the detector (source) udp interface 2. Note ----- - [Jungfrau] bottom half \n + [Jungfrau][Moench] bottom half \n [Gotthard2] veto debugging \n Must be same subnet as destination udp ip2.\n To set IPs for individual modules, use setSourceUDPIP2. @@ -1440,7 +1438,7 @@ class Detector(CppDetectorApi): ---- Default is 50002. \n [Eiger] right half \n - [Jungfrau] bottom half \n + [Jungfrau][Moench] bottom half \n [Gotthard2] veto debugging \n Ports for each module is calculated (incremented by 2) \n To set ports for individual modules, use setDestinationUDPPort2. @@ -1460,7 +1458,7 @@ class Detector(CppDetectorApi): ----- [Gotthard] 0, 90, 110, 120, 150, 180, 200 \n [Eiger][Mythen3][Gotthard2] 0 - 200 \n - [Jungfrau][Ctb][Moench] 0, 60 - 200 + [Jungfrau][Moench][Ctb] 0, 60 - 200 """ return self.getHighVoltage() @@ -1569,8 +1567,8 @@ class Detector(CppDetectorApi): @element def master(self): """ - [Eiger][Gotthard2][Jungfrau] Sets (half) module to master and other(s) to slaves.\n - [Gotthard][Gotthard2][Mythen3][Eiger][Jungfrau] Gets if the current (half) module is master. + [Eiger][Gotthard2][Jungfrau][Moench] Sets (half) module to master and other(s) to slaves.\n + [Gotthard][Gotthard2][Mythen3][Eiger][Jungfrau][Moench] Gets if the current (half) module is master. """ return self.getMaster() @@ -1582,7 +1580,7 @@ class Detector(CppDetectorApi): @element def sync(self): """ - [Jungfrau] Enables or disables synchronization between modules. + [Jungfrau][Moench] Enables or disables synchronization between modules. """ return self.getSynchronization() @@ -1718,7 +1716,7 @@ class Detector(CppDetectorApi): @property def adcreg(self): - """[Jungfrau][Ctb][Moench][Gotthard] Writes to an adc register + """[Jungfrau][Moench][Ctb][Gotthard] Writes to an adc register Note ----- @@ -1731,7 +1729,7 @@ class Detector(CppDetectorApi): @property @element def adcinvert(self): - """[Ctb][Moench][Jungfrau] ADC Inversion Mask. + """[Ctb][Jungfrau][Moench] ADC Inversion Mask. Note ----- @@ -1747,7 +1745,7 @@ class Detector(CppDetectorApi): @element def triggersl(self): """ - [Gotthard][Jungfrau][Mythen3][Gotthard2][CTB][Moench] Number of triggers left in acquisition.\n + [Gotthard][Jungfrau][Moench][Mythen3][Gotthard2][CTB] Number of triggers left in acquisition.\n Note ---- @@ -1760,7 +1758,7 @@ class Detector(CppDetectorApi): @property @element def frametime(self): - """[Jungfrau][Mythen3][Gotthard2][Moench][CTB] Timestamp at a frame start. + """[Jungfrau][Moench][Mythen3][Gotthard2][CTB] Timestamp at a frame start. Note ---- @@ -1873,10 +1871,10 @@ class Detector(CppDetectorApi): Note ----- - [Jungfrau] FULL_SPEED, HALF_SPEED (Default), QUARTER_SPEED + [Jungfrau][Moench] FULL_SPEED, HALF_SPEED (Default), QUARTER_SPEED [Eiger] FULL_SPEED (Default), HALF_SPEED, QUARTER_SPEED [Gottthard2] G2_108MHZ (Default), G2_144MHZ - [Jungfrau] FULL_SPEED option only available from v2.0 boards and is recommended to set number of interfaces to 2. \n + [Jungfrau][Moench] FULL_SPEED option only available from v2.0 boards and is recommended to set number of interfaces to 2. \n Also overwrites adcphase to recommended default. """ return element_if_equal(self.getReadoutSpeed()) @@ -1962,7 +1960,7 @@ class Detector(CppDetectorApi): Note ----- Default: AUTO_TIMING \n - [Jungfrau][Gotthard][Ctb][Moench][Gotthard2] AUTO_TIMING, TRIGGER_EXPOSURE \n + [Jungfrau][Moench][Gotthard][Ctb][Gotthard2] AUTO_TIMING, TRIGGER_EXPOSURE \n [Mythen3] AUTO_TIMING, TRIGGER_EXPOSURE, GATED, TRIGGER_GATED \n [Eiger] AUTO_TIMING, TRIGGER_EXPOSURE, GATED, BURST_TRIGGER """ @@ -2121,13 +2119,13 @@ class Detector(CppDetectorApi): def readnrows(self): """ [Eiger] Number of rows to read out per half module starting from the centre. - [Jungfrau] Number of rows to read per module starting from the centre. + [Jungfrau][Moench] Number of rows to read per module starting from the centre. Note ---- [Eiger] Options: 1 - 256. 256 is default. \n [Eiger]The permissible values depend on dynamic range and 10Gbe enabled.\n\n - [Jungfrau] Options: 8 - 512 (multiples of 8) + [Jungfrau][Moench] Options: 8 - 512 (multiples of 8) """ return self.getReadNRows() @@ -2218,7 +2216,7 @@ class Detector(CppDetectorApi): @property @element def tengiga(self): - """[Eiger][Ctb][Moench][Mythen3] 10GbE Enable.""" + """[Eiger][Ctb][Mythen3] 10GbE Enable.""" return self.getTenGiga() @tengiga.setter @@ -2238,7 +2236,7 @@ class Detector(CppDetectorApi): @property @element def flowcontrol10g(self): - """[Eiger][Jungfrau] Enable or disable 10GbE Flow Control.""" + """[Eiger][Jungfrau][Moench] Enable or disable 10GbE Flow Control.""" return self.getTenGigaFlowControl() @flowcontrol10g.setter @@ -2258,7 +2256,7 @@ class Detector(CppDetectorApi): @property @element def gappixels(self): - """[Eiger][Jungfrau] Include Gap pixels in client data call back in Detecor api. Will not be in detector streaming, receiver file or streaming. Default is disabled. """ + """[Eiger][Jungfrau][Moench] Include Gap pixels in client data call back in Detecor api. Will not be in detector streaming, receiver file or streaming. Default is disabled. """ return self.getRxAddGapPixels() @gappixels.setter @@ -2314,7 +2312,7 @@ class Detector(CppDetectorApi): @element def chipversion(self): """ - [Jungfrau] Chip version of module. Can be 1.0 or 1.1. + [Jungfrau][Moench] Chip version of module. Can be 1.0 or 1.1. Example ------- @@ -2327,7 +2325,7 @@ class Detector(CppDetectorApi): @property @element def autocompdisable(self): - """[Jungfrau] Enable or disable auto comparator disable mode. + """[Jungfrau][Moench] Enable or disable auto comparator disable mode. Note ----- @@ -2343,7 +2341,7 @@ class Detector(CppDetectorApi): @property @element def compdisabletime(self): - """[Jungfrau] Time before end of exposure when comparator is disabled. + """[Jungfrau][Moench] Time before end of exposure when comparator is disabled. Note ----- @@ -2389,7 +2387,7 @@ class Detector(CppDetectorApi): @property @element def runtime(self): - """[Jungfrau][Mythen3][Gotthard2][Moench][CTB] Time from detector start up. + """[Jungfrau][Moench][Mythen3][Gotthard2][CTB] Time from detector start up. Note ----- @@ -2482,7 +2480,7 @@ class Detector(CppDetectorApi): @element def temp_threshold(self): """ - [Jungfrau] Threshold temperature in degrees. + [Jungfrau][Moench] Threshold temperature in degrees. Note ----- @@ -2499,7 +2497,7 @@ class Detector(CppDetectorApi): @element def temp_event(self): """ - [Jungfrau] 1, if a temperature event occured. \n + [Jungfrau][Moench] 1, if a temperature event occured. \n Note ---- @@ -2527,7 +2525,7 @@ class Detector(CppDetectorApi): @element def temp_control(self): """ - [Jungfrau] Temperature control enable. + [Jungfrau][Moench] Temperature control enable. Note ----- @@ -2544,7 +2542,7 @@ class Detector(CppDetectorApi): @property @element def selinterface(self): - """[Jungfrau] The udp interface to stream data from detector. + """[Jungfrau][Moench] The udp interface to stream data from detector. Note ----- @@ -2564,11 +2562,11 @@ class Detector(CppDetectorApi): @property def gainmode(self): """ - [Jungfrau] Detector gain mode. Enum: gainMode + [Jungfrau][Moench] Detector gain mode. Enum: gainMode Note ----- - [Jungfrau] DYNAMIC, FORCE_SWITCH_G1, FORCE_SWITCH_G2, FIX_G1, FIX_G2, FIX_G0 \n + [Jungfrau][Moench] DYNAMIC, FORCE_SWITCH_G1, FORCE_SWITCH_G2, FIX_G1, FIX_G2, FIX_G0 \n CAUTION: Do not use FIX_G0 without caution, you can damage the detector!!! """ return element_if_equal(self.getGainMode()) @@ -2623,14 +2621,14 @@ class Detector(CppDetectorApi): @element def filterresistor(self): """ - [Gotthard2][Jungfrau] Set filter resistor. Increasing values for increasing " + [Gotthard2][Jungfrau][Moench] Set filter resistor. Increasing values for increasing " "resistance. Note ---- Advanced user command. [Gotthard2] Default is 0. Options: 0-3. - [Jungfrau] Default is 1. Options: 0-1. + [Jungfrau][Moench] Default is 1. Options: 0-1. """ return self.getFilterResistor() @@ -2642,11 +2640,11 @@ class Detector(CppDetectorApi): @element def filtercells(self): """ - [Jungfrau] Set filter capacitor. + [Jungfrau][Moench] Set filter capacitor. Note ---- - [Jungfrau] Options: 0-12. Default: 0. Advanced user command. Only for chipv1.1. + [Jungfrau][Moench] Options: 0-12. Default: 0. Advanced user command. Only for chipv1.1. """ return self.getNumberOfFilterCells() @@ -2982,7 +2980,7 @@ class Detector(CppDetectorApi): @property @element def adcenable(self): - """[Ctb][Moench] ADC Enable Mask for 1Gb. Enable for each 32 ADC channel.""" + """[Ctb] ADC Enable Mask for 1Gb. Enable for each 32 ADC channel.""" return self.getADCEnableMask() @adcenable.setter @@ -2992,7 +2990,7 @@ class Detector(CppDetectorApi): @property @element def adcenable10g(self): - """[Ctb][Moench] ADC Enable Mask for 10Gb mode for each 32 ADC channel. + """[Ctb] ADC Enable Mask for 10Gb mode for each 32 ADC channel. Note ----- @@ -3009,7 +3007,6 @@ class Detector(CppDetectorApi): def samples(self): """ [CTB] Number of samples (both analog and digitial) expected. \n - [Moench] Number of samples (analog only) """ return self.getNumberOfAnalogSamples() @@ -3020,7 +3017,7 @@ class Detector(CppDetectorApi): @property @element def runclk(self): - """[Ctb][Moench] Run clock in MHz.""" + """[Ctb] Run clock in MHz.""" return self.getRUNClock() @runclk.setter @@ -3053,7 +3050,7 @@ class Detector(CppDetectorApi): @property @element def asamples(self): - """[Ctb][Moench] Number of analog samples expected. """ + """[Ctb] Number of analog samples expected. """ return element_if_equal(self.getNumberOfAnalogSamples()) @asamples.setter @@ -3073,7 +3070,7 @@ class Detector(CppDetectorApi): @property @element def dbitphase(self): - """[Ctb][Jungfrau] Phase shift of clock to latch digital bits. Absolute phase shift. + """[Ctb][Jungfrau][Moench] Phase shift of clock to latch digital bits. Absolute phase shift. Note ----- @@ -3114,7 +3111,7 @@ class Detector(CppDetectorApi): @property @element def maxdbitphaseshift(self): - """[CTB][Jungfrau] Absolute maximum Phase shift of of the clock to latch digital bits. + """[CTB][Jungfrau][Moench] Absolute maximum Phase shift of of the clock to latch digital bits. Note ----- @@ -3161,7 +3158,7 @@ class Detector(CppDetectorApi): @property @element def maxadcphaseshift(self): - """[Jungfrau][CTB][Moench] Absolute maximum Phase shift of ADC clock. + """[Jungfrau][Moench][CTB] Absolute maximum Phase shift of ADC clock. Note ----- @@ -3173,12 +3170,12 @@ class Detector(CppDetectorApi): @property @element def adcphase(self): - """[Gotthard][Jungfrau][CTB][Moench] Sets phase shift of ADC clock. + """[Gotthard][Jungfrau][Moench][CTB] Sets phase shift of ADC clock. Note ----- - [Jungfrau] Absolute phase shift. Changing Speed also resets adcphase to recommended defaults.\n - [Ctb][Moench] Absolute phase shift. Changing adcclk also resets adcphase and sets it to previous values.\n + [Jungfrau][Moench] Absolute phase shift. Changing Speed also resets adcphase to recommended defaults.\n + [Ctb] Absolute phase shift. Changing adcclk also resets adcphase and sets it to previous values.\n [Gotthard] Relative phase shift. :getter: Not implemented for Gotthard @@ -3192,7 +3189,7 @@ class Detector(CppDetectorApi): @property @element def adcpipeline(self): - """[Ctb][Moench] Sets pipeline for ADC clock. """ + """[Ctb] Sets pipeline for ADC clock. """ return self.getADCPipeline() @adcpipeline.setter @@ -3202,7 +3199,7 @@ class Detector(CppDetectorApi): @property @element def adcclk(self): - """[Ctb][Moench] Sets ADC clock frequency in MHz. """ + """[Ctb] Sets ADC clock frequency in MHz. """ return self.getADCClock() @adcclk.setter @@ -3213,7 +3210,7 @@ class Detector(CppDetectorApi): @element def syncclk(self): """ - [Ctb][Moench] Sync clock in MHz. + [Ctb] Sync clock in MHz. Note ----- @@ -3224,7 +3221,7 @@ class Detector(CppDetectorApi): @property def pattern(self): - """[Mythen3][Moench][Ctb] Loads ASCII pattern file directly to server (instead of executing line by line). + """[Mythen3][Ctb] Loads ASCII pattern file directly to server (instead of executing line by line). Note ---- @@ -3246,7 +3243,7 @@ class Detector(CppDetectorApi): @property @element def patioctrl(self): - """[Ctb][Moench] 64 bit mask defining input (0) and output (1) signals. + """[Ctb] 64 bit mask defining input (0) and output (1) signals. Example -------- @@ -3263,7 +3260,7 @@ class Detector(CppDetectorApi): @property @element def patlimits(self): - """[Ctb][Moench][Mythen3] Limits (start and stop address) of complete pattern. + """[Ctb][Mythen3] Limits (start and stop address) of complete pattern. Example --------- @@ -3283,7 +3280,7 @@ class Detector(CppDetectorApi): @property @element def patsetbit(self): - """[Ctb][Moench][Mythen3] Sets the mask applied to every pattern to the selected bits. + """[Ctb][Mythen3] Sets the mask applied to every pattern to the selected bits. Example -------- @@ -3300,7 +3297,7 @@ class Detector(CppDetectorApi): @property @element def patmask(self): - """[Ctb][Moench][Mythen3] Selects the bits that will have a pattern mask applied to the selected patmask for every pattern. + """[Ctb][Mythen3] Selects the bits that will have a pattern mask applied to the selected patmask for every pattern. Example -------- @@ -3318,7 +3315,7 @@ class Detector(CppDetectorApi): # @element def patwait(self): """ - [Ctb][Moench][Mythen3] Wait address of loop level provided. + [Ctb][Mythen3] Wait address of loop level provided. Example ------- @@ -3335,7 +3332,7 @@ class Detector(CppDetectorApi): @property @element def patwait0(self): - """[Ctb][Moench][Mythen3] Wait 0 address. + """[Ctb][Mythen3] Wait 0 address. Example -------- @@ -3355,7 +3352,7 @@ class Detector(CppDetectorApi): @property @element def patwait1(self): - """[Ctb][Moench][Mythen3] Wait 1 address. + """[Ctb][Mythen3] Wait 1 address. Example -------- @@ -3375,7 +3372,7 @@ class Detector(CppDetectorApi): @property @element def patwait2(self): - """[Ctb][Moench][Mythen3] Wait 2 address. + """[Ctb][Mythen3] Wait 2 address. Example -------- @@ -3395,7 +3392,7 @@ class Detector(CppDetectorApi): @property def patwaittime(self): """ - [Ctb][Moench][Mythen3] Wait time in clock cycles of loop level provided. + [Ctb][Mythen3] Wait time in clock cycles of loop level provided. Example ------- @@ -3412,7 +3409,7 @@ class Detector(CppDetectorApi): @property @element def patwaittime0(self): - """[Ctb][Moench][Mythen3] Wait 0 time in clock cycles.""" + """[Ctb][Mythen3] Wait 0 time in clock cycles.""" return self.getPatternWaitTime(0) @patwaittime0.setter @@ -3423,7 +3420,7 @@ class Detector(CppDetectorApi): @property @element def patwaittime1(self): - """[Ctb][Moench][Mythen3] Wait 1 time in clock cycles.""" + """[Ctb][Mythen3] Wait 1 time in clock cycles.""" return self.getPatternWaitTime(1) @patwaittime1.setter @@ -3434,7 +3431,7 @@ class Detector(CppDetectorApi): @property @element def patwaittime2(self): - """[Ctb][Moench][Mythen3] Wait 2 time in clock cycles.""" + """[Ctb][Mythen3] Wait 2 time in clock cycles.""" return self.getPatternWaitTime(2) @patwaittime2.setter @@ -3446,7 +3443,7 @@ class Detector(CppDetectorApi): @property def patloop(self): """ - [Ctb][Moench][Mythen3] Limits (start and stop address) of the loop provided. + [Ctb][Mythen3] Limits (start and stop address) of the loop provided. Example ------- @@ -3463,7 +3460,7 @@ class Detector(CppDetectorApi): @property @element def patloop0(self): - """[Ctb][Moench][Mythen3] Limits (start and stop address) of loop 0. + """[Ctb][Mythen3] Limits (start and stop address) of loop 0. Example --------- @@ -3483,7 +3480,7 @@ class Detector(CppDetectorApi): @property @element def patloop1(self): - """[Ctb][Moench][Mythen3] Limits (start and stop address) of loop 1. + """[Ctb][Mythen3] Limits (start and stop address) of loop 1. Example --------- @@ -3504,7 +3501,7 @@ class Detector(CppDetectorApi): @property @element def patloop2(self): - """[Ctb][Moench][Mythen3] Limits (start and stop address) of loop 2. + """[Ctb][Mythen3] Limits (start and stop address) of loop 2. Example --------- @@ -3526,7 +3523,7 @@ class Detector(CppDetectorApi): @property def patnloop(self): """ - [Ctb][Moench][Mythen3] Number of cycles of the loop provided. + [Ctb][Mythen3] Number of cycles of the loop provided. Example ------- @@ -3543,7 +3540,7 @@ class Detector(CppDetectorApi): @property @element def patnloop0(self): - """[Ctb][Moench][Mythen3] Number of cycles of loop 0.""" + """[Ctb][Mythen3] Number of cycles of loop 0.""" return self.getPatternLoopCycles(0) @patnloop0.setter @@ -3554,7 +3551,7 @@ class Detector(CppDetectorApi): @property @element def patnloop1(self): - """[Ctb][Moench][Mythen3] Number of cycles of loop 1.""" + """[Ctb][Mythen3] Number of cycles of loop 1.""" return self.getPatternLoopCycles(1) @patnloop1.setter @@ -3565,7 +3562,7 @@ class Detector(CppDetectorApi): @property @element def patnloop2(self): - """[Ctb][Moench][Mythen3] Number of cycles of loop 2.""" + """[Ctb][Mythen3] Number of cycles of loop 2.""" return self.getPatternLoopCycles(2) @patnloop2.setter @@ -3636,7 +3633,7 @@ class Detector(CppDetectorApi): @property @element def v_limit(self): - """[Ctb][Moench] Soft limit for power supplies (ctb only) and DACS in mV.""" + """[Ctb] Soft limit for power supplies (ctb only) and DACS in mV.""" return self.getDAC(dacIndex.V_LIMIT, True) @v_limit.setter diff --git a/slsDetectorGui/src/qTabAdvanced.cpp b/slsDetectorGui/src/qTabAdvanced.cpp index fbb78537f..ae3c2b39f 100644 --- a/slsDetectorGui/src/qTabAdvanced.cpp +++ b/slsDetectorGui/src/qTabAdvanced.cpp @@ -48,6 +48,10 @@ void qTabAdvanced::SetupWidgetWindow() { lblDiscardBits->setEnabled(true); spinDiscardBits->setEnabled(true); break; + case slsDetectorDefs::JUNGFRAU: + lblNumStoragecells->setEnabled(true); + spinNumStoragecells->setEnabled(true); + break; default: break; } diff --git a/slsDetectorServers/moenchDetectorServer/RegisterDefs.h b/slsDetectorServers/moenchDetectorServer/RegisterDefs.h index 488fbdc09..2e1870768 100644 --- a/slsDetectorServers/moenchDetectorServer/RegisterDefs.h +++ b/slsDetectorServers/moenchDetectorServer/RegisterDefs.h @@ -104,8 +104,6 @@ #define CONFIG_V11_STATUS_FLTR_CLL_OFST (0) #define CONFIG_V11_STATUS_FLTR_CLL_MSK (0x00000FFF << CONFIG_V11_STATUS_FLTR_CLL_OFST) -#define CONFIG_V11_STATUS_STRG_CLL_OFST (12) -#define CONFIG_V11_STATUS_STRG_CLL_MSK (0x0000000F << CONFIG_V11_STATUS_STRG_CLL_OFST) // CSM mode = high current (100%), low current (16%) #define CONFIG_V11_STATUS_CRRNT_SRC_LOW_OFST (19) #define CONFIG_V11_STATUS_CRRNT_SRC_LOW_MSK (0x00000001 << CONFIG_V11_STATUS_CRRNT_SRC_LOW_OFST) @@ -231,8 +229,6 @@ #define CONTROL_ACQ_FIFO_CLR_MSK (0x00000001 << CONTROL_ACQ_FIFO_CLR_OFST) #define CONTROL_MASTER_OFST (15) #define CONTROL_MASTER_MSK (0x00000001 << CONTROL_MASTER_OFST) -#define CONTROL_STORAGE_CELL_NUM_OFST (16) -#define CONTROL_STORAGE_CELL_NUM_MSK (0x0000000F << CONTROL_STORAGE_CELL_NUM_OFST) #define CONTROL_RX_ADDTNL_ENDPTS_NUM_OFST (20) #define CONTROL_RX_ADDTNL_ENDPTS_NUM_MSK (0x0000003F << CONTROL_RX_ADDTNL_ENDPTS_NUM_OFST) #define CONTROL_RX_ENDPTS_START_OFST (26) @@ -260,8 +256,6 @@ #define CONFIG_V11_FLTR_CLL_OFST (0) #define CONFIG_V11_FLTR_CLL_MSK (0x00000FFF << CONFIG_V11_FLTR_CLL_OFST) -#define CONFIG_V11_STRG_CLL_OFST (12) -#define CONFIG_V11_STRG_CLL_MSK (0x0000000F << CONFIG_V11_STRG_CLL_OFST) // CSM mode = high current (100%), low current (16%) #define CONFIG_V11_CRRNT_SRC_LOW_OFST (19) #define CONFIG_V11_CRRNT_SRC_LOW_MSK (0x00000001 << CONFIG_V11_CRRNT_SRC_LOW_OFST) @@ -352,8 +346,6 @@ #define DAQ_CMP_RST_MSK (0x00000001 << DAQ_CMP_RST_OFST) #define DAQ_CHIP11_VRSN_OFST (7) #define DAQ_CHIP11_VRSN_MSK (0x00000001 << DAQ_CHIP11_VRSN_OFST) -#define DAQ_STRG_CELL_SLCT_OFST (8) -#define DAQ_STRG_CELL_SLCT_MSK (0x0000000F << DAQ_STRG_CELL_SLCT_OFST) #define DAQ_FRCE_SWTCH_GAIN_OFST (12) #define DAQ_FRCE_SWTCH_GAIN_MSK (0x00000003 << DAQ_FRCE_SWTCH_GAIN_OFST) #define DAQ_FRCE_GAIN_STG_0_VAL ((0x0 << DAQ_FRCE_SWTCH_GAIN_OFST) & DAQ_FRCE_SWTCH_GAIN_MSK) @@ -445,23 +437,6 @@ Time before end of exposure when comparator is disabled */ #define MOD_ID_OFST (0) #define MOD_ID_MSK (0x0000FFFF << MOD_ID_OFST) -/* ASIC Control Register */ -#define ASIC_CTRL_REG (0x7F << MEM_MAP_SHIFT) -// tPC = (PCT + 1) * 25ns -#define ASIC_CTRL_PRCHRG_TMR_OFST (0) -#define ASIC_CTRL_PRCHRG_TMR_MSK (0x000000FF << ASIC_CTRL_PRCHRG_TMR_OFST) -#define ASIC_CTRL_PRCHRG_TMR_VAL ((0x1F << ASIC_CTRL_PRCHRG_TMR_OFST) & ASIC_CTRL_PRCHRG_TMR_MSK) -// tDS = (DST + 1) * 25ns -#define ASIC_CTRL_DS_TMR_OFST (8) -#define ASIC_CTRL_DS_TMR_MSK (0x000000FF << ASIC_CTRL_DS_TMR_OFST) -#define ASIC_CTRL_DS_TMR_VAL ((0x1F << ASIC_CTRL_DS_TMR_OFST) & ASIC_CTRL_DS_TMR_MSK) -#define ASIC_CTRL_DS_TMR_CHIP1_1_VAL ((0xFF << ASIC_CTRL_DS_TMR_OFST) & ASIC_CTRL_DS_TMR_MSK) -// tET = (ET + 1) * 25ns (increase timeout range between 2 consecutive storage -// cells) -#define ASIC_CTRL_EXPSRE_TMR_OFST (16) -#define ASIC_CTRL_EXPSRE_TMR_MSK (0x0000FFFF << ASIC_CTRL_EXPSRE_TMR_OFST) -#define ASIC_CTRL_EXPSRE_TMR_MAX_VAL (0x0000FFFF / (CLK_RUN * 1E-3)) - /* ADC 0 Deserializer Control */ #define ADC_DSRLZR_0_REG (0xF0 << MEM_MAP_SHIFT) #define ADC_DSRLZR_0_RFRSH_ALGNMNT_OFST (31) /* Refresh alignment */ diff --git a/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer b/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer index a12ddf7ef69476465f4f0b264ae751dc1f803104..81e65b905826d3885c9b1248a7f325e4ac70b527 100755 GIT binary patch delta 134756 zcmb51dtemR`Tl1UE=yQofPf)J+{AzZA}km+AmSz>#uz2g2mzxmf{IFQ^qX4Lv>Pn7 z*hWnl6hy>DsiLKJQL0%s+MuXt(MC&K?qnEP!o?6UYQV_;KIhC%GEtOY|9F#qo_WuE z-t(TzoH=JMRki)<*YwN0ZBjvzq9|REiAsE&qQo~9C|&NUQxw(wtqfbhF~{s@``)|s zvk&5vswbx1u+R~&FLZnvyh?wXUr#$OUgy<4H!6r@Ut<2ZU9Zz!O+AsMXOzZxMR8@S z1$z1s7vj}3jwncx=XzajQm6LfZ}s|--7;Y_k5o5~Ov*fxqbD{AQjs><9s29aYwG#AInHF=5Do2+B0>!P7Sh5D#oe* zo>`}HkYb$vo73f1EnP|+M``2!Fw0?#zy-57im}~M8on>2;KFG~DK4ZB$+b*6Wl72@ zZ8@b?Tw~RIy#iFxq%Dkd`%McudLDN3;?neqio-ZQ)~i>>DM$`EI7BYSvyO`J0+~ad zqkwjdo4br+org9eN&va zD}JK?YK(V;V1IiEL_l^EU1t|Xh_PDTA0yLX192bNILnLzdEv=1pGFk33zqss|I})?K-D zGtC zCI>gzE%E%!LhyL-c!^6h^T37RLW$>QdckwRb0qdb=QD%y851 z0uTX7w$p*s1eP-dgfH#zma_$RgSZgKfDoO1jULsm>T!PD@^xBv4|lfG z*h3~SAbA1Fb4kA7QpFgp)a5o1*Sc^LHR9EaaHq%_;8!ufik(_*kKu7emuZbXQj)J- zS8;>W(>lvhWYt)_5+Ktn)@g$i2D(d}v<)Y1!>Po@6!5x>;?_4PijlTXD@w@lFKA2h zqq?{Rq)T8{Gh+-&jHHX^=vE@Cp{eQSb@i~0ik@D!+$giVby$*lsoH=?km4_IW z!yCfG_14o%XYLE-dQ$bM;xLlN(AW2Sr>CEHkJB&@2 zSjWl7c$nkOw8mroh0gSuIRo@o61O^s>&+y|@k}Mj!=tr3T+{qY4@Fmcba-;U^kjc0 zPyRewcoH1OSqMHypV-5Jhup$jIc9_x4>$MfXzl3~|)ymy*>KKgn1X{Hu_ zMlWmjOGg`URG6OZ$+=UQef|>5R3WAcdrbGFN&ckA>_Aon)u+C{YdMR#~_IQ`GrZ>xCqej!W)}YzHO~h>6`20I#Gcb|7pIb5R ziFdl37&Yf*g6;0MqmEMaq5-bKy*0S^?zh(1dhpwN4EG+d_!`2!-3^SY#Z3-G3-nIv zR>q{LtVw&P_wc@{A1KDn$W7f8<9Em??PTu@GA`Ldu|5&QPC;+g*Bo^EJnP*0BZ@vN z0nYuNVoXGCd0(5@$6dT&vtqo3-2AafuuzT)VkG?4YhHaTj%~%UD`bg9+;00;l=!jB z6=P$Z({)!;)HwK^({+22lN2k?QH;+yDYqhx=W4ZmhWm40Q;ezsicxglG8C>z5LuM< zbkd0wqoteqKcl-_S1%OIP5kO{MfPOzJJl(=nqq|cuNWtKo4Sv7tI!+2Q;fP~!T##p zsNwidj6dB~;lN!ff~`-98j&`I_$z+k$#dO$6_ekG6Rol20>+Y>fT*AxT}^NZ@pw0M zcNgkO2`aK^%(WZ5dP;(V?TvKZ#AvUnVR%{Uaij2y#&OY@NVc|q2{2& zli=y^i5hR6v>N=blcM_L$7!GTyFaaS&g1?<=k%=$k7OLlp=hFb+HL*ES>=DB|Ilu= z#I!a+`?UZ4BX^O{u7vDW9l0EBwOW7QlcM!!j}`vKLUwPWd!)0cLwEMHCwafsnp7Na z75%xdOcKkxHgV#}Y?5SmN>bTsox#?%in46Wt_ifqbL4=bldQqV>FUuwDom{&cW_(u zbXvZ?kiNH2UY_)){!4l)NYt3pDq4t>7V2LT_$EMBJ1*-ncP!;g zOY`b2xYN=zM;Jn)#{6%@b%tpB&wUd_chhBB!8vcnJvvGYoRg>}B~`@@@@TInWyZyM zv~5X;{V$EYhU<{}(1Iy$w0}3s>EZWO^J?M#k?zp_vhdo-3qzAaUNp)^sUGv_?2!q+ z6C3u_d|A`eb)V{qY5s;ZIl9Z`KxPuQmQjjpno2hhr-m*LpXlAQh2sImPU#nqcyv+Qoe?lxDN{-i>$7g=4&4{JjR?FsTycHY&&RLFQu8sKfD}HXT&1{@ldMzWnd{O2m3f&IHCBJsK>B}N z(#P-i>cL(L5;aP{5-nX+-BVwQmR@^_WzKBQO*Ps3w?!u$_-|AUj2q%cv z`a+prOs#(@)33P1t*=xRYDOgulaH#7a-VpdtxVvQ%eTSP>=T*66N`)A6qobl+4@4Yef zIrXcx=U3Ar0=qZsvyfYV6i+w2+)?uGoJj@u!OQjGsPVWq_PkNU#nnq!r8PK~)uj?F zmh?Uu7`KW`sdkGGNsFtpw8Mi3$2r!>f5%_ehM%7j_wLJD-ubzcDo9s>x2N#;>o2X6 zpDWYlX1Vo`m1fRvCj)8vW^%vX@`$SxH%uzW6(jp)t^WMslLD9u#7w=@Zp!#l6e1G#k)r zh-sCzXZVcFuh{{dt7V2z|(6BQT!CeSN^0J7m9t7p5n9_j7$n76x+YoA__ zk~tH1b7SuAYj?K+FJ|L~-QAE((CveWVhk4kW_Rm}#$%Grdm6T>*>qG49r229)_t?! zR(JG)c*Q$w3f%s7ZlXgBG8MC`VYjbVjOo&tdk)5G+l`q@?pdQz3ZpdE^kWiAE1R{t zp#xJ^e9xdVt1r6M==PDi=_%-zeczy7K)7$9p!cD8tXV|k(zXN4PTLhl_Y@bPk6-wqBU-|K>%f$HAx~E~t0DX#W2Kj^zz( ztj5NQW^18hV>8XxXyjOM2P5^4VEEG5b@EnWh4D&Qsfk(nSX$YFl`U9#u-Td;t!%Ex z%KKQU-Jx8}pJ2GZI~4Hht*Ex5I!8J!mUbR%7ET8}C+~SMd=Zx+F~48Um=ibeMNJ(x zJZ{>H+W29)DJd#bUUd~i+<{|Ow@8qQM|-s8!{+(DD0rp9s$-%@2F+rfApPP|+P2{-8M9-`zm&>bP~L)a`Z05jm1VMHL6l2JX(=O;GOmg# z-zb&aP;NuH%Q35dhaD63TR2K98Ihck7E{iW%ITCjy>HYonyhMc9;-)r)F^G`h@`x@ zm~x_2Es1oTo|yDn-?8Zs}FN+(mK1DcF_5VT0PmL z->Dd1v4|j6Dm(1OV}DavVr|$(=O#Qjl=e+wTKj4@T=YRVcRvO!A!_}v5A>XF0!Y1!ml^O|%SVeIr<>(dt96~(4aCbM?8Kha%&pGBU z(pT}js^1i*pHbsOqOy@$qCaXJJt`V*|BG5@SA;`>oUk{1u{3F&8`a zywmewY)ZA~dFI{JTcJ{c=G9D#*JF4+rGD0f(^nc!q%8Z<*pJ5DN3E9s};FM8QZr)NRF`1O~S=a54U+BIn3FYOEMrPBU8QhS}yE)d#Juk46;7sahFC&L$3 z_V6v3>?~4TU6NR?V*A1AYu4TxGa&BqmD;Cc22ZTVc)fIgq%h9S?rD(o8tguFL^`N^2*t$hL*^zM6NrzhlMkHpI zgoR+@l$vq-!%^z}P{oD?H5q=)%s*6tndgV)Qv$OT?3$sx8MnNLsy0;1%x*tag;wP- z#TVFcDm74(qi;%bAY4zfV)n?-)#~7e@3Sw!*8PBe7q&je`a4YQgKn@XtCO8`+_B}j zDS_qQskS3dQn6eu7xAV9JmDPMG1Jvt@|hAS49^lruIp3^u~68N zi5pYqIajT&u<=RoNwF-dY`oTXSz6q_<(fNtp#MM1hwJlL&0JTL%T(apXNT)~pwA>q z1Z9C#R(Se)P6Sm?uBY0^#GN!Md|_x-Cq4+D4!=>R{tBdkbcvdlchp*-W|6Z-waV z2eA7D_UbN>Yrxq3wX~z;Mr*!yWn&#V+>w!^CkZV0YfTiE|1NVn3O*XcWB31^4Wf6XXNv|nbOg`d!2{O9k+J*V!GjMDTEq8|gJJ;a zhX*UrUNL~MX~x)L{a!q1b-m38MW;V@p*DEj)`T6$*(E)p7;I*?jhpJ9!^~k0lZdKN zKL5qo{dYa%WGk1WbqpP&mseb0F?m+#qujh{0{34o{tjKfG1tdMbvz6D z0jYN$Ohu@I0ZklNq*njsY_k2f!qmGCMYnz`X11F&dtbZR#%DybZ=cziTiVI&37D#O zv;US_jn8OFn~Y&V`!jba>)!!QJ7yfF~4fEP5@lAXrb}_CoRIlqJiRs zIUyoiqL|9ejs&sshoMeiMY!A@HLh+{T>Y4@tVVY=xebem79})qh}5C^%b{AoE7JWf z9Bvu7I3$cYWs$@Xc#$kp5e_NFHP1Lb%56DC;`fMW#NP?esGjPO*wD?LCb0XNnm{VM z7*1yr{UqfaF4NA58u|gN0d)OoGvwXSE9zIg9=kXH(A$(Gnm6H;$Y>53J}eks*7Y+MX^+qL@FjtBGvF^ z`D~YoEi-X{l*wJX%xO*l{nnPbYz~%U$L(0%2*Rm|*kZa#ZJix80#VkVsq_*YD8Yfv z`>jU$#eUI96LFx&6=L7<*CUvzp;e03-}YNIwPU|1oCB@(xc24J5)n)BbK6q4{wDtq zFBOdV^-mbnR58$X?v~eYf5NDk(Ti)j$CeHvxSL3^i4-?T!=knRpESHYmZDOmAh;q$DNc(2 zk1Vz3+}1oqEaLP~TKz1GMUCra2)i(<1lhsLURB}ho|L^xah;=zi$yu7C)52&=5kv< z>8j{Smq}M|N$BZgG?=E81!!8Ub=Mex^#1q?K4B%$w0rnQqlE?w1QMM z{f1qNaj79z=uQUQ`ZoOSv$XS4*E&P4627xdF$Nl1eNI-l<4-Hb8~X(7s)B9YCkn=z z+-teHdA~hicKuA;$s9y%4RK?gaJbU&Q3Y>Yz;`fBPWjc*PvN5NQ^~)*(a`(h0mYw z3!r;4P5At4I=PrTHa=xerT-btDJl$!*{once9HX4ouh0NV5^>77wxmwN&d1gh^4J* zeM4@2A^LwsU;N)F^^XqX{C<=KrTeUN?^FBgNKl)WN`lu>TuK7*{}q|QnM`dbM~&ir z*17oC`|8nOoi>`CvN#|295I5Yqm`aKIutb~?z6htUHcl)t4hmZ^cQ+F(DR~~=ueyNKfCd(l1q@}JvXGO9%?9~JO3M3cuYc;=CC;Qs3+aI}iYISm0^n>mU>q%^m zCMCGT-IxKdO?Duu;T(NEzt$(W2AYGzLZjbyc>0Dm3?Sphx)t-cbP@ACsaox%!O6SG zVHXj5K)23C&*~z=@1|-klhTu2=W=Rg(|o!v0xHT?u8V-an5vDrX80}7KRqTS7H7PPF*0ZCBE+|*Y8$Q@ z+WS|3sR@i>VJUVyL(?^$G4n|=|6CExe>GU)Zfy{0&QEQfT^}Ci?pRQYB`eHJ>=yfZ zcb+@W`LtG<=S~S=C?E}0wi{X}4Q+F4oAW#=TTs{{74B$P_@h*K-K`~FduiO7r?i4= z2gfaYN}G4>$hd8LG++L}4ClYid!V|caK|9`7Ic$oML!)O(@qus8KFJej%!oyp2koy za!)H0t#@d~qcqV^qJAc!tqY38*b`+{Dwp0QjwWd4{}i;$Bj(g>+a7ZO>sY8VZ^p{N z_JlpA&Ii)BxRUDh*he|Vtu4y za)&RkE;jXQ7i&lJ)BJ@PER+UsYByLR4Za*R_zVV57I5_~FLgz69*UW$T-@4zK`kyt z#hu5G2yIR>;`bfs?c@La7$<(0!0qS%y(Z_EU@Bw;a!yQ9{LX_j_X0oT94gG+D2{SA z62HgBOkWq{gy~T+(>XCtWHTgY`LY-%ET6mBn)t*kesh@1Sls-BWg;%)gRGA?aFbvX zcQ+EJa@xd4d#n!Cv`2KP0q1AC#bV$kNn%kbnVz#5&CO`8-(&Th?R!MeVLBs+))UoE z&vA+&hS~pIQ!UQJM@e#&B+u@#>a=c;sMCXkW23N0LQqALx2=UkHZbaE$@|8PkE*rL z3o`xcc`P`b$A*CPQMB8~q>n+&h`GcIn0W;=;`gJ~;vN$ZzB^qhcsnK_^S!9~i7vUZ0eFYqeO3sJlwUf~Mcc zQDnOOtAA+kTtB$?Rn_KNa~;#t3#+xm*Jt_Ds#TBJW)-@*@>(RmS{xn-@6{KQ<3gF^ zrrlPs4(%4fQU_ZT5``rguU>;@4J8Whw$3U4-YsgZ4esN;Vxl*Qa&JXzE6j7dW3^Ri zyt`Xe*P-*obnWD9#n@COrfK5W-}$wH0DM*@R=LdIf2;E9Z5R<|A8vOkAYJ+p?iuZi z8wU9o$qf6cr&cli4`%ou9Af`;#_r|~$K~3^Z+17ccJZh465Xd(ap(JB?#CNE{{?Y# zg3!Bqw-R>93B%pH6@05cuZB}eGR<-!wiXVK8dOr!@5j@}^4)$3 zrd5f?wuB^0NOJCOH@8-ZR^r|5Cdr+#Br`;kSmCayV(i;1?xGl}p2YRlq+Lzg?{;~@ zqh;E(-5%0j8%ujRX*<^CgaauuWGRf5RjQ{|>?}OeIx7$xkA#A&N^=*!nOukEIxNrM zWu5Mx+ZDv}rWCEYF!AmKPtJeAEO85pEhv`kvZfXbcGaP{CdF)=%b#?5o{2To-#jS_ z>^z^z#rdq>?y?%f++Cs}JQ+)|K%|Iui`$>n?wvB!pG1-*k__4!g9v+b?c&!Rg#sbx>iP?bx;uGUV47Q?I0mlV*3tJ3MH1{#N$rSMw)}j{y&e4QnZkwg%r>3 zuu4(4LzLoRa%`{_DPpB~`|#D^4`dVS~HUeFyABQ#7vx+!<|d}ne+<>=89u6X9}bq>**sn4{ff#U>_kHc%SE+&jf?2KP(372|xc`E0}2=lUB$sg(D`xn6x4#+PCI z&Fxlg?%XbFGfrk7Y+vK(Lq>OpopNrwo;2%8vtqlrR1;OWaeFCg8V5Oj-tby7yHUnd z%!49I$tBKO>*45cl+pEy69kh6Q zlD`2{4Vap~U0h0tY|FO?IQrrs)mIq4T{KNJTF{uZT?~Rk2NisLpysPTXZNji2my630H- z*37Y%Br!b7oma7KMXdEdYA+O5_#3;}$ITiVi?cc;)9uCM6yq*t|SGTiHKKIzrdSj0V}<~^d? z+8Nt2&r$o=aAR!s=$c$zNsB|8gYn#<_^U3y4Wnz=FX_>j*3>veLA2n^feG8r$=6pL zPC&H!nTdnP4~^5u4`oku2UjjTnuFYGj0a=hZVhlBz+f%zrlI~N!#Hsdv+koX9m>%Q zhVnSc&|Hsr8s&*T?B)!mKMpmI=CiW@P`unmA#%^hi(Qn3=P<4qdk5v~bMH<-#I3*! zv9WMyuD*Fk9O5uO?&;)~)xI@eeG%3WV|sj*pKTVd{fzQ>vCT5;9L`-d?0ga=AbqR7 z`WloGBPTwvVHMLFt^nc#=w5fuI$BLFM-gL8d~m}$X=!?VkfYtAi2vy}yzo;BhQGdi((uEAe7czT@uix;QR2>~(kLo~F&8O-_H9ml57Mh6h zOwi%-8-*}>8Jd-7B1TP|n4pRH?T%B?e0QLT-+7dJ3mS;=a-5it35_jr zZZy_O4c8!14Q=T7+b-mCgPX5Jj}fGj!PRDl!{`|=OtmI?YqDKi`dLj~+#K+Hr|Ri~ zK4Sb|oS3|c2f3ETdC2J30~MZh`R{43?!J-REN;w>ym@-KzU`EFe$hRLNU==;x_+kW z%lC*imM0HnyZX?YQ!t1a*Ts3mInwjeI4=foBnoD$zzO3H9vAJZp1f!5!Lsj$b7OVv zNzdk+_xbZO;`BTWq*XduAY@{NLBv?^@X1v+#n|rfVep*+Zg%tXGME)-h*cNy zj|{YMlkPzJVMjeOhrkA6EOwZKJI_2gO0ltGfOwp6D@PIIw+@DLzYM|}`S9rD1121J z=sTXb`O5y-W}p{EKWQu|kYZi`nlT)9#_l6;r|-^C%BMU|Ag|yjkKb58QOyk4=|7yt-D4dcJCl(IG5)QXXD-D!r38rS-b71Ft!}-O`+C-ks{VHN z<&m=Q-f++L^`IE9^jC}lHkayhX@L*r>+@NtpD*u-DdT1qe;IePbhMMF-0WNRwl`&Q z4erGa#8|ADr$?$*35u#s6jfWoQN;Ky8&n(3npNsJ`gkJetquJtP%KN@o$lVFa4&lCRNXlI-T9vfK1a%Ppi%Y{p|_g{tX)wvO$}r%)xBO%{V=n zxA^|1ZJCu+ScW%}&lMT+6 z_)Dg)i z6$Pxb7Fgxu#5aNy-w21NIjrovFCj-S0V5LM1ug|663+rxf)R;lfY*Q#iKl>T!HC4y zg13SZiE|QiSkQ(*Brz5RCDS29;?dwlFe33Va5@-~I2Ak|j7U5PTm(iW?hE#T5s7<% z=YbK49SMH!^MXJmak2-`vVakZkAnkXMB+o>AQ+KY2X6)=5^o3Z0wWTC25tr;5`P5l zauK7}MJC?phe&}yq(TVn0V5Kx15X4a62Ag21|t%$0?z{@5>SC1LL*IlA2=P1$m4f`v%rYNv%nL_&5s6d5N5P21gTT&F6kwEz`-0QKh&6D0?q~_ z5?>2003&`$e0Yo_jBJqRZC16D2`@n0!h{Sh+Yr%-bv%s6ch{Q9%+rWs#Q@}^Th{V@| zyJR{1;*TV9AX2gjc?^#Qd%%c1J{mj`j7U5T>;oebr-IACh{S`ym0(2TzTnkhMB*Oc zU>5hG1!IH*q80@Ng_A?^AB2ETfLcHZ=m^Mp36*n+K>I-{AOy41hs+?&{B}=Qaa|P z0#$+BAO!RnDC<(npC#cVz&s8j9DEp50zyD#pi&S5`Z;JJ2m##zS_VQuw}RG!5Ku8_ z69@rK0qp`IpnOovrPM!vfL8%sm*MGU0*wc`K?vv)P!5CYOc zSs(q@jfDq6YP${U?FX8*ZML>ju?|=dz1oReYJqQ5>L7PDc=oL@{2m!qS zY5^gjXF<-fG}5sGEdiy25YXcwFUUJqj(?8=i+~6R{h+xZ1T-I14njcpfvP|V=x)$z z5CWPFssSOO5>Pz|0o@2{1R|W&#o5Z$aZh2&f!X1VTW+ z1kC{>I@2m$Q_b(z2jF+rf6pcD`S+6u}7A)rq#;QA*IhyXv}UfL;Zy0U@9lLA4+Rv;tHQLO@S}8bJu?36Nj8k^o;R;O~J+ zAOuta$^;>x2SHvC0=gem3_?KnfXYA!Xbxx*2m##;S^+{p(?DxM2xu~>#t*EKFb}v1 zgm5qiv=xMa#)0;O5YWY-RuBTp1i8GNIlKZ50l7g4XfP-Xgn-Tg6@Ul z0W9Yr!ofJu5)cCVHjQ=xLO?B`S`Y&I0<;x`fFhuyAOy4*q~s9a9D%lh5@0eL{{K?rCVs2+rX(m+Q+2j??fTF3i3lIWo1uX+1pyQzRAOv(6R1ZQx2B-yu zfOdhBuBLBYEzrL~Ss+B5|2_p40uj)Mpm`t!R0moFLO>zV3J?N%9aIBCKz{~p1tFl- zpk@#PdJg28MBPsk=xI;}2odMMCxH`z2nQE|d>{n008{}&Ko5ZeAO!S(pgIr&ng?nC zA)wnqZ6E}63n=LtN`H+&(?QuFM4bN$fyF?CgV%!QgAh|25iU$Qi2&m0X_8 z0X2bIKnUm{NWGSs!LLEk03yIj4$cE1px=QiKnUnJpcNnl z^ea#e2mzIXwt^7QU7%JF0=f;9avfE1oj^B%vOx%_$j$k$0Ehsu=ipor0-6L`1VTVp zg4Tc#P&Q~Y2my@-?FS*C;h;7U0=fW{SU~9u1WEyUKnQ36D6Ig90DA+=KnSQiXc1^p zffk&f*v&hQMe=Fd$MZ*aTh9{v`X=r4d{41hV=ptDY)a)r30ke@R{F2REmaL{N;V9k z{Z6C(PGdLbD~q!hqQ$0^xe#69RD9yC6Fq!lBdF&?+M^E+j{Bs$Se8zTJKeIhVZLKP zSM0P*GZ&>j#ft7Jwia#KjhoJH+;p+VyP`!bN*90&Bwo@Y7NzHc=Sp1JA{M2~!Q~P! zY!QpnRp2U#%Ui^v^lI>GiOX8VqI3a3!GabiI0c*{@x+#nMQQFcZj0?d%Qva`(DD_t0Ux#Y!yk-_b$fqp zclPGk!B)9_gm)z9o07yG_hJ)SaVo|?Sm)l9lz?#S$!|p6n5aUZ@?KRiUtdj4t(Ffn z*moJaamRkQ_qk{J<9K(}==BfFes}Jq;emkmnr6uNH!HCF?%&ZU#&(4*tl}Ia=3vut_rRS?i?G}2G<6cWaElnVvFr1H8RM? z1^kc!$YdK?^fHPstC4eU+%mXja49yf6|NQTJR3KD4KFNOqeceXxD{|K;Lf*k4R8%` zez%SEzQWn!6*ZD-<67Zb;nHlJ=g*Aee^w(G*tl}Ia=3IGSG1ObtW_gJY+L{?05{a+ z{4)IW|H88Xe^DbB+7#>H>fkbLT>5J?px4yMFdH`yZXVol8&?lk4>!WbCH<9~MEU;TIud6A9WjN)dvkv1+d$h)F~YGjm+D}gJ4^VqmGaBJX3+qf3E7Pv7sZu~l` zX`LFm*l!~jLN0{NvT^lr^>CNixRlrFj<2hcOKsd-xVdnb*|>%`sN*-(NVbhzv7WZD zUX6^6aemSI$Nvp){-#F8*%TMO$>#H$YUFYow+(I^+;|&T{1#6-y`@I3uyNbqw!uxX zad|b|CRU?HuC#G=H9Q$q2kEtuSs^9`AvKa?;{tF2xLh0O+CYEbphm8;aSP!V!cDYs zjc|={SKByGmk)`YvXF+YT@#2T>9HI z*04TVjzS)Vyxt<=3g6*g`ghdG4K{8W+%mYyHZJgYBJ+1OQfT8+ z>S!NzYGjIy%i2g(H>#1THZBO~4?_OTMta^QH1DdBA{$o*R|a>Zjcb8xftzOIvfpFG zd{2!`w{c}~WpKqdZr&!k>?SobL&+EY-yDL=-={0SuSRCt6!*jJhr7wneE|1?8Y!`H zl^+t;57o%cHZE&3CElz?Zn1H@;C8{?+RpiTxalJvZu&@#_}WRYp7}9nvyautEE|{o z4@&nBH6rFImeT>a0NiXF=h{NU+@eP2*tin761dxKTrFI!AMy?xx%v}Mte>cnJ8j&Y zPdOugsz&D8xHWKV;O??<>OXnn;3z{b@_7%?Mie8r2eq-a@hnR#N;?yfRe=Pj-$YdUwRM-?V4H}`LMi$t(3b+cmM{JyzXnBd&Z*5!| znUs;qLK~NP7<-4+$nR{Ne?H`V$VY9Y=LloK5jFCA8&?ij4!6k0WjE0yn$*Z+Hm)3w z4>?5sVB<=U(TFKtss2c%jm&DMAvLR!$8FqvxcP8T*tk}>R=6i^-1y^E z-ElQiW#ek$YT>GF9IsH&l@n@YvE*X&zd4X|AT^uf7Pu{NOKjY(uW4{!tC6Q{T-!Iy z^}bOfPusXntz6l)s*$BOF5{%4XPi_c%WPbgAF>Ma85`LO*9y1X#?3i}gQwKUvo@{~ zt`Tm9jq`j<)qSf*p0jb;ZB$d68d+)MT;I_nzM~O7ZzG!_n;`=>t_rRSZk3Hw7^D;i zsTXXV56%boqK(TsO?94DBdcxPdbss)e=<39{?`iG3i*;v(Ho^zN7cy7Hf}ZCYPdBv z?kL<*xL0hPFCJ&&)yS(hu2A8Os;H4a+qgMh{DifO8d+;2yL92sSh&B~xHWKV;9j$F z&2Y_df3!(I)Vw{}+t$m+cvHht`+Vb8#i7&89siH8u`18tQ|z3g{!l1 z#mRV`tVTB4IPK$lY+L{?0Jq7;na?+>k@xNMzfI@SXU|h3AJ`Pl z$K%wALEQO2MxO%vHxPvw>aSUx?j2daQadYA3!X2`4tFss}v((68 z8&@-qE;~+*9D!?}|IN9ak??Xga@3|69M9eJ_qxMq4p zGd<#K8&`iF5xh=~d}HGh3y5HWUyZcd$TG;X0yT2d#?`>pz@4&jN!K$cyk3obYvW4b zO5oaT+%C9XaNpTD_YKVdZcrnq1!v9w0+0d7s7-M{+!$+$l7qDOyAIQ0~M}IKx)K#zy;A zK{m^q*)tU5%|>r*`+$!p$k#lJb>Yu=&9h=8S}Wx8$w~39U2BO~Y(uaOG=y!SA-Vdz z8F5G}@4XOTA=og3#pFNQ%r0m*`;s(!=v!;OyO+a!f$xNaU!N9_d9|IkGEm6Ca?E^S zOEHdosqI<3)nD-?PgJq|&T72z(3ivY7Ta@Pye>G#u!BSiSIo%uY`~pe2eVgY^zN^E z_0==zTQkg5`MfanA1CT~tH(y3glj%gN0~4F*1kvZ<}p)~-AAm|VNK~}Ol_>NO8EJ;qgv8A8;KAz-wg!GeJN<)u?#G@@~UzUc%JFpbv{bSlgOWgiVnAkL9Du?tF zyx~s10rmBRLGj*G*EvbzC0<^=9{1{F?wtw<2WPjxM|u(Ok!Hu?RDZW9jQH+RBifBK zP6l`ZJnxatUUi&e{F3)bD@M(!Kxo2&w$l?1e0@3=Z9h-HcHUn2et>IFSo;V4s;y(} zuig!U5aXiufMYPj#6k$Eg>-MbdydJ!VeqA{E?T!DBu=KYP4Be7U1e#846ZS9i=c0rOn4Iwr$4K^{2T!w)- zq&djCB&y?Qde$kv(skxXNfe{k{nI_~+T!^3-QwXLYZT~qmO_jnE+=OiW8wm0_ z9RnN7Zih%U6?&Q8?06Pe_M-GhUh>MbG}*W?s|4vxUP{dj?VC6?m(=UZq#w6px5( zMz4$W^pxky<+d!Uxcd7LSt9)%CF5qUT7T~bYEIw z%|ApNy3lPM=saWCO7XVd^d9HT=3tPoOIia(fi3Uc_IIV<$s5oWF^l;xp#nAaRt*M3;f`1OKqIDGa_F$plU z7M~q)@!1h8U8j=83f6~$1<72TECLj2mUN&sAWjtT&thcv(*OoERq+^WFjOC|<4x^M zOzu=%m#Ot3olwrYE6`qJ!m$y2CxBk#ys%SiT*Wtg%yIoH-B}Wk{1+{&shq>Wn6s~= zHC`s)o-Ue7$rpK|zMlVTx+hnbvXz@nXq|V8m%fWqTCZW}JrqA#&J|y1%^wf+7l|TK zqSas2g$KJuGdwo8o<}l253vtW!ahI=lQ;Q>Z}BRe0bhvBi^<#`;(d3BcX7pPmr=a` zS+bt?g~II>qK*}C+~vX7!G zUsx<}{c3*^`dhq28sdf1}u@$(uf{3m-5{SJEWaE(l z_12|DJj%SDqw6{P_!0S_v!90f`jH@qzxt9d4ic)ZH0ZzoO}q?fD8JT!D!$`j1x$>U zR)gWz6PnSMk~IBiieh|v#Nwld??@d_NsA8myCZd2-u&gOjJ8X5CLp4bj5IyM4Mdt<%4d;==PL&Rn3pNn}_wh zo6~eJ?*7WM?;jF1ddQd43u7aBIlZ`2`x${+w3ju|z1GFR?~aHY)ebKae>X1i>UAtY z)+OcYc>!KC5XkW{fX_J|6jxV`L@c$_aAmp8y>z&+NEYz2m;(h3IKbQ3W3M{lUGX?D z`pf>jJWYIjFkfH9eOim;x8lT?_FmxHN_@xT)ED|7W| z)uVOCVbOHl#OsfTMa%h=i$RVkEQYYsW_T}4x+AHtRgZ+w&DaDwo-6y&kg-}^ZFdCs)0H1_|thqlv%{VJM)HDUJ` z6Vc*Z4r8?LkVQw0sq!WMqM!WgkZ7hGj@#SO#b>B)do9h!=6q`D;_sK1!k#A!dtz~4 z_d_90``S$}pO@Uxj-3qRhZj3J6^Ua0Yq7TY<>9fVq%)0#_a5SVUAHN&42G}Zf6iQ5 z`{hX`j#b_w&W0mwg?+ox>XZ8#MPY}C3sx??%)S=9=C+Q(`KL#C-iLmO%Vj3>3IF~6 zW&7i|X^*T)`-!rgYP7D|?4cHG3(wYyYqtby-0IxCAnp1eUe8@0bF`G{TR$axofQvT zKMU{GTW?{P=$0T?{LSs(n^%nNyF^W9 zuj(t8g#I*3d<;`mru=x}|HpN7QhS|5jn=S;xWDsNfB7t{ZHS=vI&;w5V}AUgsABO| zA+fL`zO$=Gr4LWR^9_w<2)12E7cIMS~vyr8#5qn;nDcWP8caz8vv@G}8H6*%K>s#lePf zPj}RCeQED>pE2p>Vjwo-v^nWNneX5BUY|54ZJXK-@QOtWG}#+=-6 z!f*G||6^XB(aDyG8OmkfbF$=raPo7%G}1Ygl`$`O@p%Ig%DJ4RJI1ezIyrf^`SuIg z7uS?lGqqn=7L(82;v#5GB*=S*8kj$){mASm<5nKGxiw9{PEm}XMLPQZfdkf1o4^+q z6yy4)t~lJbLG+2~o=0r!X`kP!)xS3IC&tUG@$}^ELOyRI{+EUq(5Y74VRouV=u{_X zn00q;#2dcXUC6gas={J1JP=;Tm1xDSit8p`p>&oa_+w=_bfBXQ4{c(|-TGg~v{w&^c!{x$FA1GtA+z_bwju2T)&b6VB55Df zetSTiNBoz^qW#AMf$&ufVISQhuJp}8{K5_GL%S9=R-Pd&=HPCHCP-+4xBf6J;q6vf zqQ<)YRzvy^FY{OW8iP88W%Vsu;p>Tantp6PWS)J)H`_0j ze|&w_Twe9qT>Jc3XV;!Svuo#^v5YR$w@uT{s!5Fb7U<;L?f;W+JB*I7m4DAS@BiZ4 zn}&?ry)ob3G0eE-ck->z|K!_3n{V@3bNl`_MPo@vwZ`he|D)~W7Mrn>GZ=gKhsJ)? zR<_O7jwXABvM#dne=wA2Gn8@$r{@0;wwm@)lf7btVWKpqZF$T66K9>xB1J60-JOcT zyQ%+&oLAfIO!}Uk1pohFsKRDwQ_T-6eE&^9sPG@HqnR;VesOMi^$f<|`5%mB*&KV} z47QfpZ1EYTpmmO5pz^k_JXu#Oy)h=XB0B%WPSFO1 zQvJ)UAX!`78f-x*TqG*xH|FiwF<>}@ld-Z7OL~rYdjTq zMvaGl#QwSF+I#>V;8*1@Q~a6uTb3?_cG`DxTnI` zc^UGO+nnytC`38O%5n4RFT~`@9h>#>a?qK9us_f~e?Hr!Z>rw0(VK>=y<<_mMGvww zD@w~(DCcxM|985`jQR~69}zpAV>{j?j*nxaI01!oV+ylu3VUJ(Msi%tSU1S?mUYGL z*N$)K{}X+%r6Fo8@08-!nH?2mu8c3RHIl_eKPSqB!#GMfKdAxyC+sMExq-PwCa5`y?P~$qLNig2W>R8SF~iYC9!9(XvwLK zVqrLdMgZ>By`mY4qyOA1nqj|2k+Yd`d!|~vn-68ourlRChjOMKYixc(^w^A2X4Y14 zY!_>1JRzUn+iseB8$`B!pZfk{iEl>7p!L&}k1o8AeXkaLdf?qp{LE~Wd-m3cU2Z=1 zdPJOLI{L)O8MgTc*Mnjk!@MB7QGBb@ywrsM>HOH}m)RxV5X){Q*(I?7LFSA++l#e? zcieINinWGM63_kdnb$P!rgzStnh>)wb8k?(968+i8tBzx>vEk3e{rqnS=!y;y;@aW zN{P4z;;Y%z%%@Y$m<--qB{O)H403H3S@#xO+hJw~V(-Cf?q`}X?%ShH{CnEeB{8%6 z_XMQbQq0~KGb?u4vWjhcr1*WdJ+?J_mNuk0lBeDhv-=t!tr1l?4!bYds_^vm&KqcF zvwOd3H!UM(cYe%nm+#r#JYDnE{Zw_0*Pg7qaO%-1W;Dm|F{8QpQ0Hh?PVXGev$Z5; zkDUJ1#LPPPnA5){hs4LsurQl#Db?m4%)Vy>0!4)Wx**k7&> zahs9x^fZN?TCp;y80GicL;2z~TX#BZKTp~%hLzO%LbKA{L_oC3wT+#Jl~S$GdjnE_ zyr=KqrFq{=zF~RH%wfJaBF=aZG}=A8e44FcpS8OLrOET}h?#sdW-_;v$?lr|-cOxG z%Xf*vuk%9Er7??-^1Tw_WWP=p|9hi-P3~-sy8!zqm&SK@B>H1ki*}i9sNtZ!=zqHL ze`(*z!fI^#U3;)|`>wdLqYc?dN|x-@ADp7U<{j{2GHIVD1SgwSt?==fTiqL(U#;gv zx!xBwrtGx7Iq|^GdfHXU;5$(_Dz1qv(z2Df*%~uDPc%DC1h+8}+~ym@hNrf(VOnoA!xHdH5$PWf=}G`(CB| z_NG{+_~qt9mc3RuC!TEqWX%q-3KOlzKna@_zeAQx5a_4tDSNMUCSJ+M8roW(05k zOj8dh{=}SqIK>tF44?i#+TK5|>8kx7-|HofLDQxZPU5yn3n!5+B5&d*8>FU&N@mKf zW)n%t$k0s5NT#828yR!TK_#1tii$QAWe64-85tRxnRRp5*8D-`t>kS*-U^@R^?L2K z4ViR*ACK?*kHPtQo$FlZT-UkIb*^(>XFFT)S4%km51N_657vjrij%1iVST@VwlWPj z*wWzC>_IzUK>IT%W|$XkU_J5Aux|K9#5(f^to1%v_xKZ?YTGwbOpkbHsWeW4 zg3}%UH4Oc$Mjb00%|rYlz;K?2%X*0=26@M%Utn3 zbLhlrY3l!enx=ldQ?7vx`khjGBj!M<7ehLrA_*#Ph2KO2;hh>F=_xf3?9;$z&!=8K zIZbmV*y))kpuyS+QqO%fQU6MS(sJo&zufv{ad<<%sjD#xClaKEj|W9kJm`>2AcdgA z^;k_)jSKen8{H+zRWcT{A~vnFTzw0>9!aiXTL~Dlo?111*7v76g|fHGHAVm?Iv~J7 zBn=KCY2L$r-RBYw@bNBBzaJI)y~5F1wN+WZ_^dlMBJVV5BM}Mi{uZ1TwGs81&Z4*Z z3G(mmMjc5xEx5BO+;CD)*VX*pLpRG4GUaIWa;dZ9KTF5l=osn(-K4JC&{bQS3FS;< zyd8eK(c9tWI01(WhQ)K|*EG=o{yrS-;M2e#U<{tW$sjl|2#y;DVOMHrN=<#jS6A{; z7X9jqOFE&Xdz$H`PRY+{OB$zu|&UnDqlk&41un=x=6R15(#+Kq?hT`ED*1 zmhV6BZuoKpG}2<-XykQ5Qb)DRFvdxR)^L z&^fw$xLv?nPj$Gy-5^s&sZ7p0s`TUGgm4BIi;yzVBOZJl-Ev{D8$J^+1I~kP?EOg8*UVazS8!duf06-(N_|Ww0uQ8VhK2|>C;tN zvJ5@0oiy}RUCj*GjnEkwgrv(M_jlt2mye$0qbHNllW)HAw)(uMCxu^GY{x@JF8avR zl}?(Hujh;dz#KD!p(&O7fEwoMz|5~K!6zcSnR(mLR#9l5>7&J&x92NygyWr-1t+xr zI=%CRK6v3*qJ5BeTF#u%q;(~YWFJoWO6r1!KDT1=T~s!Ylk#9rb9)rrO#8CT`cfM_ z00g4#&rXMB&6gVO&09TlQe6J?9hTEy`W?C8liJ|MlOniOhb8W0ci>jL!3}j-a!&dM zx96lbeeuaU7-ez0YApG>HbJBg+K!L-ZFj&+5-t;pyD>dPlxb#v=_9lQ(s^e2mQA%#X(>8z2(eT zeg{45lrH$NyVSVvEy<@M{Y{O$Q#$^wFD-jcg}F6KA07q^8`3%a7Gti)eCh39{Rwhq zqy_266E-kg^go^Wz|tmKlD0_{>%3DK0vRDOngSl0c&ieS@zbls=MvNLoNc}km72lJ zu_#iI-Ukg7ej=sfyMHGnpMhN`>X3KwTTheFPTqkk#Tm(k;W52q76$Vs2;J8OpRb=VCk_edLdMzOO@#n&e0GgD^E!2 z_)g^sN09rRB=Ll0-07%M-g&pWdP_BVTX-EFWY5Z-vS&LxI{f>H7nVC?J9%8%VHuv4IStQtxb7BelA(Ug@m93{ z);F+8{L3=(+lX$sbmehTIt}@krQln?;^h5rwYvG9#wMb%iD>MjCK?E8tfh$>y9bS3 zYPJObv%AK0?#3FMEh+!>+t{*yYI)UhOW8lA<5gl>uSU7xS>CzeS&g%h6U7smuSb9E zCEg=VGs0`fPj_R;G;XBm^x!La^>x9#4lo zYl4kjl7gW=%_y5BDRF<34b3b#y-?HPx_>=f<2!+r5X1Y8&*J^YXCs{Bz#UIDN$DM~ z^Iu3TuWTZgAAkA@$QxXKs>oH`pnk0OY?cz8$+K{SZkEi|SnmaO_zQ_y&wtSbP*JC& zfz-gg4t%?|(>Ft79pz17_kI1*y8*X>+%sN~}Ur0Px^Mz%~za;NYe+IMmFGPF9 zsS43dbh8U5Wx&5|77yY3!57{hJmG0*;TJTgs=w~6Fg`k3SeY#y{|cI5`aalc`d(#@ zQ_|5_9%6Yy%&*D@ao>Oz8)kir7V~^s4E=&W+(+}}Z|K^0VYwgeGQb&20*9wXg=Tu= zGj0p=aJ{s;!C<^ez6$wz5O??0!T4FCzmGPg zpjyi8RvRvVyWalD;LHFH8MC9D_6|0MZfGw(M(jaMyX_dU$B(BdZ}Jq#f7C3PZ7Kdf zIb4KCYmKVn3AoDIYVL**6H`|^^hPm6c{Y3*kc{QHWD)eu9SUspLt$c<%J$wgVbi0i z*8@M*ctyHqd=Gq~u(xG`tq%2s?b!^4q6MFAt=*~U`5s2m-IGGckWM{mJ`5H{Ps-7g z5_eCIeJ&aK{_{Ca_MzxWiEmHZ9lkv&tT>LIIDC3yndQ{W-3^vF!~3}Vx9Q7GiNFKb z-_@3*&LRHvir^n~Nk`Fq6x1ulV>0CctheF|v?{F9^l8bHKo&oIMp%Y#S2{ou_iVMa zA}mfW%Yq+t{IfNdjXw^n{&)7@6OEToo6thB!uWv<*^UF+*02tvE`4A#4XVt z?bfTo_LSjrbIrnmS>SfDSNiev813N~2-ktY6&Go8@h8!#$>8vt4?rboBqamS8D%6Q zhr_SKwW^V3u>vz^Un9-p-%cuw#+r#;059_eEWn)zxDy4qS$^QAH5S(7ngzgbG}4?t zDgf5`02b#CVcpw2!3wnsM>lTFg$7J$z$7$a@Y6s{BTacid~zdA`Sk+)HjS4eid;-i zoj?}<4V0sSa-jj0p9c6wS_`OwL5(&vFh^*BKI6QfqdudlO~79GjHb3t0M-k@6zN%zzlHw{#?OLxZF9Z$%w*UzUu>5tN5Q3J`woA) zo=kbSTH+sk$pR>>d2TN>h`FB$d?55vx+gT<$4d3vQE6qpLm<@jFGDpDNzXwfjd%`g z_)+RQeMed;bbb7n(&aW2|cgP9f{!| zOg#k}kNg58@!ES!6ZU^< zT%Ex;e_-S~af4`B_CgqKeuU4#(>!xJT>t%)=tup~2>qCeeth$2=YITt?Z$pQ@hAP*d_zBeZ0W8aLp%2) z?nl49!5%hX*QSe#yb+|M*{jW^HUm8>PP;kG;2RQj(f-G2WkD{lF;FL z2L0&UX*|qZNI46_ty&Kiul=a&hUDd+b|QK5PkvEd`I9!S;8O|JH`H-MIgZ@KS$q5w!Y%~ZtxS|Dhx%Ywc2%Y%`+$gD;ilu3 z+b-M@8Yb{wZ}1*n){z!wOa8yRL-^ZIx*&Yz-+mDua#1(Z{)q_=_Q$J#06FV{a6J%K z;Am2up7(x2W1jT|K7MPE;l#o_Jp+L7ogRcOB^M(l9jW1>t{ZZW?229ZCBN8Bx}+Pe z^}((M*tGz=1xF<8)*T`2nvdZE;|cnNu|RQ#2gMa169qs09N(V40mY}gpm@9simNYohvCkTJ7Jh| z*)N7GE^7y@`q)+zH;|6_Qh{MAF#Nur1V0JLfR8N=m&1J&-@_;-o&@5 zsV5DmiuJ^8wDtLCJ#pKB&ws}fEJ@YeW8`8?nG)fO)b@pF~}SW%Y?0K>r{tuu^lD_phj<-J7V*Uv8F? z#YU1)lo}ze!lS+MzYgifE)`i%^9C(;S=n5i!ul&q93W*n_{xluFF8 z3adg-8kAg3R`o2aW%zH}Zu+tEBe5SVtd@e`{PyGh-(X++NHXRrGVvy5ChTj6C4tj& zn2@>WGuYRTS%QD>*1qO$tnrv7<#)f0E&E-oQ+XQGqA@KRo8f6}h0xfiNAVuSG0U-T z8#{7X?Ae@SmXJ2Tjg4&64&8HD>X`wJ8PHhAhf>e9LSwVh*geO5&th8tMt&gO5H;Q1 zwBnfMwEw1q|Ih`GLDO_XbLw+T!XJJSoQqOwlp>eC($6i{Kl}=_Q-4JBKYVBjxH@L& zH1uIw<_rw{OP_mo7;qOV?Qd`{KpuXu5@#cnovA`72cewIeR)@TEx@!9pZ(VLH1v2Rd#(vl0N>-_Z>3Vv-=BS9PeUME>K z6YDJFuBmei(C#0zVW3x#65|C+2FfKup7+_Ew#**RHlGH>SDL7apDVphI6sigo$|Um z%<9n%^I`6shj$1&T)nro9&EKMuw8MZ9fSuP6JEg62rpPJUJH#Emxm5l6?_AZ3vAl_ zK@(uy*)R$)h)!p=IciK0iMOkwoV9{6NZid?hFy;cdtkc={w@hTpr-I;^|*TX_2 z=r4XC34t{qSjw*ZRannmj~@Q*2YUFOS*s1Of6>Dnc(FkkUxoe&oEpHt{ss8gzd$kU zEfFq$A+dS_a8wKMRS+@{e_)x^9%ry4)BeJT$a?ZKiO3}XZ-?QCu6Ap-6#|4fxs0C4 zmF1aSmSgRHkH6#{IzIUWi@qZ&p$Sbiy?~piM|~Rz!IFrTcw3VPywwBV<^^BW;TQa| z4qb4|`yzuaIJ$=G?tpL4`@#X=tQhft?*OV1$0Z$Io6h;;xV7uK=wQ?Pq7SU{=-Q@k zp^toD@C)yA?S2t_GAa`I)1R_9&M$m6m*aF%YLvUfts`Fmg)V?X8HXg<^wyzP%&n%6 zJ6vl%Wpx~<>1IcE?2vdJn%1kVPnm+}{7D-Y&vQC{?;)1XbFn--#Mbj%Ow?1#u! z5ofDEu2;tQ!A|{nZPR(c)eaDQL0S1B=R#} zZF=t$w(=IPyJfNkcf_c@f=^fz+UsUyj|kVs#cR+RpD?xDKXzl}oGy4L{KlxiLqB0T zDAx_tEFY+SK4JAYf%+Rko#=+@IKp&+{#&0Ci1`#=!wLhrFuqp}D-Yx%-H&&6KJw0= z3tx}95zY}fgepJimCC~ol5v+5pP2_)u!0Mp;Fa}KDSX8fwVUSB3Cim}b#Ff?ok_$W zEW})W?QpFo1qydHRHeuAypOlBYy~Hs)^^59`651M_F{x{4zL>G1NrM}X*s%9Z3E;- z4lmIdA#3ke8v*}j2W{DamJMj+&oaOVnynfu&v>DeU*Qg&%%wg&8TQ1R-|TM!pe6vy z0HCWrJCOpsQztGz71eBR5I4kU7vm*XTo#O_SrN|3sQrmg?Z4v&g1C=af-!k6(FHQY_-*VSmP@>&c;ZHvG;>HX-DWiS-6>R z4C{3(cz+DKDX3ocEaBE}d0&MgAq*<(nF%Gk;hKwfuaqsUXALN=5$7rGv?S6?zCK6o zkj3>(q2$8-QDdl*OARcs$DRA7UBT8Wxw`{b2$9R|LyBYxk!FhYE$Yej37jG%9AW)? zat|rvg~&E-him*AHoYeop}I>*d0Q)O!&qTYPOAzMQeXC_*7xM1RXI)(9Z=OUJ*9!pl3#kLWshPb1fC;HRys2e?pnFwFJ&y7l^g> z;-ZujgwpTd)#1A1O*Z5o%^>ln5bZ)m>e$Dej9>=pEIH6guP; zUp7_>WwZU1eWy#=-wv?vZsXLsZ*<9V93avp1FOjb*7RVccuy_KhzDW2ly4Bq$D;gs zKjkNPDQ^?XhXYH_Xk#y{xZeFA=~AdzC=?(NB6m=iY?F|EA)+f)dUq*1M<{#BPuc$t zzLA0xg|c;>%l5ZMpyOw|6drbfjqA;+lfLMZqZ7cai2zC1jkinfT}t;pz{+|{9yP{Vc057Z!4;OHSy1wvlqSb;;?dWQ~0}^~l05IX_m?csw<* z>$F?krR#V{i3`~^OS}xf87!RE1@W4FG@yeton_p(F6Fih<@%z7b?9JSmJ=I<-}g#t zZ}`4eXc5oUa2XGs{{^qd|028|A1$0P373~8zV)|8rtQP2zz6JfsQ)!m-VZDJxP9VE z{_XoLwqLg^dB{FdtG2(-vQg6Cs=Kovr&s^B*HqI7JN8Xbr0D4%QM-QieRjDY7vZl~ zq#E17gL}nY9d>)u)LeHKwC5tKha}m7ieb%7v7V|NvA)6<|Ppr{=i0S)x zTO)L@*w=%H*aDRFhxNAp*s-)%NIMoa;H&3BW2lgZZb1bNT@{A&)kEwuFr9XDZKkrK z!!_lQuYPvtJ(8F5pS`qOgt`fbSXLMp-pw8?yTahq14sQlW((t@JRD@h%=XVgbsnA| z4r=nm{Bw}QlkcB{T9NPNpu+w&n>wkZZ$?QIna#h0(R`neys0~)oYYjSELM9(F8b;o92|fQ0YF^)t&>KCb}j_E z1fWai4Md*tJ=(ev@a6B>0KCBiT%=Ve;GJOm!nDEYC{8^VJb)XJ>lVvEP7=j1yg{UU zVy=9&BMEO6?s1$s;K_xvzoVuvd@;n*z0D5y3$)Jal+XHibhJm?(mvTw;L^&?oH=##@o?aL(U5WX9`EF@651p~M)PhW z?VT8ZNm7XW>S4@LGnqXwko${2!lVu4w7Hr+^h!_#HtkvHN*1~@Z#P-3>D;ntH<=E; z*$+qEK{DlHJY8qPE3~$1MbFN@#QSjADBXf9oX_z#}-I6&WV|No^ z@5qUPS%B*~`_<=zp`j|8MU00{hEu$-0oVo2(1V_YcgmkdFTM{ktovn zqa50o@Wjze{ERRtD?T8vl+!R0N&D|+8zVS>#$a|T0xNVHs6=+xi*}~Gi_>;<;UjW4 zy>`&2StCl?XjCL)f!)rs@8UGWZoUj&E*IXp7Yqh#?7qw4-y@}du~T<(32rljv_9PY zy%rX)C8KOPOV^?c8_Go!-XJ?$ukCi88q492ayMOs#H#WVR+X1JTn)RVqsM>mBI@gL z@FAU0H+&~kK7ieLfkW~JBViKN=~zV?$3$l;#v=8lu=`+Zlb3swrH9W8JZX^QyQJ~i zw~NiWyIZ8&cHu+{$mRgqbPuxs5Rh%$_x}Mg;8hM-(t*8%R}A6RS8!qOaK(BM`};07 zAd-vd#m*kxRvvL*7i0sz1vv?OyMXFd?q<^*bR3w;q)~-63!)2~gtxWkKPEtBt zw`D7o`cCwQbQkXHlz`g!>6`i+o$&uXz*-0S@7e$zr{+@+us9tj-H-66*RS45Li90x9o*0B zmrIP{-MQ1$^S!oLkM7mKM4pi2cY3?$+#z*OE_847-cH{5>}ws@+g}&2>NsuM#GQpT z*uc3~-z8IS0gp6e+BIX^*_z4W2trh;g^vb2;IV#-{7!0zuNO!QkZO4ew^%lMQF?uc zBrMBzFw9)oPaHNNBkME#qv8qC?`3M$lf47E3vM^&5r|)JFUbsVCgv0i;$|(Pf z@VO}L)uy9MBuIa%WFhx-yMNKTAvRR9RFw2Lj4SWK=|eCGPBOiylGWbh|19k?l{-}? z3eL1jrj72l<&rYd-fO6287S$m<@M2YdQ>L%MODcfZc^@QG+Lg3mI=e}_Oa-DyIplc z%Phvjp<&1F5LcZ6Wj6S~N-qN8M#Mf=a&Nb&JGP6%uxcK2pky}--22-tt=Gdc7Py<>AG(DpE70g;=H>k1Lu3oej{@1JvYJ@*Z?aZ>~W&3ZATwz{Jdc z*^}d0%Gt&tTL|oT-R9 z)9u^XHa!=aF4D@MtWMoVDouy$#B1H(n94_M`3p`!i1pv*ZE2UMrKYV+f4_eYorQFM zz&2KJKNpr;x&ZF03!to2&^){J8eHuE=awtCdRrdpY5DoBB<1$(?)nyyLpYbJM2nRR z+)om)yJNU}+}l}y7z59R|p9K_?Lko^$UK2Dl*9jt(H=W^gRW% zQg+kR;bZ?n5b1>o1HF33zKHR^I=97O!~f*g!kP>$UFHEY7xzl`S%UKa22=J<50m#3WvN@>s+mIr{k55I*y zRi}q8uCX^_{VNAMW1*bol*0A^3LpH7Ot}`yLE+0dxqKNO8>dJ)unEcm_Ea}02YWro zsEJN15VXE5bL}to5@FXCiRMjPh~|CEX9GF-zT9|LOmD8r1Qu=rm?n2WuWa#xTCqja zGj?rh0;r3-k^t&&CZNQ&@4XlM%F&mqF;G}Jlq|qC2oyX;-T?4Qm)8TpZ z0;rD#tu?eyyy3%?;#sah5q9N4PT$Q?mTwV@(cZ5F2iwP_2*SN31NicLw0n3=B{OZ1Z3J z+m%oK6?(=wAVE6Q{5>onuG{6me6zUxr|e;)P|}~~vN#S9*SH~S_OP< zik0Q=BJbebu}PX8hD}7z*LN%eoI)Jnz)dhIh$eO6It_cUj8AT&Vj25t_>qIpF+)8chO` za`CY*QGVbH#_y65m5d|n-?f5B|JwfRK)7;c!<8!=R~k;pl>hE+fH=ENy%dH(H9luq zuZCGr%^Du&!qdh6Ejtq9_UG9BjEgY%Ui}n(v1zA+i?^?;lrr81r^(LkX`Jifm+nnvJBM+aWC`CelQi&s zp+R}yz92&wzR(B^BxpB!x_fh2=p(S`N)Wvs?Iu9@P%V?0B%gJ4pBvoHm!ZGj+?!uA z_O>O_knGgt((bAKxO(*szz+++CG-`3E{671d8(^>Z=SH(L+JKLpk3YE3Ex}mW{<_VGb?wU1vut21z65{EeqSY|dXzWM4Fo6R|6v!`Hn z3-;NKm%Jm%?+@Q`VD<-W3n%;fKZEhB!@+?R?rk znO2l(`$DFihj_gjSFzOOq9jw`QObAd$~t69gdwldwP*Rkyz(4Ml`5^v%XjT$E zAC^ce%DIvzG&^`};-3h6sqBglDe9iPz_a};AHH`Ov)f^ zh^1lgZO*^p%db)n4i)uRXG^#xIx~TB<}0|MkGUt2tbKztU+)sSKdUqnTji2haBB5R zhwJ(=T;;z9O~PXp(STQ4Ye<#xr=8hR#g2{)?^ZiApv#gKu59Ves4StE=sXFOPrgDQ z0l4n7p?!OUMC8g1#4x{a>7;72S4a5Q&Nhw!HTe>2O%1>lROUAXAqR@?f%Q2CnvhA+nUW3kM|6-tQV7N8IwP_ z6FZwZy##*9r*EIFmk8Xto(TNFmYW&tGSIV(#Vq78{|=Uu9`o$GI@=e^ z%;Oj347tXpT&^96uQAG8Prp6TdA^4tNU4^}VS@t_SQj6}IMl9}QXwflxV|LddSJ5% z$@39-*6|p3`?#Cyk(KM|^9eGSR_39X=e4t&JweLSMsWwmod!au7cWEIko6(>Sc7a< zqO%2QEsN(PEqHyfJFN|AZ93uWU_HV$Ra{4SPNt|MiS;NHKE%^d?4Sud1L9N1)+LDY

-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 delta 136810 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 z zAI<*MgY1c4jA&BBkJ_}XQ}~@y!+)}A?$gwx z(`xvCY+4ao(P`BmUTzcX5$kb$%%)|YA%SPq@Z&aZ1KI|(Cv4ggv?FMxHf>%rr&zNZ zF0*NsXq9Lyq!u0jC7tCIJFA8@o8uz1MQAH++VUT$a6hQwCv95AIU1jHYWOLewje?u z5mCddY}#(L-Du@D&C9z9b+4j^SKGu5XdBSh*t8@E33RC8r)^p}S~=QUo5quGdL7y` zHjP=6-VmdPpS5Y5V>u&Ysf5qj#6TQvK%5#5*fcMi7j2zQtEA79d|280QKzzyO*ofAM_OeYYh^KXoSHl}@+FG==Xs_5b zwF8OipoU+yX-a!WL+#b@Yc?(EB0t%Bks7YBiB$xyBJiJW+O&&kZt;8FrUlRfXm8lG zeQ5j8Ds5VEH@fm}YIvhft3azjds8+7(Kf)>XuiWw4OiK;?f7lS?`@lw zolNVPtcKsQX#unV+Fxv%`93x^TpiWq_-|qlCX+qXaM0$s9c??>CYzR*LbIHrhC?=O zZcoN_J=O4Lo9699o#~^7-?eEQ&^DmGXVZ@KVf=Rl@qL>(&&@gOR>L(m&6&m+E=>(@ zv1yCaIX%d@-Y{%RlpEy&=U%}~Q1*&Orwam4-9 z@W(c-8Lb&@n@#if=ZO2O;ZJPZBD6(lpV~C}xX>kP_-~db#(z$-)k(H)w?wpMmoT2k z@$WWmE814H&up6c0Ers@hr<2u1DTu-w7P0FTx;`N&bH+P)$k6Rb_C6T1o59X(Q_#s z%%y7hbDLI45cnp!*w<-e>fFsxEj`N+P=#<-!E6g`)%615mew2YS^%8i>{z9T%m^R zZQ4GxeSXAmY$6}h(cRfuBmP*E|;iEQfJ=%J-V>YcSj}|je4S#FX@~+{` zxke2)+O(E&)R}Q=_;{P<*SB9wLvyVfKG7!X&heDfcr|>|rn#n2o>SCtlTDk3HVy5R zO$%gF;WE|mX`5Cul^mR^hR@ivt!P`P`qgl=P0YBFVbhIj_^eHvi#8YSJDau*Z5!J6 zHqBK)0t?h|i%naOwjAvTn^ucfi*``Gn0?0gWM#ZH@0yYv*F}5Bo<%KHEM4+7#FKaju z>zrE4i(6RH?$ADYJ`ZpFldSppR2R4Sy@cOeP8A221VuttHWdfO`?Gk5(sAweQun|n zqHXd`Wz&sKyd5u8%BGBi@|~%!?mQM02zhm-kTFi7)?AvJIi{tnTO?Y10xTIhx$tZt zV&wBO_3U-Wc}njAUQn(W16#DwWy!Wu{&D^dZnDa~OPRHet7e5s9`f4I!@r1Ln4tX6I@&Hx$TGVvcnghOLtQ#f1!C+q(+ZW)y!zzl(z`h!#9;;>h}xb zoLzs>IqTwyc)O@oKQC0P%1=(v=iS}`Q_Hwc?AbrZEt8Qz>71L_cBJjCczSRp=0XuI zIH}eBwOdTq9Ia(V?_t~LiHB0!f_Jcj|A)}tliEZrCFb;OZLZcoX2m?MR7*?Q+S>^9_T(wB{)CIY&d6?^(hjS^r7_700esPCqb$)e==L1{z z4Ds6!lD94V_ncmTqIuTYS#_b~yr$`%YVp5_&MR{}k=%CLa{JuR#P#qAQLW}$Pi~0@ z-~lNKh0CASX01EFa_qjhtvr4%v6F0xJzcGhelpqrh83Kr#sB+}_CLX+^MA2wow)jA zmZW$rO1w10x-Pqjb8k`M3Xc82aZ8OD?HjG@a9NGw#MaNsv(F#BG&|2qMzs00BEL|b z+NWY52A==vRzq%#=hEl4(oG&t>Pc$Hn`n#oMOa zu31jI%dEU38tXzAal!M0Xe(o0fj)bWxT0x0i~Ic7)A+vQTH{mQV!pUXbFRvaucY=? z7HT6_jgDW>&-I1c!d1iK%|g&BSEcwje^MFxakc+GP|4?|y!zak3=(FZU-j3|f1M^+ zaScjt4y5T@6PyW|TthV@JipglG&4qDG*k3?Zu~s**eAF^;YcX)!Kw;U!LBmEnD3? z=8IX{hSlzv+wRsrUEO>9U3b&PqEYPmR=f{NyftdFXN#@Ut(c{G){OFH z&0=Y57MI$;vm)V9R+>`LT;BI_EiKdYwuY|b-J)+clP^B#;^KoYR=D#HAiDF#-)f(( zN%3DX%dFrRA1mdV(aK;gZ*t<3Gsc#=it7rsHpnYPjL+{0v=)I#!lmlEAl2S^$$8al z9p92N+vc%)_N-WJ7hYD`cceKbmPCzD=) zyMnpm6+dkaZ`YqGxNXN2?qCpwr)bx#?e4#Hu9efG^}Hl`vL|h}xGy0@=DN>2MXU_S z(MxC1oXy(Lk=}pIQhBG0OsP2O{=!T66=U9Mj))Kah~t`ln$wWq{55>1+xFqC?Mi^}y>tb?ci+&E{F>w{0)n z7wy*l45LK#xN(kc?DDgn-L|8mX^$A+QOWFsC(oR=LKmZ-wrRqJ^6$l?)d9YkDIN{p zP8zpUv(_FCL|>$_<#2#<`SmIBWN)HC)Ve1_lZyv5>>zq?OdOurn?W76)@-6Y2 zoc{d!^=IOf3RZrJrp&4j+&MxmX_=L-->4{t_b9rb*yvxW7`&R;Je~uC()7A8S|K zoJJC=G<9`zipsBzI=R!yDL+*xK4j?So+xh`FL`A@zG`mP zV({ninCDB%Y^@}a>Te6sAz8d)V#kvcbQh7hh@^yep)_=V+61Dsq7{>(x+2y9id|s?Em#umFgo+G5#D`vP*g$j`j-U0dY~BZF%Kdho{c`!<$@8#@NS5R@v^PM zbh@%Q0(0kGFAzrL7F7`A1t=t9-d$FX@v6@Y98xgBAUL+ zFD`u0_6f*l(zp38(NR8QTkv^Tet19}^L{=&z-tvx*!#8gK}Bs1`_IjU$`5I4*C)qB zW@+!NPtW_$^VxZathu2*d&TtsfsmLfcA%8aRzORAG1>qAEHeqk492=B*&D4Ry-=Q9 zE~BmtZDAx>I7fVYID1_#M||{lv$OqMgDe zLrWM4ZqeR)vAb=d1%=n|J3VdQV`=?kv1|3+ceTenjM1&n+VEQ1f49}IuMSu}K}>@< z4gYfdQV!LcE-J1JRm2`K-r~CsUu_au@n-PD;I+KS>TrA9#<7!ltS)$*!T9`*UOjU* z*H~v)GI4L*7|Tw@=Sz7Z+dZNPv)3ic6`by~e9=!BicgL4?`P-ke>!ND4<9>}$?%^) zc|SJOsuZG3I{r+V%#zWGuL4c>EVh+N&uE#PJy6NpDtSG}OpycPqd&}l$bl#2uElqN zuk~~E7tR4MIpF0gZ8!GQerHftr)JatljYXVEL&8 z(GNaSuA$N7m|5lv)qG?6XG6~8SjFFP-lKQ}erzz)RJ_$*aX zoPhS}@g30}jSg4x0;4)+6Y2k9DClpXx-`sA*RNM-(GIj#nFqhIX8+HABYKY;zimgh z-V+o%yT!A_w&1s$w+LF(YVldepKr^rC+TNrK739*rnz71<}cXW7W?jcD~EpIdk~88CR5(F#(50y zBJ|1$v(+^H+~QhgxUF%X#0tZY7go8?J$i4t%w*TkG|rF8=ziK^=0r2Q&o_b4SQ@H- z+$okZ%+XN!R*__miAv5pQD6IS{dD~t z9%PyGd?7^@uq~0+?6=DCoBg5*SaU=)l3&TzM692AquIv$+oFeRe)YB!U%j;&pbK?C zD`mn;L+fbQ)8xQvp&aZ^oaQ%=exOkjdXAHK&+Up!W0dj5tN*9e8@aZ`&)hF2&|*;V z$NiNge)N(1cq86Aer<~HpVyD@NSwS%JXTMh8;gl* zGHOb_yU7v(dhU^ zgPcD%9{XvlQ*7H^lWrAF4_P#yQK=d$7eq-UYbR5WYN;FD|78-s&E`Dg z0!NVb|Jd>KwzzWbaf#utxM&*x|A=gnEwWMe$f9x8-PTs-|M414^b*IAn~AKJQKXp8 ztg~HU>2$N%(C~Sg(39?3247+gd$o4<%{2eBt!>x&>o6&*xT0V!n3m3E9x|6NH+*4f z5hJnATH_p1C*~oC4_d9DSUQ=YUh65D!{p#U#NX3g=kc=(-e^JeRdWxKcU$zf9q38$Pwu@;{sciMEx!T9tj;gNzrOJ=iBS!IgAzq%|RzT)u z8~fqxDfsCj)J8RXvOkJyGNq!*r<0YN3)-TNR@jD4Ka-zF>cmy0^K0r$1!kTu{kk}` z__&-3iFKVYHzdA+`$KNe=5nK^Uj z%sFSyocRS#%~HICF-ka^OI+oRmAi)@i^Rzyub6{z%oS3ar&FMRh8yo}qGR9{*4PE1;jPQ38b$6p_m6d5n$(9!4j!662!@pFbdRo0yXVGRQ44J{;^aK-b!e=@RiBoN(k^f zxxdO<%^!Htht$d{9&`IpYcgD|y{nJS4Iw`m)JKL){wY=jD3U;p=^aGh?h!gF!%I??X;d|L2+i4SUZesMbw=>n=I7P{T8J_IB`$XSzgh zT$4oK-8J4ZRp_E`FBof{S096UrN%g^#yC0B_G(Yeg+{OyhXwX!&qx&Gu~^V$ar@L} zAvo>56YRiD32z6Ee*rf+ybuZp`u7gLxj)Z~hNc=%`{0^%%RQjbS0{S+bf*BNloy<> z!S#ub{WRejM=qCT{)O(X{+|4^*iLeSx;NZu$6yYS&f$?>>40>}dC_=1ah`_n*DTHh zZGW*N`0)zoqO- zm>&pe>Cpo}SB6vLdF)evTB3Lk5@5gCCm1*Te7u>aAWvwEF$vhSS+2O(CL^>hiRO;N z1XyBO<-kKbzZ3P*7kH%yX=a%kOKlW2uI-cf^ZcGc#bkjiFXPoBJ->oPRyd23C}M5+ zkWwIn08c1aHP%?F8eLAai@_Gf-DLP1%z6ak^Sc27LozT>Mejq`eI!?SDlL@W{O?ZLn?K9e{4Bi0B(Xfy?1y^r+SF0>$iiN_B<4k&E`8Bit^PZ~ znQq&rIa*E*rlU)FQ4tmAG(IIzao@L%H6gZ*kF(HRKYn{-+R^5ke`CjM_buD}c5UF4 z+zqE<;B?%<`x0yT=+nMT!us#XvYeY?MPsHD8Ut)-B=&(u7SPD*hDJ;`G;YPxB(x9H zG?m9AQ)9(L=7h(ASdkn@;YIF^9EHH6up1s7Gn~n>Gqz8r9BkVpDY~QlzT>&_>?EO^ zD!!@1J$huDkZeB>yvD<|^yUt^7QESGm%(d0THZDz;?au&FCO3S zq#ge5bV9|5h8nvyGy@HFoSufn8jPRxHOdu#i}^#LL=mjaGT(DpI~6A}TCk50UwYek z(eNVf(t9z$93_!hW;u8$Upp%*>f*DcsGqrL(^M0n?npU{+CRRqyK;8a{`Y@pC(JY( zVbabTVowHo^&EH%Yfc7EuRmK?GY2j#Gz7jW@i^0ieQYLGq+nlON`QGfnsNRcdyO}~ z7Mn5j?7GjrC-y&XYlf34?YN6939ynJ1^db8M}y`IwX2Ss`9+||Oe?rc7Y#XI z^aXC66Y~nQgcoUohcAcbW}9hxnlHJVqebs%CP2iP#^79S`qzro1yWvx{pr3@-^S-+n*3R zJ^L%6)0GzuVPCrJ^o3t)JYuc6ntm`8eHrA6s%O8{NbmW|(D~&MhaGxiOK`z5c(p!d zIe0bnYw;^~d7cqhG?$$*LU=>IH(Qq&zuzWO%z4r>3dW2mXL9Ux#Xh;h~0Q*E}DG z`FcUoa6!Yqe9iCWcsi9AKUT>3F75{Ekh{ zr$v$9becqd>bYsqH(iz+A7;wCSsv?b^ETWI4RDQU(W!bnsMyn@u)cDdgf;kF2#|W& z*j$tELgnWf=xHb5O(7@7&|uT0P8et;+mx1ueqK z5tH+=-mJA4)EM*91=N`BP-EE_^mZii%V%F0c7Hb{bMS5*Ht~tz@Wv-!jVB%#T$+t@ z(^U;ReJ|-sq-&8LTQjX{F1jk`C0zFMQkNz9i!9s@KvMb67g=aj)OVQqLw)<~>)yd2 z#2BkGH3D1XOJ2ZsxC6G2e?dQj-MOOk;_~0bg*KVeBg)ZMr$R_=SMj;rRg|iI2AISiq~$fO-Vc@IviJ? zB5ogzrW83gWy%G|rsVBEgQhe)Hs#O-t;||s+XX)_A-JyO>yk*|0gtf1VaWHRTp1QK zzt==1p!#6gSMnz$ilG>Ah0Bo1ok7o=CIDIdEW_|L@|~Ebi+rRsv?DBVm!bZ9jr8AD zhAZC>b+Aup;_dN;efpl9Dm5pk3R;K`51&3}7niutMR8g7If+Y%&AhdnumdGHw_lUy zp9*moTBV&z_aYx(M7a6`SHBkA*W}lN+sDBIWvNR5s0fvuMH9}Ziig&^EPkI88_U5u zk)IPA|8Z8X*Vn}N0KCc(Fc0?};GW~*rn-RJelo8nGoJ^1*XP94Cwagc2fzaF5Z0dg zam6sCu!>~GoUg#`W!&!kG9j*WQ9<2F;(0>+=aabnP5&0PZrk|Xi4i${$D=2hmfdKfY9)NQJHl%pNfIHz^|d^El4NKQ4>-jEu%Y;(Pc%4$ zr*kc!)$-8ZZ~?9VNwR$i%ixpE0QTe8#2}A40_(i!6C(m^1+Z2g*mM`bzWt0?n}GfK z8L_sJ2Q~=6D^+`|2QPm?puw4Z}p{4i6R;6)jUa4ddq|? zLPKZH0)#9;@aOB*px%jmy?=g%Gs5G^hasvU>@vAc=U!>Uov2q`-LH)%kn(hG1#d;^0(21 z+#RRSZB&f0X!;;|`DacfFS58q^@1gE?hqTQZ?6zgZ2_t+Ky`r))!a`B)kvUvILaB- zZ~p9#>Y1LX>Rb9kHNY8FV~a~vue4|;zWZrv&C^&?r2T*Lf8wUFe|A|eVu4NIi+-OH zy-kf0%P1iEume3~fF#X$ts{Bj&!aG?lf_}k`&k##JKwHo5SOcMWpDkgamBl%FKM2< zd?K|b&WfD|*lB>>SQ~cFpCIhKf!*3jiDI+^b~|rM6yzWfu*)ksV|f1OdwhoQvgZle zqXTT>z-%~osV{^teA)xy@xQo4c*QT8i4#v`;b_L0s-Hm4XdoO7gbO|q*|X*o>hshu zB^KP$tr+Qmup1B_W<%J}_DhgxBdJ<7eUNivPwY}!U1GPrRr6%UCwA;ofL#i(liIKw z$z#`a8cR^!uuHw+h+SUk8N=0IhKmU5{?!+P6(@R-Z~ebqB6#{=fiu;gG}esfmn7E% zz4buv<$95L1@%O{r-0tE$D9S`$Bym-lV99ZwlDW3Fd;zGL7f&|b~*q5>T=-BE%hRb zCZK2nidR1tQS|0f{Ok*?!*@gRxgIE<>4{?OuYIAo`x7S=i+^>A;}{Bx1g6UtAEoWB}|{*O+}dSaxq754wC8|a_-5mv0uFzAXZ#5#*A{kl~AEL0MOtW*h^6*luN?#ie> zJX1mS#An!du*Fbz#ig_8+be-Xi;maTJi~9e4quAfa+h{l{^yuDYIq$tsIL0y?fyo` z&E*N;u>|m#&Lr|(m!M%%gPFV z3mhF`tE?WC)uXa^Y?W2i5t$dDvZ_;#t1<157_cd&527Ynt1dWY(ERSQ>Y2Z5JkHe# z``VID8FF3cI*MG|k&CtuhMqFC|L#(m1^qijnp$Uw|M#TP&1ggO(mCjO?v!ncfh#=9 ze0Amyq~QlY@hyaIEma~Uc}0TXfwTXXa!CsKP8Exk)iOLEB!303x4q(79c<2lM+46g zA@2Q(yXm)DrAfO#N;|gY$1aKG9|!Z`9`CY@*e=(mg5~bQP#pq@A+HGKmQ;~jr|GEZ z*5N)fjQx*#yq)9io`i^3q~-`~u~e(8k1k3KI%wzr-A6^g=9fneTmGZU9D;gpEP#t% zPF9Q^EV(EZe470_s*G3qnKK+J5UwMmDt@iBSMkzO(c!uNXdU|g$%Z9xc)pAaGP^8W z%i62kO>)dvtZ2LA^3XcqUH6J%+#fz;h2f#gG66di&hTQo@Mt4o3~Pu645HJL51Mf` zm_%`xGT2Kmb2n1P|yuaap4ce6bC@(GLESYw$yFXgt!62m&Vk%n*B{uQk4X zNBK3r`JuuZ-*}WGk!x%)RNinYa+hy}cnmrsY{=czU{K%e3;M*P{3dm;TMr80FVqT~ z)aN%Ca&Ec=fApp%csp|4W3`b}L7-F+=#Lsv58hMT4%TY?q{|Y}U{L<4?qfoB`bY=% zX$rcq^HW2@pDq>B+CMc?U9F+=&oJqTTEpc(LxbaMkz-l3|n&1HWA0~0kS!*%^@?*zWsP#~&BUF08?`=Kp7NFe%G}^T?)B)N! z6NZHto4dP;WDuv04!qf~bjvW)FkrexV%2+he4Wt`W>aKpUDynK8mciSN{Vri4`q7AWLKs`KW3`_oLVjLDNUzD(u-SqPMW$boyS>1f6mVpHP-a!5(Wex4!`tU zr#t((KR054Hy`;o^OPadd5BVepvYhrE91NdwDMm*WiQCMF^UF0vLg_d$vU=A#sw(% z^I!4;#mN?HmT`ef#(zz-fAt=~g(zR;zb4qf#tz^#%IEm65%#Y+0|4Q1{%e5!Yb`+- z!GCqLf9(JSjXVFfbvPE1u4C1czoL%r$6Ay_ool}zi$%-1U`6vmYT`%3yDY17*a|rp zIG}<5vV$FQ=k8{8a?VR@ zkdnEkN6I3;f*4eAlt)s$f6G)HrHA*uNB(E{{9(vH=sgd zhxSP6&x34XoPrzdE$@+h^#F@ka2oH+n(ke2<^ao6a6`Pm?vYY`fE}fj+8!y}4zM<) z__ViN8n`Lm<$oX?OsJ<_B3^pV!|Cwru8 z`Sd%j=@0fuSMllB)dGCq9_bQ3{YPs$*CV~Pf|~lNkUr&KBfAr}kx&0n-LtJ<_sCn# z=iLaSR*P{;`zkv%hzqq{<*B8;6E>wa8Y}+7osr6X+I1n^fEkys%#XFj=)kpj^IpdS zrSige*BNM-)CVq>PDLgovnwi9FGQ$f7J||J$t`sChywcj?sR04VOITm*4REz;FEP1Htg3@n@Pv$#gZ6 z%{>4Q{Sl^7x*o}2?S?H9(|Lc zE`jYy7dX*HBDf~=2#fOM0$i0!^W;K2qW25)tFyJN+>`6e`L&`#XHEg3QeI_=UR;25 zOD$7*^@;f;l*mSjY-@>ywJfXe50x}{w_H}fU+lRSlwXGuMh85`hK0c z5;#`ATHwtE+r-BRwstK(bvA(@@oBWhT#HY$E#0;Fv?JXvK6$>lM99%*d^=d=V|Lt| z(?kfA5^YAhGAr;eE*AS4c5DOM*YGL}x{Hem(0{0}-svA~-U(Nja4+X1Em;Oj0)_c} z?1yaqU6@xip-dC{Eq@=)WXOebXkQlk?M0JF7?LbeV^A1xvtt*+%edt7W%TXyE3w$T zGOIejI?I%A!rhrp7e~&m`e&b4XHI92_;CI%=K*c6;$8ArPXc8nnkIUZwEM(K(=+?> zfTo9Ox>{Z3Z=NNQ%LCyrk}t36YEI<7V&wY+w;8FSCe?V?oth&kNp+Rd zP;Aarwc z^<)^WaM>y?-}ZIc>Ikif2HURULS1R5%PKBVCftq8ynVTlKD5G#eO7n7i6!~E)^i2E z&~p)cMLm}bF31Igy;Cmgxr%aX=7K|TxSQBdzFa^bn>mwEAI%-Bmrld^k=`~|mV@Nw z%LQ-4h<$eEpTO5i-iC#Iox{-oqNWfgzo#}d*UVt6hj910B22{)E--UnIo%z!A2aJ~ zXv#G-rE3rQk7-pTu$<=i=MQ4P%}9x2Iqo0K!tKaLT%GK^ulE3!{lwF7-ml@7^Vi4@ z5V!SCF14e4W{)`M|6@-hVDHI1I91(cQSH`it zjt|cUiS1%R_i_=|xxP3)^nQyATYE1D7wH~Wc`ur9A3B3DIe3U&zPC?4)t6&y$Ot+R ziBaV>j4H2nS*Gt67Xe?}P1M&`+SiI3E=m-C$AmezS=^XK$|TrnfkW)aNOKeVqUp6E ze}h9zR&M_+Ugn=``vyI}TkN06-K=_OpGbG?!P-y;)`l{$SACa=?A<)Frw;rt5CdN2 zfF-)wM7%-?ufd}vNWg6b$F7x#JPKXf!W6gEl2j-ED8)OFP95T)&f=_hg0B z&UiL5fb(?K#7O~M;M|{f=G9>KW?45}qSyu*(Sz;uU^`I~Wtvxs<(-@7c2`hx(e2&+D)q-zMvMqOA377r!i>W? zZ6AYh+Ad)b-g$tz1-c%DM+ai6)`ljL`bs~*l8~!MR%1Vo@WIFA4dm=JpDhmI|f{a-DBd z5NdATE?}5a!7_sS9Cdtl8g#WjLr&i#j5_7pjo6AR-V=n=2^Fjj74<>1<{d&ej9$#N zBe}lT29NGA=&lb*UTUo>Zo9r_0ak76Fx_p0mDgo?;t-jc;y^4>OvQ0Ye{%zDbb18{ zt4r8CV^7ubi?TDc0btCqCAJjXP|mK5t8`f z`)(IuU@ga1)9f;q73^9<58=DCyo@ykb3-yUuVW|a>o8V~#AlB|B_Db1zpc6Q1AEP9 zvA84Hg*Ud5mfN?t=VkoO{NhnKY7BqfdTj%H<$mt|K8CJ>56BV_?l!*sB7Zxu(+D9V z5NVDEL84#33{zyf16pY|v^Mi-#qOo6jo*KhAkyi49UZ@B!$Mq-&e0*5@SC^g)g)u+ z${#9GB*J8S=f6bbMwy5lF7?8@4TGKK-{s;J?zL;|?AK*^m`BX^1#CF{F=c7h z0f*D6Ij_siIj{G;HF)+$dv!mRik&fF8yoci+&8^5Ty>c+!;-w%`^muu(6-@q;aqKo zL$iu(^&BguPERX$19d-t8*?hB8!v9L?;db%9Nc^W#+k=9_#Qyv>U$-M4KNP8S73Q@ z1&)w@OU8kbHx4kT>Si2N*w#8D&4DX$<FXr zRtYb{@c1;TWW&+sa&hV# zk|{NZWa=HJzPp&6$`9D66IVji8L%f92xPp_S7XvM@eEm}(3oHB)98CF18l7c;ag+g z?WQITH~4M#yVkW^Ip{&y8B2i#SuT>jEdIehhyU_YVfepT&I*y!mF04hAO=_=?ki^< zeM6jSg_v8;B0{l*-n-C-^Et60>sRdd`&A?`o=8e&c_`@$m*b&aVP;CPy80uW8@ZvE zdpMigVmDwM14-*MZ(?K_Q6PTpvh3O_a>wbd#2u@5Ed!i9tjLO+Y*pCMtm03wDf5dR zz6+ag=cXw0jSu(ud>rS+>Uw;ojlYc!UzswD^T8f_IM)1GNEnxH-AlxFhjHSD`?&nz zYPCu9fsg9tS}oQY#+{OeZDpq(;?&aNTiKO|xHOqt7EbSFv4x|tSbg6Xa+s1kZps!` zJeu>dUgqJvlO!G`;bHfQsN@{cY$*nje%SFJe{8MF!q%#+F3ZxdB#Qs> z)Ipuysagp~pb9Ujj`x>Rn^X^Ten~?6R-Fj7?yMec&?B!xm4&msB9X1zrLmJa)ta`X zTN-VM{>>z<63!^ziP97k&%m<6hq(Zq<0(vGS2WFZu$^+bQX!EVv3=3GKDBuhc8J@* zvYQWc>KGBLli?>V=pu=(Ne=!y{Sd&{!`;TZOoXNkMV z{k^(v0AGdn+EaT!?`yA1q#^mKX>+-)^i%%px&c4V0~gVkyEvmcSZOQn?^zmGY9sWN zF|e+B-wtmt)!T0P?g-m=!`sWc+70he?mk`|qZZkZlzKU!yUt;UJX4P4hKLfT9gAV+ z*Yw^;Hxszulrli6E8v%~&21uQXZ=)cdPkUoz7SW)z1b zx0QH4c%|JB8@kRe%7-=su>rg+f4`Znd4%ih%7MK1b>{e$*xrh@owb{3t%IDyA8rQ! zTarG&`xZVD#j7xEmLktm7ddT?S%(HBh7g$ zv59Tv5)l7ys8(F(nYvjtQI>9QM78&Q5c!wHe`qsx7!iNwX6mpzLHuQ}+N@8f>Cg~m zh*(*qxeh4Qty~Tit`v!1@q96njHlS&H?waexW0BnUM>;_&-!J|?@`wS)|5wK8tOOK z)y#uws00OPU`CduaL0sL>~_!moNjLuiz!%C)ZSbm;udLc2gdCyaaJC@Cz338lgO|8 zH&OHFmjz*}tX_pxt5sc=+jy*X=>4d&%c5U~Rhnh(HDt=Tvd$t`;c&>R%NSyAJ4|Tr-6Rq@Y7+^}^=(e3Hv4>>YwPUFI8ZZhQ*q5< zP*Zo8M6pNkx?w_dAKrLV_cE(W2NLP4XeZ`&2P95x6q)VUjl^ul_G@jRQ&$k=B;_Ev z>KIJ)N)V?K^c=K(l6X}mDc%%h>au88xTeEBO2?yE4M3t{74Fr|6RCq^=o`h(+r5!G z@A++yJGkqX*shgzbOXjauW;B2JjS7I&u$b6yka8}`0v|#bJn$?Wo@filFs!m$n84Y zyvq>@@+^qWh%!r7OYsXfd*5O+f3Nk&W1$kubMN_^f9WT8SE$5%nBc6&1ZQz*39x4?esR4(s74v0NBe}b#^lnF1ZW1oP50u#YAzw71db^pFRYY=!rX&KP z#MP_7o!*6-)#ELL{C`4bVC01t8tW`(H$wIRQ(E>+v8kV(Cd8O0+?6j z$Wsmyp88X`VB{ndFFU!)*zCu-u|bphyz`N_7I|xtx8=H!cM~IHkKlg9*wM!!A{st# zq<^DH0#);*xpB2Se$Q$jx%B&Oxf&NE0K(bT%FwaD{C-Dma9*3KrScQ#Jn49gBM$4TJSahT1IVdC!O*^Fh4 z=YDs&<2o6|le1@NrFb+^{f@{vIJ$;?eP?*B{8<6pJ%I}rZRZOUxUlI0Ymh*Cfh)_h zCHM*5^Lzmb7+olkT|fdhrq~nBuS1SHYmO-eBKQ5XfFwmzEH;cKP2@s`3VL=-sl<|Q zI|yKx1h#J?=O+{1k!Ot)u{F+$3s&Z{Z0}YPfHu?>mgMI@ijq#?%Z#?6T+(5Kz z+A_)9)b4>F`oi+OZRlklPr@#?_mYq8+|bz4KQZ5p1-#fd?DS~%6L}4wN1EIR^;hXkN<7j&Rh?fY9;5oRDyBAR_q;_+PlHK_d9grV_*eq z_il?aCxJjoZ%8bG!$sR_?6${&RzLi7l!Bif#i!JE6m20eAe}1{VM;7t`PtG8O1b(* ziO!q>KpCK2O)(oii3=DlP{mn@a^JvhBX5i?fdg`_2o9&}){C4vV?BF!66e#$+M{;? zStjCbI_%UW*G^RFQ&1Lb*4Nd%WFtkS`7CNb3qk~i*^#$}(8OtQ+zY$n`@@QnD|}S< zIh1Zg>9#kb%pD+S2cX=GiB7F?o&DtXLzl{AZXwquNGYXTtcc!Nc!s$Yj@V zuoEWBAQI*S1N;3cE~t;?j+q+-lPz~Ei->V;vMr8*zoXG0cu*3zvLfW`1EPEbL-?wr*kB$mz-tatIJdhZw}|DbZ^nkZW+Nb)6`X zrRzu_XB5Hbv4t09JP#wqnASYdpzrfMXuP%ZHCtHp6xWq6pMt$HC)bIUC!z8rRDO@G zavfj!e>P)DXbU?rrB56BcZ1N_z%5KM)pdR2rlP)NTYVX*F9Y>e<%^BIm`{y0puV5q zXKSbSSzn&DzT@w+#$M`^#-cu%t-eCkSBUy%*y_vR>w6IOt$v?PiS4t#QP%qEQ`q`g z*X=uj`h3dZK}t|dEb$77A_hvtgj!8&3Z`*B$#xatc@xm4I7K_=>RWs&;N#ph{?3Y0aD6~v>0cxwe-sNkQr3fLcU+{|7eTJQO^ zLR33J%mBm;E5ramRNEmIJcs^>u}WYEl9;%tYbPC zD$|1n09iW&8^VRK$SS{?L{_PLd{sQ8N648zg9{#I$H7VFu$vPr=fFq-j6ATLQ;<~F zID=CS3PG(QZ$+6C-;(0T{+Pjy_wiec6V_|(otp6$)a_d=Hi1*g@(|8@i!G*bA;N`k zv0Q{RcOty=tuD)5ow}Mx-b^3csRQp^FBs^rGaHd=M5?Tlu5={F^8KB$NNp|X1a2mz znvi<^HqE3c)vr^J)bj;bky?k;I;6JV7VnoF*qMsdlLgJxe@Jb3tLt9N`P<@&%+A|c zNUkY3gXBgeH@?Mm&jQ^hgqz-Cvnkw)aO+zv17ZC&gs-83_iu{}ZO3od0YYZM20*xl z)LTe>_qI6yIB>fWsi_5Pkm?3fxvlN8WZo9lZrSZ-q|PZ=hExSo6>HhGXSubR;n#7e z?{%6yEtA)oG*eVsk+sCGJ!b1#*IGbeKF|C*(|~%pM3jHrcw)j$Am~;{=4>}{?nAul zOyQRTI*QgsMZ7-Je0^aNqfOU=Y)k0STq2OhPRo=^IV`)8Br3&djte25bhC>Rr}k5+o8di1C#9A(0DS;g~Qs8bnxJujn-C~b1>%Q$~IVSw)Y32t~K~3zJ@5gNhmyqsKs|JziWK}G>8ymzw5amSsk#b%Vk4xmyN6u;l^CH zbPhK~)`4(GE^DB$>K%z$^$zo!i*Pu?;qS0i3MU|(@D8h|@KS`AzQa`W5H3Wx@Ew*y z;Yx%n-(hw0xJj}`gd5*s$|P>ItQFzbcUVjkH&*8ME*Sq^mYc+d%R&$id6%6`;>7nb5Ds~dMK3@&2H}|ZSkVH^|5Ff7d5@i105TLKT>KsjNCuj<2-m*HW+!tIvTF!m zdyf?-a}!0B+mh|R1HTuzP_57@p82#x4o?+G#K8_1iR8hRkw=gI!Abp^_?@kIfm7>* z4k3?&2Yin92QK^JoNzgmyg1ht-B1Itl6S*6cE6ayF1}zh>}W1K7ArV(v7mmG2Y#^| zCAjQvAWSF0XP~0FcyR#yVNkI*1HllkmA!SZr`1|%1j~lxfqHo?aUmE-z=`E7weLZX*gN>Kv&6_*B6dZgKi6l2~^kEg>2T2rxn z3Mr-bnw#vQ6mGCgNMch`u%X`?PPc~-m!@zzoVQqBf^iLs2<@!QW8)TcKI(de>+}50 zQYB4z*3G5&3d4ENP$N8_>F|`oc z3iHVjI=PGtB_rZSK7M=|8A_)RKgGwZmyw~=jCeC2uUJNg(lx}d@$ucu$WW34zI+|Q zD_us0k{{xJe0uxUMOdWD-WYecwlJ&R6*_Pd3eZmnl))1V=h8*qir2G*PgO&Er7*ajA| z3^3ynj^DuET?R#-g>cpec4`^mmm^%hfpsq9G_rPt+mSz=(+Bw#;1Q&Pnv(DmdcR$} zUp)N5{;5>oD8^0zq>nFP73th^S#p8QoLs;{U*!U1>k(dGz-GS6{o!3(fU6z~F6bo| z^$Iwj3*dY%U`fk4byPD_nhPYB$CuEH@Z?OZ#@Ps^0V}P@)lz_+)_;iY5V3uhRC-HTf@cUL%}Wb8{MhW*xhN~V!`olyf;kc3 zw=1}4StWo}7P7!h3|>tLHx;t@Om1xWHH5Df;^~wd;%dQjH$XVcs@378Ffgs;{O~1h zjn=uk6Pfnv24!*6Id9cQm<${Dqp;#78yBaqL@TW=D_e=tRgGNgjjVYk7bhYWz6wZ1 z<9qZ*mb{7^CyU+4nPWGy@>N`tEEnP2jm&2?_;EeL>o>B5)!;SdCh+4XR8=B2U4Eky{J?Iu?&O>tECWe)PP+2{S)o)_O+1zEHCVX$&)MaV@ zL$2@zA+MqAHKe`4g$C(1OU=5?9mVASjnWDWQf(>2&A;?hx%*;Rjol0sH?xj6P|we+ zgnEilrf4&ZTEm6O8aHF0*vvB4a6@I+koVeVR=kGu8&qP=>sJIZC}JnqaG?|9i_pRF zv#tD(xN@@nKgA&9=b4hKVDmYw=R}z^kUyh{u9FvVc>>P_{nAg#0?d!H$DK)oD5%6Xqf=Wr3>c?jnL>XBNx*8oghv;j0=HsSaVvW_mx~Y3Z^fj1tDVsEUl2N-fTkc{%2wv~ z4mVb*=O2YA!D>MfN)&BnQ}9*R0I&^P55M~k7hnT>=w0k=Xho)02e2{8cChUL+rE{B zzXz}r`OTEH2%#>P;>T9ut0uY_!cjc71bz4$O%(Y){H>Y#@HI~?S-`YJ4t+6ec@JWe zgK$nU3(CVaUBAk;B2;C5Yk7&fB`FLOw86QcAC-HH=Br-nI5l`pi-brM9*R+gLk=TM=&E#*`ZoR-(MJjA=JwKoe-qW^aVrkHPntGWIU=j1s!h2OTP~ z#a##q-A8BV1(xtaNMH!|?M5zSViwA0m33KSJ4p-C9-db^vmh7IX*zQu(h89l)hVuS zFX+re+SoLm-WNGHb?MCI$b&Ng(VL*B>k+OmV=0?Bb#N=fttfj(CpmRU-n5-{DBCa1 z$d{dmvTh%Mk{_@`o4BChFoeUfZ^*(sawxyNvl;one?^H?%ve|H)R}e2qx*o#Hsb~> zJ-APA6@ny$ldM9JjBv752vQJEu?j&t!s)yaOfqL6oN>K_7mh51v#y7ilF+0goO(T- z4=+V{>2(vrcA;^T=*+Re0lyb4k4c2J5A4jswX*PLzcL935mF>kLWm^lxmJ=Wp?Z>{ z0XVAtXsg<+9EoeTUK4XVmwDWw4D&1E;`=9kfY<2QnZ4Y|%;N1}=*tWboJ0H^A5WM=0@H?g8y}CILjofKJjr${A3cWz#v5^OKCYWX0;54( z!^gwt@B$No4-xza?Hm%ASj1!bxMmIsOcLTrd|W+;1STEvbUv<{LjseFcrG7T&anwh z>ie8`W+PG>w|7~d?h@CP(z}SZZ!UFBrr+6rARXeehoKlO`1=Wmv~Ey``_g}vCR(u<~Gb~qS0^BJD9c%z9BvOO}~R59&xVG zT(r|J?ZwDeyo025(sLy3Cd5sAJnA`;_Opne<>Od2yo+D}3Bd+J;(&tFpmmC1&Me;rlXMqT>_CZ-U07Dx#o~8x5t%Xgj-TaWUSliu5=$bl zu~%Z2RR$I=vx>z|gm+rSq8#CJt5_HjHd@7^65&d#SeOttS;e9j;aXlS1W}-y0m$2E zGOF2~JGqBs$v`N17vH62yP>dm+q-lp@Y}hIx?sgD>e4#I>-c!uEb7uG#GCl|;#t(C z?TEMY@%gi;OWgp^Z8w#lJ&U?jg}923PoG6y8iIHTAD=P{U7Bgu;e(Fe6Jylll1QS=6N&h-dKeQM0H^^AOMD<3Y2;E+tpgBlDc~fIwUl6d^>z;RbU6 z=>dV(g6s>l7QzCpS>7%#ELNbeGJmCffRYX~F5gR@h`*_q?Wpxj&Y$pNxzVndGF>zrkn-xXK@_<$4+sKapT9B`xc96-kslErM2Nm8b!d6APM-9 z77#dry}KI|L`j>6S<*%ixY2zzt*D_DHC*`_J9CuS0mP>YUKF=I=&L=feK)4s!gn@k z52p$(#`oeq9C)*9szfmcOPD5nG3^O9xANN&$HD}fnJP>u&+U<#&+TCedoT*Pl>=Tm z%L5FVAHsg+Y~LPuU?UKYD0eLFZ7rQ#j#s$KSqn-}DMBv%EGCIy;Nhf+gbciKi(p0| zt+t#ndew^2S$sL`1oP}m0!G&W^IADeDhEb^d!az~vZ8WMm8e4)Kg$ae!3e~mbqN`P zS5ri)kmo%XG)qFxq`g$zaBFQD_>!^Lu>~uvwH58fd~q*R?u9OIKrZ|&0TN+aC$T&s zA+vF3%AH`;W~4UnW%KvKFDKcDcNq5Z0vPcji1VRc0CoF-<~|aj>I4$N1jG~gctrvU z;8Mhw^6}jXB!D@H=kW2;1QNg^#Eba&rUVi|BjQFrzAk|TupaSxKE5^q0{D#i96p@m zKdee10c=COjgK!+AOVyBLCJ@N(2@iaKySpo`S`*F5oCY9FUjrywQe z!(elVjcYP6p(H0x;fGjb_>g&jh(2mWuEq~p%!i!cD3N#Nig5J9HKbf~D*uSJyxNHA zw2>81`FJA~hLN5A5S+FY;iX2$8r`fVicq4+$lQ!5(S%%0Miyc0QKMo%)@b)Tmj8H> zfN|Jtt0Bfk=#;RAO$Z;4o%B(sd#ZQNH^u=|$4cD40 z-~bmkC>AAR4`5Tm0c=XZwF?J;MGC&99AJe9xZv;{gmVrAo85S~1kvCwzEpRA}7RIg+em0W?Wp%NSEE7_ETT(DMs5dO%6k>;?29DWkZC-J0z@x#iTADmX< z_#S?6Y>5uJC@0%_kP8}=jBqkasga6rO$Rxxk3b1dUkWX-Krd2;1svjx%Es&Ps$X9Y zD0QG$-F5cUA#S`T2T*bj2AdT&D$H95k20v6cMvYigEkmb4s%O~noyVNV3c+fHZRV9 zUZECg)rRkF2U+uB&d-NK`2gyjL+G7Dw(?#kE^1KpAy{aK@L(yA3!7`g=8(KYI7D-Z z==}6tV~r7Ro_o;d_4vB}kl6ohw}}f16Y%ErwAH=;^I|)&*Ascq9;$%ON_`q*J?dye z9d)P!t#rfjyU`+ruOa8PLs%h=vr~8&YU{xF4qI(DIxno^CJqv66?=yrt>T9Igdawa z92T(?F=4+~!AZFEFr@h~8(Phc8YPqsHfQk9RN{%S7C? zrLhy$T!_zj6MXun9`(s<;L3=pf^AmCM%QqXY&iEs z$rAEnV>=|vBUzBFM!>)OwBB;Wg;p z8WAVveUuCLIX_?E>J;QpL4E-jHuoqT?ZtpsT*HcvaBu6m<9A!g~W51vCYQ63#)}W4Z+AMy9$#}%@ zLk!+Vl!-pN60Ld5X0z<$ZI(Odc3<-sq2xJ1$%7@@g4sX|T%%t3I&&f*CO&gCA0YJ- zVf_FXs7V?TzXbP(Ys8A3Ko&cIY%Eb~v4jbrsc72AoNBCV2u3FeMh6I9r8;vq%4Z*C zsUKqjvJlNLJjxqJXFr04_mSN&I)`lMj`D`lWHOA}5pUEZ7)2u<&BxbGCc`KZ@kBnpb~0}mrQ$;>|6$c+GK{hj&*tOH zCzD}Rh>LfCJm)wWLGb$MVC}XO_ahXn11+*J)7w-x6 z(93Z$br>c#A|#wt-R~Gv!YsLk(zj6hAGYbu+D>wz{mQ;M!QJ1p!OBn3VAV0q7>}`# zPr2Y=5x6qnABgUnB$xZ*+_b$KI&~Y4{Ncw~)~7gmla6ruF;@C1rx|A@P(H_RbpOXh zv6N$D1(F^17fAMxnMATYz{oqsA#dF= zmQLl)A$;x_+k|p5YZo^(z}9KU_x59~jq=Ek!$WYK4f>4J1cME77S1GzeTYr7~81hcy1bYzlNs8+1#X z>Mxsu+0zy1{VV;@lzMNmU)%bJYt`niegono&H7OFRQT6IS5A|(YS=pp=`>l()q&=g ztE@#KJsubzilsB`3cjx;St6gViyr6~tp~M2HJ27j9{A-&P(3D;og64t`!rug?_Rw- ze}Xn#9t4WEAl`DdV31VrWv>I4_h4}JV76qC^jlO!S=f|2rL#v#u7smYBv!ZnH@{kqrD z=_w8MYrZ-Gq<;!6C3-19`XqgSe7OT(Sd5o6TqblKTk9p&%bKr346m|wFKKjUbf~2D zpAvVpAv!<3LZ=u6Z(}srKbpkH@FcuBqA)}o;hDICk%|`wj8<2ampmm{;{Z>^B0N}v znQG^ZSrcG$j0y+k(Ym&)o?roq#Vve-_CEBW1mEp6xWjMK04ovL(ZSN8K#aJC{WMrQ zagZK6)D2x@F0JcwBT|m`md1#P=Xgu~WUc7f*6VDyw=_i7T#s_~tjSxtG$J-sU5aJd zQ1|3%h9@DR_l3IS@1*>wr@wKJ0MSJ)@P_+C-UCx68*ab!AlT&AJs$Y6+`FW~vGy|G zxC2Fp5^mNKSUW^V#)i`798Nz0Yv0YB#FC+%1QsDSfgVXB#oi7a+pja3j}$tNCwjr% z(xFpCG4kcbC_FmYueF4Rx%N9ms(IzB&5}D;O$T*V|A8$StC|cdF7^%AhJ$l-HlgDM zF6C~iN+nR+UM}TsDwlFME4o`6C30`e-O`0YvA!e$vA#;fqd#xNZqRu2cD!$R%jPbn z0UUHSB_CXKl`U0CNBaoUGcfrXLzkuY)+BTe-$8XM>CjAjKT4I`A8_PmsrQx#zykv| zKd|%XQ4)z_{oR}XcDw(R;4$J~f!D&dee)VgH_5g@nM)q6*Z^?GomL3jZz)6FLnZ7v zU+H(5*FfQGVETR%mA=t9Ko7&K=4_RlafBS?yv#B#@7xM#J)1Hbe0;7T=jWy;;% zyw&I-srqhy4Kuty?QnIe&t0f<2ZcNGF9r`$G;N>OE2q zDgQBXxbQJ?ILoW5ZAOl;rgO76>7={X#&S9v#M9bMJI#Zzmr;ZuGmRG7w~fPJUv zz%C<9jX@2*)&1_0s)y>c|}S|K} z=39Z#l+n*<2WYWxED(YgJy((h0@X+33%I8qaiMVHaA-6h)wvQSP`MLb;M~r+k^zbV zeuSWa*wce)6>Tqe`pl%~a>2PVp z{~cbV1EmvXeqd(54t6n6I+PU$Lb=;N1cbC+m9z$7kU*zhjm!599jkptJ_|}+P!MtX z&&cBu6NVlZGD50TD(}a%`TqXkp~_%v010LpBcvfi1em*LEA#ITRT>`0BU8AcUa0u^ z2&r~v+f{6E9Hju<30i-waC|jtkv7=ejsajipvNHZL~}&&>)Jb#-4ItGE<=1|QhMoA zP-XubB~fVno&=8W_)W@xTJDdV0NN0P>WK-G9+Hb@0`nLtEe~&n;%P-qo~Wq_%EobU zxolHDp84FsfvO2wI+Y-lz&)MP@c+B+SfP;?%hWeuN#0T#lkMsaO@lHdo0LDn zpA`j5RU-3M2TLdNFzx9iGbAB`KKl=ZOMs9#{6WZ&z3#aZxEF5>(8IBCgGJph4G0tP zq}){3+L_Za*eCc4a`!hJ>{qDoOcG$(Yh#7?OXtfXeBI0uzRWE|n&1_I(hIhG1GGZ*yF10|WAk;2e%@}$Zfbp~B%g-l2%rUY zmyVLAc}MsTM0f(mlxJ-v4tI`{w)RgZ#lpdu?0XggDz<@!ZFK0tc@}Xe<{P5nB=?Z} zMPew!BFmLK)vHp7JF`M(phvPo*_4N*swh*t1igkOQ(R3TnB`cQvwo|!eR~q=?)1y2 z+)C{j#b8(`we24Gv7HY|r^szkJ0FsU1SArVp&iJJ9u(lxC?|ZQG!`>jI$ma#l!DRH z^NLzgmtvX+is^cx{+5%J4S40=|**d8tovTLBBW2C9}Siu-64g^6T!92e_MyeU2 z^Cb)OV>ifb>jIcNUxF4^dopCKbV!&mU5MRJ7!rPh*(~5kW;5oZzd?iiM$4eU3H{mD z&X$jr2C2vUMq;EN@9T;0I^JvpKN>(Syk`!2g|fP_(ovb&6W|G&FfTOxQc+i6%6Mqk z7Xl^v$>_I%_=R6O(k0bv@=5EOhhsr)Je-!}Deryxly@XrEof6E@<>sx9sPc4_(1#z zwFlk_ze`R8784?<43!ugNYIFeRm0%|XNw+@4&a&Pfk2*FRy+dpTmZ?6ACY=zwm%9# z!=q&34$=@Cu69#OZuN(P0dw9DwomYl!`T&TybdfYh+IE!TqM~w8H5~&-<$I^`A@)b z3y;K#ED*NNP_$rdMIiIO}Icw|&8v79{L)3DOr!w+{Ni8lW#_kP~)N$v)^ zryVD^-NO~`=quZF$1-xn63AxK66{@CLX)%skT0S4l$RDro0fJ$VxE`OSQ zfcMRLI;;9va6_D%u+!tDDWmi>n6;6nr@6HR;XI>gU+3+oGhSnYiKmF4lm=EjUaC5r z^%$%~pIi4N?+-RCH10P3%NV@>^8VfX`N`fXopk&EnQ3tNWTaFkwQG%Yk7KM9gyQh{ z@zS~fhht*r1nC-CMhrMDhOM0l)s^5s9{mIJLHdL=UYi3E*t%uynSA;;U>VU(1ENaPTMO2ioH_qF+v)^tDJ-{<w5dzd+oK? zkI!eVwbx#I??e6GMKV^}jg77K4iVDD-p>7)(dK^4>J=mBySX2m!uD%%jxPycxvb#s z0B)L0zKd*?gjXK3=Ety(GakPtMpoJdTrt`Lu2|!LE|Vt0n|>~jPJ|c7%8z}WmW_^kj@jGx9GgTxc$=-akJa}-Ec-R%;envqskXxd*6wA}*YWrO zHy;DvF)bowiXQ3_FR$9wQ{DPwR*y&I+==bTM`X3zSkdxU>xI&bcN@jgi>BW@;cAxz z=@l9~C)j4Zq*p7LP3Hw z-;~x^I(mx#by@|aRWP2GZVo-IQFB~Nkn<9v&)M0K=>c2JxvA(0Ox8KTLc_pqycK14 z%F$Q^Q4`ZLQb_^J)UB`g6 zY`Hw>r`J7&i$pbC+4LNj%59aOZdwNv%F}GTAKR`uVp8*ZMA8tNUQ#xDS%} zK~?@d+TdjV2GYX^^pY$bZImz6r1CT7VesK7 z8#IgQQu&VZeeL^P_Qf(Znl3q(#MZjJm=ZSM^+_7Pp1$64B1p_`G#}mP4(uh3wwwpB z-c-Z`giEVfL6|&##=robU_f6&h@GRy9H2!H46LGUjm>c!OI&In&|AY4^Fv#wFrlGw z)k$(*%+X^!H9vM_bowf~{=+Cl-y}V$1%&F(9y_Wh%$l}QZ^)xZ z;P{dA2aFRLM%a4iEG=PIeA&X*g1xObt$$G1(ywys|#lfJEE zjjZCP&t*~GcoV7jO_tS~T`%3b_gH=RYU!ZaWt?-cWt_7PrAQyUnlxU2O0#-B#^{BmIDOgiQ!>%imEDa@Ut?oD%Q|G9Qb8po%6!P!ntyjIoZ;>+jb#B^_(9`ftB zhvNACfu^t*dC=W7#n&;WByRDG#^^<)Gw_a{zBM9U1~^AG-C~PsT4O$z6lzOp5-F4X z_|UScep|XUYj%A!0VcP{*Gi{(|N9|prLbeF`Ggi=p5!pi>Hg7Cbi&G3w+v~X|83__ zGCMFpi1U4|aRpcpKEaQQqp?#)s@1{n>i-7u>AfXoJ>)Ur1-mjV_xvKHz=5 z%j(@#@3wk}{Bp2&2&HjM4A)}ny)I(|9apshF`mxAz&CZ~#U+zc@@?k4mA4o?x((P4ae($_F2veqwb z`tYNVJNgA_mAKV+Y^WO;&=VLNy!4CX*ubTqJ2r4VR5BKy-@@??VqkZ9(Hu5Uzg4(2 zHh4NZOm%(QeE%wkG2@Lnz}mP@2F$z>Ws2)p>s>!BOP-$SA@%)FFkQ6EYU1epLj&?I9@=6B4zhn8tQvPm8d z>b+@t(986I_iipdXtu59-J46imr4%{vgvX3#i3rTpfA@>cDR?eG=3x8^qlk#{-#uJ zGfyL*u~fdA>ILRbUr*KQmoGO)-bm-}?(5g}99N19YxT2vO2Ys8PbnS}MjFpp?p$ad zoKo`3DN|Wc8!M&W+a^kCRlky6^SUW@_a(h)j&E^q@*Ss%`%kZuV6**$Smb=3_>OOC z$>R9OXtd*XOZk;_3+=x2<`O;csl-_+{OrH$>bKo29SD2o!8nSLkA4 z6TMws!I`7e8$EntdZVuB9r5TaR`6#nDGBB&sXlKVYlwPB)jOd+kDadgc4!Tsi>HyFClMZGjo zV=6K4GnO3SJ?`$&9P_`-(OOk3{oS29`L&qNU$U65Ppt=P^vShjiC(scZ^V=((#zO9 z%Wkx$R=*M%nlx65h6|rxHyRx%#Smo(?9|H;*r}JnNEuEa_&pYlCx`e>y)6Ee#EWBB zdvrVTrujMDa=dMRE^6P{?Sx1yt_e0x_{Dm*MEVDhS#c5NI?m^0dfn|^8}@!iez~Lh z<&xhN(`Pk$Ef?6z$*sIoFaMjPx#&4qW41`QndHRTq~;_Nn``{IeVPcd7HyF;=XMT! zHd=dZ*{OS|ZnPfRJr2HKdbMSXoI8)RMq6;yzI*PIrhh)Fr=zFKLy#-R621NFV?}Rf z^A4tZqw6Z}R|?p6zhd>+$_?27H6EBXvFN(MR(*w6vaawO8CQ5M>xy-NXOGUp)!rst z^?oQ_^?s??SFTo%QW;<|x{j@M7+v*Ml9`TU>tkah4$p=i_1vo#@>R~liL;ILSK}JJ z@94QM8NH0^k2TMae$#AXyc(o`4bB?grJp;NR|DH~d}sK2`G(QIjmRNwWx|53sn!om zE51Hmu}2GixW?P%!HV)EZu4>d5Tws4>}z2;FY?Uu_;h>Q@#(=1lQ4xN>zjHZlL$-tN|^4ZvB7AX zc?Rp3E4V*uy~?uw-7M?hy};&(*@Oso;5&cUNiL3~w+&153wNeHnm+!;Do*5qG)}x* zH?nRrM+@VgooON>udkVf!xF|H!P8IS{(#NFHP~S)|LZ?r7gV9&ZUt4W6h;$Eqz;o< zt2}(&IQqEKm4dk5J(}b#KqnL_t}rspsnla3YLLd{*iV|L`E+inzN>vXm! zlC*OfZBB{5pLC-}w=osbLw`Sh@5``oU4Ly1J0Q(y$0g5w9WV8-QznzGRA^D-O_F+F zKfmEd+^OS{O++@Wv$|R3Ov}xQ)Dd1cnn>Q)5?OLxH@j|dqj7=Fa~?q(n0k_{UPVve8@66b(+a>2j416idMd;XtjoHlfIUUR^G>NohZR4wExNCF7uP-`&q^D^!@s3&e$#O z*wu34N~vEJ8D$oFGD2LBG)@sxoWD&l3(lNsUO2k8!(q; zx=ns(bOIi6MZYAEO(r9*jIGY-lP5iV;*uP}B{|6U(>9^&{AE{1--*kg6TTbB>Y#~%xteXPqPwT?B9!U#t3|?D&!9^J5B3rww zkW={IxYeT^ zsf{J8Hho>~1-4#jvkt$?^|=&NmA2LU?T~JhjOA^P4O}|ftZ}dNK2dd>(N^7Nt$tnl zu|0+D`kvQig0y>?b6#$VW$nav)4$7|-?oO3zlUX}fGgr)#yg|ykC} za;7#>nZVi`JJ$HOWT0a#XT*LmiDkfLY%Tl1TJ@GR**(I!k9<(y_LfZi^5)3zZRw}% z4xhHS9X?&3en8e})5a!Vd?eDzLQ1FA`yCl%m&6q(=}LX(JF-Z+SJC#W*73dKI%COC zF8qb37$08eJJxmjjHqUvajQN5*SjB*+vRA_?c{c@Aj~v=%iBqF9Ggt*;rdFK9uoh( z2W-P!t)}w7ei@j~5`&hwgTEO1&N2Nj;}~NX*hUx_M_ife+v}Hy2N{`1T=m-~J#4Q1 zSo1cGFCMMr(_02D>w|-Ee}}o==$f-EZz(&6WF1#y;i=XBFCIRzo_$xQ*g2fxM_td9g>oLc=|^NDJ10=PI$=0-NPnknBIJx1Ue z>%l+Ela3R%9_i$54BJSjb$grK_GPGxO%HXkS;Ib%@peJv9dxFC&j)h9jL`2=@)!pS z!XzBKNuMyR9zHQ7=8fK^9AC$TV4eQ``i%u+eW*OjmFVcY`sx#sAGf`6E2!VjtrQE* zDN+3o>9<+j1oA(BL;0I-BLhy#K;M5oHzP_v^X(=2nb*(T{`U3TGi&8Zx!!(w*4WgH z8zQg<$z$mWjUky*JTbE%(kN^a9Qa-jBV?Z7*x(R(%P!N1C*jwxsE=l-1!P0vh9 znXKQ*7qxRIpMt|u&eXTI%Tj*rYBsOW%+@mr;9R?OoRO|(Z?f{9?O3wXSK}pF{kMnBgqTM|^yz>*d+xLK;oFlf z&)M}YXJn@KZKG%0hjQc1S@nF#lc2E`xv@og-5Ote91?t1#&S;3#KQjWv$8Yr+g9-= znOR*pKLelq>uO^C;d3(8U{^(xty*U_pJ&L;qvhwFu`W3;H{1DPXusLkuJh8v!Eg3I zADx`&vUN1XsavMn`Pujs#Ae;p%|Z>2x@-|P>)vig_DyVWvRN;7%Urus+DGXbYuW`l z-z)Y%_y+es^x@zz!$HO9a8U8J;b8jMU~uvR^#X8Qz-+7AN78x181p`oUUs`F z{_ZpNsUOJz%~)rS4_5-8CMBr>I zmlWNFc65b;uvH8IfwZ)Vp(1d$e&ZBPw$Zesf9||~KICbBNrZ-<%Y!?|7Xy0UxqkCB z%^H7EZW%fZxw(I8$>&@Jl{gESs<3|R^k61>J?00HmVzlTb&EajAFj_5BHtmYlXMjOG z;0nFsiZyM3Ro3zCVzw;~UAikAy7-F|f8_6gIW6S+<&ZLo|EHUNo8Z{}8Q#1mCNZ}< z&Mf8lI)}8X1jnrl`NqMxwZmxSCVQ;NOG}nc?Y(1x&1Ez_7t*_f^zNW{nnpuRgg6u8 z?D}seM_+I5=})dR+D_iK?&{jqt;H<<@MkGnQcD&QJOx=pE-}Fxjk3;~dWk}JuT!*Z zYtbcXzIjM(z9fh2#^0wpdRcBXR{TZ3x>o$f8hJ&Uril;rdu|uzKGG&WwB}xst|svz z)BF$leCb0zU;1!!+~OU^C_B>>-XZkt;sgCIYr_>ecl=C8&NS#}ZX1-Yp5J!n#Is?m z_n=(j8q%ddjt}XwV_9wY+xL-5)8e^&Wc6iw-%ygU(UNeh+QqGEm-W;ji-i$vM|A10 z0>1aI{{N|WA27eWSWj=|j+;{R|JTxeH8p*C@8x&(|M$G>#`4@)y4KWBWwhPcyvcg> zQ$EVW92?^;HI3uz1)#QOs#7eSZmH$)7hRK)fIv*qPmun`>S=aru%HeXSzny z96qza`tqQhHFuck!)N$Pt%I-BI&`-*FE-$o$%zYW1(=|q%i1+0z5GkNx(?{$eJL&K zkvd1;TbDVT26zLBFN8RvXOq}9Wjv%|Jfxw^8vL2`oTz5TXR_kUN#XG>eNuS5tKM~3 z9+KXDU88+Yzj)aC$X4%nGip6~nM;4?b$IM3)Q?#0K9`5b?;5PFpYwQl?6r;h;m_rk zNp?G~@EsVBLo~y@+e7)&>inKOjdAQnfNST!czSfN{)%QOv(tW5zu9QWlx_~w4Z;bT zkSFp(K`0DGO|PGMi(#|jwsl!+Ggqu$WqNc~TAFEH){4xmd8Rv)?CW2iX856YfBF-T zuUwUBTAOTIk(89?LxdZ#*Xi+CczbA7R@P(btG{y0l(Z^s#Z#s`)6$Ym>Fez4|L`5d z?b6@mB}5$BhR!0lAMheC`j&!Dn_*Z!dG^}$h=F*XG{Pp-!FD>*!zNUI)3*P3eEnDmI*4YXp}2ZC zFT;GzTKs^)TwnMDL)08g{-Z*ap-QwLHK9|e2Mr;+Bq5xU2l7XuCx2{iq3@LOo~**{$Y$dp=d{l-i(SFo~PN5z&gzO&UeB^=rQ7DQ*$tc^xfBC2kRigc<37tYcXb9P*k^u5R z{wNg1pk$PdHlZzO2il7oQ44BEJ!lZgHFPiJhP=@{6oxD@{Fj6>Q64Hn6=)A?Kuzc* z>OuqP8gfXZJt0rzk3!HAl!($%F4~OBQ6;KFN6>L}7WJX4$oM$^cYa(5cjSwLP$Y^+ zsVE2Kqf)dJ)u2PD6`e-CXb7ovA!Z;G@hU)PXLdVPy9UA)L@$WJdE*1d2l`C>w3kw<*XLxC8A)ji?2+qaHMf zWF~C^xgm=;|II^TCBMwg$!|00`lAGsng6o5ieG+K!=&<0e9wxKGtA00&} zP$%j~Bgp_we6g)P_3HMKp};aElX~i_B;~ia>EW z_3L8{Lz++9Q`i;tqibl|dIoglgXW`1lz`IFhV|C%v4%r459MM;bQ<-dA*7zcjL+0( zKWqrsEdASX(l=;uJgfyCN2gE+>O#Hfo6h+^2>ZAHqlAnv*Jm#?TrpTyq^GaVGOb&c zH9ot)G28#@JU@ADrs>g?$1+UW_xRjnFCJKtV|wVO8v)b!dFxWvKB3R|Npn@sqpO&y zkKG{X8Qe&k8;QrV9$TBfB5mqdZW*krmK&~HzLM_PO~hmCMw48Tk&*V;qbpXXtujrN zC)@PR9<*5^QLZeAoKUi)s)h8tyOa|vKqfEpY zy;rK=_^82ow$GtunrK63Q9rtdrp0T*4f&w?C=w;0^!WOwJi`plVqUI^_{6X3RKnPP z1LR52=$8oKO!VzM=njIvQaDnpfMKWaj!P!AeHc2CxC*lbAG zeEM_nKAQFv-bX%YK8i#MC>?D;MQHm|^)m|%8>W7@xk3}iQ9J5Hy%k#h9bSf?YCc?1fW=ygUVm6x2rJ3NS~RzG~tEj zp>Pz3Qqg*}8Er#*&_UF)tA6u#L!0Ik^9EKx*(e{Cp-QwLHK9|e2Mr;+>iYa0hSOMK zFIGU)-oy&X2hB&3C;_FT4X6lhf3v=5ry*6{&2J2fd{l-i(SFo~PN5z&gzVndgfsGZ zTeH6TTRP|czcnm!^vQ1FR8)p4(SFo~PN5z&gzWyrsmS9`^@r*WZqj1+36cBgu&A1C zon_n05mzH(R-1)phxUn3B4Z0igjr@pTr)1`;$`%X7W3~NDR=QZAX z)8wdng%sDuRR|~c^=&;|-#>Jd_6S-3@PNophoMB2jfzkun#7e}{}(t0ajIF0Bd7_rpf+>@>HkVw zq|jjX`%+xz-)JB=OCs>EWQ=yBEaZ2J%uoh$N3Ez7O-f&pF6K+N8rXynk#T+n>AJn&Rj`*+J^|k+Dh?{I_ z_B4#wgu5QLj^DJ;s~dH<{UH^75`L6Tz8~L&Aib_!ya`_o?Q7IY-m!bo;vmGBPMHFc|I7^XpFURhc z7BOwN69dodM#J_0?!EWk(QWrj29b2h(I9rSF}9=Ay0_Obe|90(ES!mS-lQbrO6$894YTfa z#CN*;Mx)IdkFK9GE~uHg1z8jRZt#$GA6fJNZs4aD z`mD7&7N zcPXuZ>@(achmF>YeVmvz#cKZv?3-fs`ou6-7TQ}Q^?jFHtm*o`w}W-dCwhj{tcN}^ zcuX2m22rLbJZo|}&MBQ_u-?*dm}AJbGg$BLH{4-)Bvgn;!fCwoFy?$Eo(UG>nNS!F zVxQ>meC$Amd$mLhRa9-?&=sl+%9QBE+xTl=$^o z*u~$0RBNmsrK&ru9&41z+LWs1SSRaS_pec}D+gMPwQr63(XBS z)Q@Iw;MQ@Y5}R44+?)<8;U2gJmRU>FRI1(cGlY2F**cP@eq(*%adq3Y;y5~Of)dZe z=M${ekE^>Z;`!6;oF%XyURI(A^B37cXE+mjK_5u{i>QCm5*Pz9co7CKS`Rls3R^^B zizsAKC8W?r6uOA27g6;hs$SFuFT)`vUa%A51$zq{Gugn>FZe)T7!2|33o$SbQpFdj z;tN#y1*-f4ReYfgQsoz@@(TyyA=m~_z%JMWhu~EuitVZOH0TEBLSN_)L!l*{jdV6L z;YOGb%iuP+2kwQ3;1PHNo`OB_BD@N((GsT75@x`;&;$Czc`zJC!c3SA^WkQ=4Q|KF zQb|jNi;xwrN>(UnRMM$KNT*IEF^F`tS9112A!i>}^1h8i-j@%(p;^f}r-YnyR!Mil z-3fPR-<|zC-Gsc;UCDc-koR!@Jy|dpGJUwG4>FbD7vtpvsX{)Gp)4|TM92pz$?_;6 zm&YlY#DSz7SPKs+xyn<>Rr8cgJ}hK%o02IMEX4tGJf%U&)B+(>%OC|!ZB{ZZQpmJ; zC9|W2%w7qZvt+j_`J}s$Px?aUGf!?)GRIlS95)La*=%frM<5ZODi-po3V0HBD7l^! z*Lx{hNX-g8;5N8Z$>)=Wd_GgjB3~hkC}2sakR|;}zUCn0Yc7zQzm}(DO}mgaJxabu zy!V2XY(Fk!I~G2@UC7gxN+r*5!WkzeZS#b*g(`WzTFCPUmFzARvYU)93<}wUg$B}v z9H5|=u+*glB`=$Wyd0t=&kE!q78~q`SC#y>LtcG^;q-dg3;S?M94^7s=V=?~Xx;hAU>kX4r~L=HrrJdfPU78x?TpubxWx z9ZG(ml7F9)dlm@kS*WCUzL4Iu>L2t7`Gbp)Zux^wPR!&)d|lB3+mw8T*Lh#Tq_0q; zSExWmFyXYJ3VPKmLdork+@vKbx!|yn3yvxoOk)nll?w{lFQ)%5NMK{7lG`o|xsArL zJQ`mn;=^=&NR5&XLTbK>#3-BGZ3(W7#f7oB5X)s_ zxopmV(i0crk|&AxBo)hgG|2Z4jpvF&a#FsRll3uzI1$oU8U%A3uxEY^eftoIS zHV>DD;WD~adk-$6#28%y+K3HH<2&)$Rus9-i0&c2ET;;;Y~e-g_)X=%X}F<1aoJvA2#;G3r+U^F}m zG2Qws2B2J8Gsm}hV38;+f{9`{bm8{DUvW_yY*{FEAhN{xqogdFx) zGGb83h+)Qqe8vMz`?3)7WxClGKMEM2d{6eZQc_H9BVuz15h6GcNQ7W`5ni?ieqp$ODi=X#E`l>VSkvyTFaE;tzqCnQ zFrD+Q$FCV4wN&$btVRh(uBDD#OC4Dzb<9&DbUq8i!R!~XU#P?k?xAL+De+zQzstUp zV9i#+NVo(ZhD^_H4HDwk5G9-g$RZGOv3K4BFT)`i4-?^bxKjy>^F=oLmAJiKh}%0L z5pO5rOc%=Q3WH%NFyK|E*nPqBYm32&w|-ZPZ&VH)Ja zH0Xy$A%5rpPr`P>X#qZ+O5E)(#ND3I2U>jD2w)=+Ccu?24Q9X`mC48}%FBbE~k``Y~`6F*3 zeq@HFupDB6A7OzX6aHhue>@0>mGE~J!rugGWd1ZV|0oy@DY!oc_umYQlnBTaJlTL1 zaEB5#o09D-Ms_-U9BKaGIdaJ>@q-M9yu3y(tboqv^QGV@9B zUNX9ujPBh5cf%3=?pBE)G6*7rpmdlCyI_wJ3-Ij%d>f1fg0Vm_83&Vb@M(BfiTnJ7 zxGwOBs3O3Q0DFk(mty**)Nm;^jG4)CHy8<*Kr9u5rD8B~3?`1j0x?+N=bl3R z+#ANgIJg0BggfAFC1P=1EUt_7hx3$(qhN6sN)|^+;?f}niK8HK*MwLml~^_n&Va!% z6vo3uSO5zljc6H-XjwCCg_q%w67jA);WWWe7!EV^C!TN{+zuPzVc1FkkMCv!U&Q0% zM`(PH(D)w7f;mbgY~i_H89WS+!kw@Z_P~ouELTD-H^NvL53$U0EVH~79#KC^2(iYaSmV)l*a1oFQPO&J7>+2BWE3LF0lGj}=n1`H01Sj- zFapNHc$fmyXsAg!Y~&J901II`tbkRp8aBX2*bG}?JM4hHun!Ky5hYd`g;?bPU7#!U zgx)X!2Es5H0b^l2Oo3@M)KxibMFc!wc6#eCqG&XVw$b|*45SGIVSOu$L z18juNuobq$4%iF(;4mCf;xQvX%HsfCpeyu*-Y@_L!Y~*CV_`f@;X?IT8XGw<7Z$)m zSPm;-6|9C0un{)HR@e?ZU@z>0!*E22R3mRdI6xQZ3O%7W41j?!3`W3M7!NHeY^1S~ z19M?M+zd-$Ib>`|Wo$^Tfpw74GnLUZm9Zd|u^^SMol4hE?S*}C2wqiU4P(I?#)367 zpffZxU7-i`f_^Xn2E$OusQGv_On@sPReC%Fu7?|70W5@Na2wnWt6(kM4-dnmkWu+@ zM&-vlprwxXoh}pJ`9EtFbc-O1egNTU^ZM2H^Bn9 z1(v}ba5vlwYhfe(Kb=06KsJeVLR-CJ#YXH!fQO;l1gMa zKu0(exM-nJ}0BpOMGLW>^HvVFj#&dte=GfJa~xJPuF7 zv#<;H!2x&`UQ^;1Mj?LT0G;7X=ng%hFZ72&Fa$=zCD0PjMj{)jFdgQ=T$m3x!%|od zcfv|o1MA=+cm%e>*3wvQ79D-Msppqif2xmZNXoBw02l~?gGXvQOA|M<_!dMs& zlVK{%f;n&_%!kFW6mEw*VKuCQ2jL;u3|rwTcp7%YUU(S}DZ%?=Vx5B1;0*fzI#)JK z1b9Io7ytudC=7?uFcz+a$uI+E!3}UDEQG~y8{7`7U^Uzi55l9c8J>WrU?=Q`{qQpV zf87Xgnh7Pc?BO)%0$rg8^n!jc00zTQ7zLwY0$d5xURG5UFAF z1PkC6SO#~%-Ec4c|A|^Q8VNWITVNY(haIp7UW9{iScz=On|5~45jsIPI2U?DGn@zK z!!Q^DV_+Oif+;W)X2U$V2^P`+v$wEOLBI~U2kwOpun{)F7I+f2!!FnZ2jC#QCd89c zi6@n{b3LcftE-%maq{I6JaV$XIh=Zv^rOb zGB4gV^ikq3)aWnN=u|JS?)540SC0Rcj31E>t3y^Kv;aHvz7MX)ptlaqb5Ce=ZSoiTDhy`x#nyE(zt5P%hmg z_XO;Ko$w;;hr@7$_;$p%hfdIi@EXGFc$`H%p1X)G_jFC0@dJFX6kF4#Go9Y`Z4J%QU`i z9N)(AmowSVhGg_I8CBr>3VhG9r>Lk^;*}vGUb(8ob{h3|8uhE`LcD6B@$GQsWq%Xo zzzz=Zq)5D$qr^@U*hvCA{a^s3pgSq(PAsz%%k1*zk**n%!7eh`9WTW0M7R;=D^baL zm7KS`nf+EJUZ(=DQ-RlMJFnArULT?VR|+Cl5OD__fP+f>mV*42g8X}~5dWSBY2E)m zpfp#0#>TZ=X>LP8bE77E2;W1if8)3iZ=6)38W&dM!VlI9@xcc6sbMu0+#A7{3{gtF zX%ga1cSuFvq#`vu@DVlDO6+SDV&8Ek-op29;rlu=t|Q~Rv#?8vx5I^aJ5q@QByfNP z4v@eB5;#Eo1H?bj0Xvmw^yYI3EYcVWmnd;e2ysk7&OgTa$8hN}Tzc#pZ%9ienl{n@ zo9Hf0B+x_x@6k`+qo2M<#P^8U?84i|u8`x+9RCw-<4?4WKP`bVO0-gtRtnO361FSx zXKMauYTkw=+OR}h3v9z8N3ckf634@MWha8}j79!}MgC%`Vgn1D!~!R=z^MxQ_YO#7 zIfaS;nomF9Og|qH;%|a|#l8`i!g3}4W>5GuB|Z-o;`4ANzUUU>i(aL93<}L-SZO|a zLi5?Aw7d5R?e4uwGy4e5?92I7?5|YJ@>dG*R|@bqHxio5fs5?-v!BR*5*bG`z{IlO z%YL5{r>lASxJHRH6!Z)QJ#zw{Qlf)`bx^Pl;&%|gV<)VHw5bl-)Q1~|_%I(1!x1IU zV!5*$>HlZxPG{*(=P1!RO4P}LPE2~vlYMW9sn22R&IZC8VG-P-L>I2;!WAExh4{#i zA7h}vy%hN4VqVQERpR1qUd66b;_v%~`1?U6`mPD_2|n+~QvF!!A2iN?WYYf!IAMSj zE@9G3nDjCxyxgnAr|?ru$#YSS$D*REOn+Ni@wc@2X)hYp`Dt(lOopkj3AQNF?ZKPr zUN9eShG$`y5*Gr6xDW)l!R^G4CB7w|4Qh6tnssA=ZY-C#6_2J(WmTx%KoS9^Jq*ARr3ORjS`;`|1;tb z`|(0qfD%`+%vCIN)eHJ4agFn?ao%+bcAbJHGGG?$f;~#RH9%;$1}e=tL}<=oN^?mNn#)Sq1Y4ALJNeyCelsnpLYtYc zv{}VMn^npXOUABb?Ai&tl{VX1XtQTRGT=Fn<_6t#Zh#vh3AvGw$xmpe09Xeblr|?y zXmg@r8QcbYVV~0G1`2I%5RG~#jk;247WY9mhLv__mC)|2h7{;d3gpql0CG`j-!}^F z`wmL;Tq!h9EOl4A(C+GBzn^_39$qtr=7lNmG7;_$^B@C`PZk4D4g=422A-V^JaZX% zJP6-Hcp3Xa?1w0ec6TEY4inHuzzL<@Q!X^#Hqh=#hN+MY?;%6qXrcMWD(y$pg!ZEu zFdb$p{#vlm{Olna`H|6&_X_RDwd@~f|0MfZ@W)v2$B8gWY5wj)^Y?^jVV6Z||7I52 zzxgTcC;dYE$z`Plo)lVOyV8C-PiQ}#4=Kn`DM(PC(1N%MF7OfB0$-&CcMC0;@nJz5 z`zP2ZelYQa6Cl10#>Byx_&zecj|_QOq4BUn3!x$*R3s!HS~e?fAvIV?4MK~A7P^J~ zI`$hNm)V6^38yiI(wIWYD3pxurzSjf(C#mQg-Q#NAB3+=&3NJbBmQB;J`qN1QboCm3S6g7{kfIDD^uxL@8N?S~Zi^*^? zCS8n4mpBM*i6i@c><_T-#J&p*f+0$aCZT8&TIwRSrLM38l1|JHp~dW0+RtgkKc^A@ zoL2vHTK&(-@aJS0OTl6(*u$Ped)OPc(f=RDq^yiv8Tx3GzmwLa1^`@hm^L= zL1@by;U-uBDabMkvW#A^j9##;6L!M^IHO#nXu)0fWDU>Y5ALhf&@H9NDw8!w-WBBZ` zjW8eLipOw8s+Z7Gec*by0q%zfAvIL`$<0rH=0g%SIhQ_%D3$3wWB9=ro zmPEBQOqqr$S;5p;!PHoo)L59*Sa8%>aMV~x)L2N=SRd3_AJo$Q;XH`N(y>@NmP*G` zYdLQ%=dH!`YcYKWHP4{tzrYf|z!JYW3Y(Rd=|TU`^kM_wvF4*?V#-WRnVAW*m6lZ{ zw5)2#30a(wg@v-P&=b_;32O2LZQ%*p!V_h18?1v3O3TK?*_b$+bhAk}I|Zh}9GDBS zIIqBH+2!>A>D4UG9@7K8R*Rq>oD{O}yuow2hVK}0+CyhdT(t-Uj_9NJ*W=~SH z914&_0dfZ5pwjrLPJ4n;fX_Fiz%I&T4ID(#ol2vOQrqlq|koVuCy2S2I}7dCGhrUwMF0Qw z5jL8Xwpj>mvx2EG9Tvbs$cdXd@i+ED`^_|X6<$+XA^U~w7Y4&nxDqDAYFGn%;6Hp>NY-|=%MMuhg7P}*yl{xwYhS_F)O88Ay}JL!HqO|TPoD{UA1yVz&#M`P_r+Z70d zAm{Dkyj}4y5vIWmm<#h@AuNU!a0jf0HT3^ojcgnypcNj64$u)|vR#<$brN`;1YXA# zuj7i!RH0R-D{T)o-b0Pwa247cCWvd^z%_5Az%-Zxb0NLx4SLZV<*)))!D`q58|nXV zG_%o4Ks)S!y|51s!x5!b8--Twz7caEmB|-}HI|}r>Y`7jW9{i5+ zU@zTyuYz^30S>@HrM*e`n}omV2%YHvZ(@2@rL;HA&<_T|5EuocVIoX|888dx!A-Cj zmckuyHyL!2LATOsYJ^r(r?h?Zg|;tPX$OxA?O-$ew3&UhnSEt&8?1tsYBm^v_AvnM zy9%!0!*E1tZySa7wgYs5uFw;Db3BFPY3wJlp8~o6*WTX9#(n}0!X9{0 zX)M`j`xOj;fiN1z!gQDkE8!kUH`-4(+CKmXl~zwi^<-3^0ka_ENSCO?2l4`9** zO|S)DOMGnyiGPsz2baJYNR1CtEd# zC=6HHA9f4v4^{9aY$qNyeuo+#rpAYP-pvtSPW|Ikr3nh6+!SIGd=`~lPaAr{8NWS9!8VGShyABcZAf{ddeH9Aa<4pXqh z6zp9J^ezQ@cO^`QJK%2E11~D=h`rE`OoJRhl1%?UvX_lo0@`5*#56}R&5=Pkth7Hm z3hj?hFa@T;I@kbD!?Q{|N`a43;G>xOD5mB&9kiqCAq723L66x9?U+4eyg0^qajXb# zfg?g|67>J3jcnvYGHxQ{_c-A_PIxa3X24pwA6|w-N^2&=W-@H{g8>keHe=FeEYXZ5 znww#((%zpYwD)JgM3@9A`1=&RnMT`8qkSLOzpu~L-cM&E6CQz0MCc+y5Bp^BJ{i1E z!tayt`_%Y-YTObiv=+K+3yrpgM%%*i7LK=+!wOght6>9dgcPWS0<~b_7A)M-3;Wb?N1KS1-e2{=uLzaBBrsADgT5i|8x~zQ(7ygZpGC65QWy72m9e=rTy7k zXn!_C8sDF3e1EXW6e~jfmZc=hOFN#mcG9Qu7M{!Ed3KeozxRUX_ zfgaBr=<)54FHIidjq^u%<2=F42OkN392nrhppuD^LMASOu`piAM~j7gv=lZ#URhtm zyZLKKcn$B^^LC6}!-pMfw!l_+Qpt=>LS_^wnNB+Cq_ggtkXd|8kmU+ZkazO4Dj^>a zWbqL|mL-b~63W^F%U~GfmG>;Z3drIkfUG)rkc2XYT$j!MAp65g@@=ks!l>lNqe3#x zmYaB)f73K2pX(O#xn3oA@UH!iTG#_GD*4(@Azvfo*V^C-C3kXs=YBr;*iDAJDd{f0 zyV%9c`@8r6WEY&kk04}qV%dF%o zD!GcvH*;Vv-)XR4qwn)|!kf-YRyzw>JrhR3Xg>I;tKoBnIwjwxWN%Zl{baD84EAHn z{RNPc?&tV^YPz3{_8*5QVHfOy{qVAq^%S_C0@o+QRLIu|^;GDfQOJW1kOCZ}00#qL zppws$-?Jz9;NuVNLjIwH?8a!?Cm~O{ zD0!BQ&kiYh&R@uL^OXF!QOJ)EEBW_RLjL`qC%(H%4X#pytKl#PX2BeIO~}uUN`CGEz2F9z z4|l^VGRP)_Jcz4CaMe{u&U1pfknqoa_~7GnUpA^ap@xW+MBKxtELD8UQVnb2e%Jvq zbxOLByrw7lgi#hdvrnT;A)(@F?BmlEGECXTKBg|Fd#z0ra%~dCvTL#IRxGfU3YWGB zS=y##Svntlm1VKfBV<{hlI4`B+@JknA+6NR8VT{Km710-j$`_AOwWCSEZ+?&U^xYR z3D>;jspPw5LcY6A$^Wzy@;|ZIf7U>bU+fq1;$>Xpf@@r1G>pY1BlLeB3dw&^;(w6v zB@(`bsfOr&Ln~ndq%jWVz&vHpB85SVgK3b058;X-Eb^I~ke|83bV>c@S4zrC?V* zU=iGcrGv0^2s{LjU~x+WCT}DHCA>OFKr;JjM1Y^C!jrI_a4a%%jkZAzzt|3G?O#Me zeEG#Dh|9jfh1Y0w*EUnYa0(a$Qy`CYrf(Nw`c6LIDB|;tElPMM3E|1JBa7pJ5RQXH zI7EaadfmCv3R5ymMXD4Oo-(XywyB| zx0;<{42*-hFc0pARZ7J1@F|XmPb{?xmRiNKZW8R}s|wEhG3WVHAb$!Jz(QaE&x|g# z2yvlJiNQvGLhrEB7I3j!;L7!Xfjb+Xa0@JB-M)==`xB7MEgv0d_i@#`kE>pY6YKTV zY$qA-B;y`3=pln1Oxm-BM=B?Hl5&bCDET}=;kn;V3bc~~bqx#AHKN3MXCcndgi$aW zrbGStKcA|J^L4Ndo=~FOQHX9Q=mULW2F!wF)V&2Z!&cY>FH$oPYUTw)U>Mv43*b&z zNdbK+pg#p;>UAemuRFOzx)WD_NII4eN$4ymp5?@|Nic;H&!xmX7yR%P&uUK-K9BJE zFb*bgoPu>xuwCr$V*hn7UMS!>-|O>XFdT%#yiY(yDyc|iFYJROyjLKUcE<*x-La7` zaH4qrcXu>C#AgrVvv_vnwIp~MP&zXIPsZ4}~Z2PK#(31&*-!bNJx z1S57gtKwCxhRks>5fh8l?yLZoIhQG@nS%Pk zJ#a6)42K{V$Q4TD(iU=Q3ni8&Axc`5;A1|)$9!VTMwqWeX{QjS-AcR|EyRnl5KFv> zCCac&8I~y{yo~U&MtE2WD;ZkJ@c*gk{-e6O?tK66&*6-v#&M~a7($69mRM`3C6*eN zv4#+0SYB#~brGu65HGbZ$K|*j$062=*Lp2usdcPXVu(dUlu*V{YpgNU5K9cT#8OKP zHPlNi<4}hfw8U7yj`#cUkC)H$W1qd>`@Q$(bI$whecYwMT?*W#33h3M+Pn~I3$Pv= za0rLv@Engn$KzGcrQ67Gpc2>NZrpSP_Tk4Y%hFx97{S9P6+iZ-!78 z;!r1Dopg0IxD91sX=|u63hHi}1ygMnOidj2L?P@MVf^ozVPlp967G?3PYWK7!%s6p z_-Q5@Za+2LemaOlaj4e^>h*#8MYtGOVcCFDcAeh40XO3ovt#TZuzz4bYWo8WKEU9{ zQ6V&rL8GYAC~7=|XXEg4NeC}5z(aThyRjz@O_M`ts>-sl#>QH7qREM$Iq@^cf3_S~ zVk@@AK_n!IgoNe=xCk{-vnFaDz`;2DdtnIwUW7Hc4F_>34hM5XI5-m-e2~GfF!U9M zzQVAoS6KGSQU{h}FZRWuWl9Jw#&e6Bwy0@~KRhk|@ccZ4@behw;ykR!22``3tJ$H< z5Dra7h96@1p)Tx>!!LOF7d-q6`TatEzi7r5(|b~k|HG*^7$7hZ4xhr)ad>q?2(M1W zY|KG5eN|0g9m3%_9GMxykv!al)uYh==0fW-_>$49D8B1BdZ?9A4*< z*Lmc11;4J~)|L=j569tGJoYOd`_%^A6o=#XkJ~@K5?5o@fQ`X8yipdy8|B!6opET( z@lnBCRD(7(cymk$Z>C@=mSHQl#o#gLN)W=0iaBQ~RgPb&E2N%V*7ZHB$gu(ws< zZ54RC2Ybz!VrU0LJL<6BpX_vhvNNz8D{wPzG5&ue!EbISVEJ!Yerl4>-A+LTpHlFt z9axLbpSpeimZ?{o%tLDMkQ#p5fQ_bLjWPvm3@*jxcmhwFlI8e2j=$shJC47@Bk%CY zX@;K`{|l#CewyW{k7BF2TCurW$;i^*vGjK>s4ahY)7-5Phc2G#;;F9HSc%(lCo-^$ zfxpi+rE4ZuV+}h0d*^>Ygu`(-!!u`i=1eJH`OcO z_`&ye>o<5hFR@{Ir90vk0ZiETrc^|I_wd2T!$|I-Rwg38<7pDGhWacIWb(+bQeeCIOO7sJp7;aA^c|p4&(JW4DiGNPy8j* z`2Wjf8w&V~0xqfXB{jZu9dE|rzluWmui`iiGH8%NgFCP`4j-z?hidX+FZRXZa!Ux8 z569sn27JVTk9x4zjH)a%skB@W_{saG=mM24R*;1dRXqK2QS;q}#~VpSqfUFWI4=_7yB zNB*`6tIf2sf5U#&|98q1s?(-UDe$HO|9giiQ?;f_m6_ps%%{YidreZBO6>B9b;O`Xhch^zSYD8H`j3`I0WPS6SiVo zoVX)BB<{#S8Q&q}I~aZk!|&+FfjBX?IV8rm;1N7#E|`4A%V+#yJQ^qN@;q@@RjQ3r z8)evyJtm3enIu+#GE9}>-6EiOi-6wkru1$%rFTnrw{&Tar#YThgvI8NWtl^kjSFxQ zuEI6ulC3kBYy+xTx{BSi*j%zD$grw=ST^CjNn{t?mlwJ(FG8;VELVSa7_Y~PjMX8L zQHk0#Lz`ywVSk*smjU-O;NA_m2^n@T!zS{~M4p*A38&yDti~Z6juW3#;m@h?=eCLe zeQt-1GY*`^0UY!w#o|mBXZE3j?o-42)bPF?SZi`xFgYzo22Wz}Bn3=Tz$6AtV!-E% zO?~7Gq zLgI@lHq`iwYW&4EY&T7AylHZ2n1i`E7v~|@P35|&eb{e$otk_}O}@n7FERK_mADQ! z;%2;QR$VZ=ZUhQyXV>61^gxsCfu`z#l#qBJHBLOhg%5Dy1MS#hx*fx&F>G2M7NFig zP4Ay}18RKjDCjGZ>31VgQ+|cVzp@+m82?}C zw=rNoo&u*UaQbSjL>W$(;e$HUgF4fL41AD*4@&=_^tqEmA~y@Gu?Dqqt~SmUjLyAk zI$wtAe3^I-&&P>}RP-SgeTd-?G5n!2EI0nYs+WFMFU{)-iM(EMfR*9^tI_ay#OTOp zKt2QVx1#6#M`Q7TWE_p-a49awW^55BNERm;g@#{&;aAX#ZFmtc;Sdg+-p3Pb zd=AdVZtOu#_P8c15D1?KY=;(FYOr}2#WeQNkMHT+sC zrsD!!glhaXHU8RJJcnxZH8q-BYaU=7UdF5D0cy%8H02YHKjHWjC-D@j=o2bhoMHSI zt68xOi)C2MWyM@pycM@&2X>kVsO_HAc2AaL1s=j9$OBLEz?0YUrul(9HBWx?vM?K~ zu?F>xdHTlJ9sj!HU)RK6*Ti4%GXB5bZ9<^}<||@~5l)WpIvtiyT}4AV_8 z%s_^eFr=gp`%N&+G{JB(ZpJOxjXeSr3@T+%=?2^+AiRZ|5Rrr9XO zBCNorXc(#ROqleaq=%I~q zly@XVdB@@?zb{1j{Wyq2arD^15IyF2q2P3(Hz7r{LR6F=M^A{XJ|XryR-|>TNb9&v z28b1p6O4hYA4i{+@n;Xk(Y*x>b$(JSL&f>0 z)HAe!p#uyRyv`|PXc0q&VjpUbqgf>(nzbN~9_5)wdFIgyT#5>Qv^$OpZZg=Mt?02f z8|^I5VRqEN^4w!QTlJWl|BtyL`XAaV#RVxYxRa~yw@y*eWg-d`P}`)ic9Sb3uBSx3bG zvyLfnx&mj&n1v5>(IZ^@h_=mVdH(1)nxhZQ(Fg95;axIJo2;NLu3f~ni)Fl1#=B*x zlV)v|pWZ!nj{G#u!;9qS`bUoN$Ymb6s*jx2N6ur_tq{$OY+Q1{iJ4wR%;c)Y+Hx^h zE#8JZa5HX+!-yLpjJPEt+7`ky?Q!^D9>M;XN3gY9Ls+{#4nOV=;m7{)Jh8-|*kz{c z`jcMfPx@jvGK<~F{EOd|fAO30?7@(D_K@-aeLn)<_Z#q|qapF5);O_eUP$aIG5_bB z`9J4Pw{d~@b%|G8@QMpw_4nXae-BP>3yG6E{JpUMTb}!tiY(Do|H9S(qH}%ADEXFA zva=#YJN5dVdi_qleix7IDn}LGb=ml@tqD=B8a|im9nOR}dUI=t-rVkWn+)IOnRoS# zcbntr1{dGp;+s>w37O`NhtBxlTzG3;h;D7r>GXlTfjC;$6QX6kar6&$A^HcM>>nKW zA%e)_)X3u0s8a8*WZ<()LiFr1xLtiYYP$Mut3KOG(aq2nenMqBNlTO}VJJGUDZc&;CZ;^=(_ zzR$pa>o@-Y?W&ENA=;iCM<1~8gCZ=!#c^1$C4>b$^JA_z5ixphjXt7AKd!Wo&uz7@ z?>x@~&-1|Z)u^V=OZWU*@A);=H~qa>q#}!M#nGx${^z9gakS0w-lpPvuNwdR)bQsl z{yB?(&X7a)58VpUFVy(x{tz8)iX-!TBJ+D9|7}~;tDy7gAv!-fjy^IxKhi|kYD09b z4$tB_RN%E+aZ)rrBt_IwzCqhI=tNH!_^Kce>@OJJ>4Pd>BT|xhw94w5M5b} zJb0xtj;`i}=;}-?!csqG!weW^(Z?fYFrMWTS)PqEaCV$z@s2;)Ru#+723Pr()X6kHMR!F?#W zktMh>dO--I1;iiE^cAkj*oe)(#x*how*sNi@j}NR5*B($Sm>cNoPeGqAM#`NkU-f( z)8nVZ%%vgBTrR^(8Lo@N!&5?dcq-1rk~rk0hLD%;b&sG(xuD21GI&M?&n!ayHOkg( zqA^MRAtVjN;TtOVjfviCDY$IhuErpB>RMdw0TB=+?k zQN8bo>RsTB3!Va=^au9I863#SJEzNYiR+iSzQ*<2yte4`+M?eo-^n2~WZ_(#=XJ$N zuPaV@J)xWf%4yuWeKt_YY4x@z~#-X2_34U@WY{9L<4r4;%vndMV`(@~6`ZFr>85Ox_uIuJu6Kc|z^vjp@%a?fSC7yao z{Iu$&b1qcVJJmGpu!4`eV3rH=k?Zf-qsIHynCtJEW`8Cegq7$->ltfbbh2;j zWUseL*zUNtY}J!XsBFa>cuObNN4}$v ze8<4}j)C!=<+u{p3%Gt~qYZ8KogObh&v^fN*89#|A^e2v%P)sS`Beo>RKO$;O2<7Y zo$&mV?fJ)Z&VoI-54m{3LH9K})#6et#|p=JbODc+ops;C)6cl>8P`3d0?(+xGgZYl z=EsRu+d^X14s_qM%6-o&_d%=N2mRBikoc!D*1Bkl)keWTbLBr9E&n_Tr(g*#Kn4D@ z0{>;I8>(q>;`!l_c>a2vsGAuQb$K`&=fsKn)R3r8w;$}sZn)}XP$z?WHLO>|ItA7# zuuj|7EpeR7>$%*QxD$1^FI<7E9M?qkGwf&DpKM=^>eZ-jr~Tcix7RhAdhSW@r=Ilo z+TUw`Uv5b3n~C{2Tfk-CavLihSc7ZhM8lYnXh^{{oPa#kz(WlSa1r)kuNmOl`lWHm zu$LJ2(hQu11z4!S76l%bzD@de`>pod>`$>j6_=qe119#ea4!oR_BpWM{&o8|?Q1*Z zJ+UulSh9>y$@sMM-Ol$o?(f7te<${B#x2tGNCS^FRN^}6`lRc(uPGWd#oj^tL-sG& z*R=bc-(MxcfufK&P>dzGAWk%{4vEG}R8XUWUe**ZYl^0E=D3e{p^Wy+=)e-`mr1u? zx{cEDnUZNT(wERph`b>DEYBEnN+s#|zT)c-6~X-lQ`%=}ZUI^njWkkl_It zHg1=2C;AK7=r82U8x*if`fTZQq|;OfG*x4r^YwTYuQ|?u0}OaszAwwSsY3dtZr%^M zc|U?D@T9r%sRAzluI&y?c0m?$%>k}yoFJo#_H*p#q8cAi<3{Nkr8}sAg9>=1!&5*f zp24%`x_6rE-sQY>2c>&Oey_-{<(%W^9hcuh`MqLTzhYRo^b5GO3^E%WS`p#7HH`#jmglfRPBujKQF za^6tR8#?tHI`tb>hSM8{Q(K1l%9&V(<=BdC*pCc+b5%&Zxds{bCc{pog~W*o$bb_J zIB^7z;U&BrCw?uzU(4^;YjHiw@7MBcUl0=Qi{ivkD>a=oBGI`hS{4d7&eY! zyUzo9{f%92af-8*Td= zHT#X4{pK{D5g9ruGIR=iuvcVA=X^)!d`Dk;M_+o!`FEUu=R95zF)9)?;{zB-)Vy1X@ahiA<;D&)vQa+x?I<_Kv<$eSYkPPOd0PnBU1*M z>FB07vl!Ro7CeS0QTj~j?~6iopYTG)5gD~RUg-FI9Kb>6r#L^&`A+A%9G~WRE;1mK z0aFG&a7`H!E^y)f?((xzg$op%m4(^35x2+Dmps>e={DQ2BaX6HxV2n`3d&Z{15E-i zE!d4cqe6(CJLTM2^yu;cBOg%c1Mc`A*p3b8$>D)M58Myj2+=gpHq$(EO!KIa8yK<)xp^!vkE>-+9fSH9 z)X$*l462%;{YPp4F)Z4|qG|@I`4lyu>N#fWVKp72rYQ{K!iTimBlaKhY?R-?0R89j zn*w!#0oe@5VSoajP{3FPj#VKyMA5jB*n&p{=vqT`cbg8mL;HWWmI0Xzn8JWM2JB-1 z%crRE)D8xyNzP;jOl3ed1Jrod8iBR7$beZ4$hV(wKmP=t6js_Ttfb&V9l0=#VTBBv z%dqPVyTvg5W$Zx)jrYJkPJ(eR9OuHjb(*_RvuvNCvY%mGbngs?9c0)chUq+0b~5Z7 z!_G5o2E%4COo0z6aF#ZmwG#D_Sw|VPg+VI#XeNUu<62zLFnys=g^Lz=;4WGuwmDL4 zbF|3Zagn)pu}Cg{jLRqJJQL2?&$T~OhBIYYV86?LxA>TXXDWE60%smm@PL9Z>oaZo zjC^KYvwy?B&YP$6{%vZA{x&U+mb42`$#+RruZ@8?`u2?wefw4%Ep_2i7cRN%_*MHw z_KUF}rK{)@#pxH6X%Lj*`ezyRY#ts#27IeTRA+(n464-DmKI0PPWObb0^d`C?=>OU zZyznhF)og(KF}#X;Hn>Q62qv*W2kfd_#~c+qaEW+j!wl1sQ2%fhBDkyfQ2|8OHtq0 zQG*BZ5FW)=ycHsM($PdXc$}s1NMa2X--F z*LZZnE^WK34)?`T?G%B!X{dA67NH8%sz5Cd*7Bf5n^Em0)C9FR1!r;uXL7L&7vl=N zJ^pv+3m?oDCYUHpFo|nUaLq~kdG-t9sBUVA>J;?;HesS#<5z~Cx!tBawdw9S$}bO5 zeuZJEQ$0Q-j^?ci(Y&?7QCweRIR3C$7-~Kq!DDy^&k9Sa*w!jF+s)G51GoVNSjRJNt)sd*DB~9t@WO5K81r40wB|*k`cRU_>1Cb%m(! zym*+V_+T|2#}kfsJAT3b1p5lAI&mp#x(k}@!c^207c|9%k;eZ8o#H~e z0~v92NpHWTw_mD627I{Ee0T+YsB?X&a}BK)W?F{~8>$m-S|M6we|R%)7d2`YH9Csz z*d-lL4efWn)_LhaKI`~7Hxx5MNX)|3yBf>mA64xX1llbaBt|h_jKWNYU?xLIlPpcL zG;x?TahNpe(xgjk!*=XPag`S<#XQ#GWxN`P=?6oYehAx9h+_IVJdYv=(?t#*91+5U zBXJ^5ibK_do=+dlbHJ1QgJrl1*WhN{f_u<&$b%lBA3PR^wWmW^dj|Wk9~Hb-!RIfU zkaWpMsv3Nxsu7Rjaa8dCRdC<95cB+lOK<_I*#~O& z!6vMZ!-WeWT(}sAKl99=dFIdCaVK8IYjNmb5JLYVJcLKgh?ehv$oD^Z@IQF)KMTxw zD#S&&7*F6yv)%?o00u+=2DajMl;MC3|Dq;;QIo%@`Cruh64zbgx=Wt$FSX(+JROJs zN(6>!k{Y*x+3;*MeO6sF+6Stm6~5w^S`Eq@Yht# z!fa%~Um5V%GAzecf-rwwW24%E8dShv74X;NcmgjVmk$S1v0{|*u#AT%;6$8)Q!x(< zP!kMmg5e5Wiki?E3Bx;aH}1pzapLdigv8&^#oMc1|K5%F-yd_}I9|nT0%xAyMtgc2 zy%?9oi5VU#W_YBSk&82NF3!UWbfZ4Q4fzZ=~Jlo9b!fqVK>v7^?j}#Akq*Kmo4XJQ_DBzf2)$-^sf6;|RptU-@B4>w~ATJ@56*fY+<9vvR`=)bu9H`7#x1xT_n=`|b;$UyI$`4^ zp2c%`2`}TV5H>_{*q}xm)M&#boPu1qfeSax#d)|Gm*5&)i(7Cj?!kR{2#?@NJcZ}* zJYL2suKV9n2>*Koj>j~df>Uu8=Homp!6mp1*W!BIiraA??#Cl|3{T-{JdYRfDqf3& zFP;QnJP8}qZ~{(M(T&q=ECAb8a;aXgeTX8$?!~J*!kKrjijpy+KUd3y1`2L6xzCRMvaDq<${i!ylIgpRD zu>=?3GF*Y{aU*WWowy&H@E9J)(|86i;6=QKH{wt|GKA{UH~}Z(G@OpJaSkrPMaF;i z3LC2&*od2PC+@~3Jc!5f1fIdOco8q*4ZIbHe;pmdzmCI+I0>iY44i{=aS<-YRk#K> z;}+bFdyM~oJ!s<)p1_lM7SG`&yo|R(*b>EI%Qzg5lW+>oz*#sK=iy>pf@^RsZo#d% z2lwG2Jc1|j6rRJX^ENKqxEhBaL?QfO1dhivoPtwv7UttTEWstX4A4TT!m|JGj74%#{bqmHV)z;Jb@?iES|$l zco}bn@S`XWKN^SQaS~3!88{2);yhf8D)gf@xE8nIR@{U8@DLuslXwcN&e=F`<1${2 z!?q}dZ6k0zrr{KvinA~u=V1vh!DYA>*W*^)j{9&w9>HUH3QyyCynt8nnzv0Oylon3 z{Qp~;jR_7+#c7z2v#|sh;4)l+>v1D)$DLj)wRo*`82eF(@|$irzUhYJo9)e^B zj|_WuWC+iW#tAr)K^GWw5wGEmIBZvu?JBa}9nN-lINNz`X`dJ8$oIV5bFyo{)Csp|;zl?P}fW)W)cQS_RZLV+-E2PB2(6 zsL7twWY6Vc0dB%-bp3O#e@?#7$#?gt5O!CMv9a97N(%?wHk-Q6NKkGu`3RB zqeG}0hiWDo5bE}06KdN!ZTmuOAz?DQWqZLb+n(7W?3shd@dWl^e;j_A6~a%m(XHH1 z-OAN_KB%fswZYoguN@!1$$kv_m+i%Q5?K43*MK7eO$YbYxkYR zQ|O*>Umtqr+vl0@#Y_*S?g3xqL7!#{FEac^hWpY|c(Kh};MvCiODx^b_4~PgzZ&dU zgZ)i-&>MR-^HwMvsKy#pqXTMmpc{Ll)p>HoAHBdMS9l6kcBK1$-sS?`8SD z%&?ak)|6viVJ>dO&Dd-FH#zY$Cw}IHZ#4zqY6?HoMn1(9ekQ}8$*|cdX*NolH9@l` zXkLsJnUrJn|}!ym~W)BOwk)3b6>c;SOZL5eEEnvW19Qe*b^D(#C2B81PF59F46=OvYlI zk9AmY;bE$Uhv}#nzor+z##68H)N3`k4UgclI2=o{5HS_Iu-l7#`M)mz*47YO+blrj zv0w4nuUz-5ZN~p`2aY@7HB<1KDIC|9$FEy}xYPo~<=BlqacIj6p{)QJ+Q!f~(=9yA zzzST79oQL%6JsnqOu=g8*%L!JYyo1a1&C$XhV5}^=i&A$E^gmsqZ&K0%Ys8LeTz%q za=}|Jcxy9mL594=khiYkjX0cS_(_JJEXMih{7L6eUc$>3AoAGTJodJVysaW{Yr?lR z;oJ4tfc?h*+XGf6szHYubTneK1&EU^K+MABxDp-z&F$k?@fzN;05OWgsd-p}i*PZ@ z_>_!)JHkT5kvIqEqQ3E4edD(+csLH74C`cA=NjX`QyX^HI#7qF@N^vBk>DK(OtlWC zT8DSI>>VyU?f7ZOPpi>sH9GD1X~%yz#=^uDT!m|p$9~6SzdMSp79=KHkT?qSumDT3 z4C{^mE*5t+V+#)9uoa30Rwx!?8J44({a(7?>tw&z$$oz`gfk%yXL#-m&z;s)G=?bs2A?#vLnCnLkV8Q$%9_wD0V7i?UN!@HA1csC2V{9P`8S6jZTEziyh z;cPzcz*=m=gK>CIjo(w__a@;KWZ-)Ye2;b zed*tq{(T}5bN1A2MPyur}B8?AZ?y$5X^a$o=lD7~XN;vJN6_LTpNasIx{$uAqcK&1MKX(3Fj+K$QsL6bqC0x^F*EHED z^8ZBspD?KE6BaohuB-9&4Y&!p@OpI?ebe~9 zxe`}nJvN~0Z@S*6TEa~Q{&$v@l-W2ROHsQ2mhM)Y@qeq`63S{zC~I&Khb*BKJ`2KU zp%vRKo%G_}%CSVkJz>H

4J>FxmR1= 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 0) { - LOG(logINFO, ("Setting storage cell start: %d\n", pos)); - bus_w(addr, bus_r(addr) & ~mask); - bus_w(addr, bus_r(addr) | ((value << offset) & mask)); - // should not do a get to verify (status register does not update - // immediately during acquisition) - if (getChipVersion() == 11) { - return pos; - } - } - - // read value back - // chipv1.1, writing and reading registers are different -#ifndef VIRTUAL - if (getChipVersion() == 11) { - addr = CONFIG_V11_STATUS_REG; - mask = CONFIG_V11_STATUS_STRG_CLL_MSK; - offset = CONFIG_V11_STATUS_STRG_CLL_OFST; - } -#endif - uint32_t regval = bus_r(addr); -#ifndef VIRTUAL - // flip all contents of register //TODO FIRMWARE FIX - if (getChipVersion() == 11) { - regval ^= BIT32_MASK; - } -#endif - uint32_t retval = ((regval & mask) >> offset); - if (getChipVersion() == 11) { - // get which bit - int max = getMaxStoragecellStart(); - for (int i = 0; i != max + 1; ++i) { - if (retval & (1 << i)) { - return i; - } - } - } - // chip v1.0 - return retval; -} - -int getMaxStoragecellStart() { - if (getChipVersion() == 11) { - return MAX_STORAGE_CELL_CHIP11_VAL; - } else { - return MAX_STORAGE_CELL_VAL; - } -} int setNextFrameNumber(uint64_t value) { LOG(logINFO, @@ -1075,48 +1007,6 @@ int64_t getDelayAfterTrigger() { (1E-3 * CLK_SYNC); } -void setNumAdditionalStorageCells(int val) { - if (val >= 0) { - LOG(logINFO, ("Setting number of addl. storage cells %d\n", val)); - bus_w(CONTROL_REG, - (bus_r(CONTROL_REG) & ~CONTROL_STORAGE_CELL_NUM_MSK) | - ((val << CONTROL_STORAGE_CELL_NUM_OFST) & - CONTROL_STORAGE_CELL_NUM_MSK)); - } -} - -int getNumAdditionalStorageCells() { - return ((bus_r(CONTROL_REG) & CONTROL_STORAGE_CELL_NUM_MSK) >> - CONTROL_STORAGE_CELL_NUM_OFST); -} - -int setStorageCellDelay(int64_t val) { - if (val < 0) { - LOG(logERROR, - ("Invalid delay after trigger: %lld ns\n", (long long int)val)); - return FAIL; - } - LOG(logINFO, ("Setting storage cell delay %lld ns\n", (long long int)val)); - val *= (1E-3 * CLK_RUN); - bus_w(ASIC_CTRL_REG, - (bus_r(ASIC_CTRL_REG) & ~ASIC_CTRL_EXPSRE_TMR_MSK) | - ((val << ASIC_CTRL_EXPSRE_TMR_OFST) & ASIC_CTRL_EXPSRE_TMR_MSK)); - - // validate for tolerance - int64_t retval = getStorageCellDelay(); - val /= (1E-3 * CLK_RUN); - if (val != retval) { - return FAIL; - } - return OK; -} - -int64_t getStorageCellDelay() { - return (((int64_t)((bus_r(ASIC_CTRL_REG) & ASIC_CTRL_EXPSRE_TMR_MSK) >> - ASIC_CTRL_EXPSRE_TMR_OFST)) / - (1E-3 * CLK_RUN)); -} - int64_t getNumFramesLeft() { return get64BitReg(GET_FRAMES_LSB_REG, GET_FRAMES_MSB_REG); } @@ -1968,18 +1858,6 @@ int64_t getComparatorDisableTime() { return bus_r(COMP_DSBLE_TIME_REG) / (1E-3 * CLK_RUN); } -void configureASICTimer() { - bus_w(ASIC_CTRL_REG, (bus_r(ASIC_CTRL_REG) & ~ASIC_CTRL_PRCHRG_TMR_MSK) | - ASIC_CTRL_PRCHRG_TMR_VAL); - - uint32_t val = ASIC_CTRL_DS_TMR_VAL; - if (getChipVersion() == 11) { - val = ASIC_CTRL_DS_TMR_CHIP1_1_VAL; - } - bus_w(ASIC_CTRL_REG, (bus_r(ASIC_CTRL_REG) & ~ASIC_CTRL_DS_TMR_MSK) | val); - LOG(logINFO, ("Configured ASIC Timer [0x%x]\n", bus_r(ASIC_CTRL_REG))); -} - int setReadoutSpeed(int val) { // stop state machine if running if (runBusy()) { @@ -2601,8 +2479,7 @@ void *start_timer(void *arg) { int transmissionDelayUs = getTransmissionDelayFrame() * 1000; int numInterfaces = getNumberofUDPInterfaces(); int64_t periodNs = getPeriod(); - int numFrames = (getNumFrames() * getNumTriggers() * - (getNumAdditionalStorageCells() + 1)); + int numFrames = getNumFrames() * getNumTriggers(); int64_t expUs = getExpTime() / 1000; const int maxPacketsPerFrame = (MAX_ROWS_PER_READOUT / ROWS_PER_PACKET); const int dataSize = (DATA_BYTES / maxPacketsPerFrame); diff --git a/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h index 9e10f115e..6aadebe60 100644 --- a/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h @@ -44,10 +44,6 @@ #define DEFAULT_GAINMODE (DYNAMIC) #define DEFAULT_TX_UDP_PORT (0x7e9a) #define DEFAULT_TMP_THRSHLD (65 * 1000) // milli degree Celsius -#define DEFAULT_NUM_STRG_CLLS (0) -#define DEFAULT_STRG_CLL_STRT (0xf) -#define DEFAULT_STRG_CLL_STRT_CHIP11 (0x3) -#define DEFAULT_STRG_CLL_DLY (0) #define DEFAULT_FLIP_ROWS (0) #define DEFAULT_FILTER_RESISTOR (1) // higher resistor #define DEFAULT_FILTER_CELL (0) @@ -64,14 +60,11 @@ #define ROWS_PER_PACKET (8) /* Defines in the Firmware */ -#define MAX_TIMESLOT_VAL (0x1F) -#define MAX_THRESHOLD_TEMP_VAL (127999) // millidegrees -#define MAX_STORAGE_CELL_VAL (15) // 0xF -#define MAX_STORAGE_CELL_CHIP11_VAL (3) -#define MAX_STORAGE_CELL_DLY_NS_VAL (ASIC_CTRL_EXPSRE_TMR_MAX_VAL) -#define ACQ_TIME_MIN_CLOCK (2) -#define ASIC_FILTER_MAX_RES_VALUE (1) -#define MAX_SELECT_CHIP10_VAL (63) +#define MAX_TIMESLOT_VAL (0x1F) +#define MAX_THRESHOLD_TEMP_VAL (127999) // millidegrees +#define ACQ_TIME_MIN_CLOCK (2) +#define ASIC_FILTER_MAX_RES_VALUE (1) +#define MAX_SELECT_CHIP10_VAL (63) #define MAX_PHASE_SHIFTS (240) #define BIT16_MASK (0xFFFF) diff --git a/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h b/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h index a4004f8cd..7d8d11595 100644 --- a/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h +++ b/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h @@ -222,7 +222,7 @@ int getReadoutMode(); #endif // parameters - timer -#if defined(JUNGFRAUD) || defined(MOENCHD) +#if defined(JUNGFRAUD) int selectStoragecellStart(int pos); int getMaxStoragecellStart(); #endif @@ -266,7 +266,7 @@ int64_t getSubDeadTime(); int64_t getMeasuredPeriod(); int64_t getMeasuredSubPeriod(); #endif -#if defined(JUNGFRAUD) || defined(MOENCHD) +#if defined(JUNGFRAUD) void setNumAdditionalStorageCells(int val); int getNumAdditionalStorageCells(); int setStorageCellDelay(int64_t val); @@ -513,7 +513,9 @@ void configureChip(); int autoCompDisable(int on); int setComparatorDisableTime(int64_t val); int64_t getComparatorDisableTime(); +#ifndef MOENCHD void configureASICTimer(); +#endif int setReadoutSpeed(int val); int getReadoutSpeed(int *retval); int setPhase(enum CLKINDEX ind, int val, int degrees); diff --git a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c index 7e90a19bc..547e346c5 100644 --- a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c +++ b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c @@ -2158,7 +2158,7 @@ int get_num_additional_storage_cells(int file_des) { memset(mess, 0, sizeof(mess)); int retval = -1; -#if !defined(JUNGFRAUD) && !defined(MOENCHD) +#if !defined(JUNGFRAUD) functionNotImplemented(); #else // get only @@ -2177,7 +2177,7 @@ int set_num_additional_storage_cells(int file_des) { return printSocketReadError(); LOG(logDEBUG1, ("Setting number of addl. storage cells %d\n", arg)); -#if !defined(JUNGFRAUD) && !defined(MOENCHD) +#if !defined(JUNGFRAUD) functionNotImplemented(); #else // only set @@ -2620,7 +2620,7 @@ int get_storage_cell_delay(int file_des) { memset(mess, 0, sizeof(mess)); int64_t retval = -1; -#if !defined(JUNGFRAUD) && !defined(MOENCHD) +#if !defined(JUNGFRAUD) functionNotImplemented(); #else // get only @@ -2647,7 +2647,7 @@ int set_storage_cell_delay(int file_des) { LOG(logDEBUG1, ("Setting storage cell delay %lld ns\n", (long long int)arg)); -#if !defined(JUNGFRAUD) && !defined(MOENCHD) +#if !defined(JUNGFRAUD) functionNotImplemented(); #else // only set @@ -4015,7 +4015,7 @@ int storage_cell_start(int file_des) { return printSocketReadError(); LOG(logDEBUG1, ("Setting Storage cell start to %d\n", arg)); -#if !defined(JUNGFRAUD) && !defined(MOENCHD) +#if !defined(JUNGFRAUD) functionNotImplemented(); #else // set & get @@ -6958,7 +6958,7 @@ int get_receiver_parameters(int file_des) { return printSocketReadError(); // additional storage cells -#if defined(JUNGFRAUD) || defined(MOENCHD) +#if defined(JUNGFRAUD) i32 = getNumAdditionalStorageCells(); #else i32 = 0; diff --git a/slsDetectorSoftware/include/sls/Detector.h b/slsDetectorSoftware/include/sls/Detector.h index dac27eb56..f4c2387fb 100644 --- a/slsDetectorSoftware/include/sls/Detector.h +++ b/slsDetectorSoftware/include/sls/Detector.h @@ -1285,27 +1285,27 @@ class Detector { * disabled. It is only possible for chipv1.1.*/ void setComparatorDisableTime(ns t, Positions pos = {}); - /** [Jungfrau][Moench] Advanced TODO naming */ + /** [Jungfrau] Advanced TODO naming */ Result getNumberOfAdditionalStorageCells(Positions pos = {}) const; - /** [Jungfrau][Moench] Advanced \n + /** [Jungfrau] Advanced \n * Only for chipv1.0. Options: 0 - 15. Default: 0. \n * The #images = #frames x #triggers x (#storagecells + 1) */ void setNumberOfAdditionalStorageCells(int value); - /** [Jungfrau][Moench] Advanced */ + /** [Jungfrau] Advanced */ Result getStorageCellStart(Positions pos = {}) const; - /** [Jungfrau][Moench] Advanced. Sets the storage cell storing the first + /** [Jungfrau] Advanced. Sets the storage cell storing the first * acquisition of the series. Options: 0-max. max is 15 (default) for * chipv1.0 and 3 (default) for chipv1.1. */ void setStorageCellStart(int cell, Positions pos = {}); - /** [Jungfrau][Moench] Advanced*/ + /** [Jungfrau] Advanced*/ Result getStorageCellDelay(Positions pos = {}) const; - /** [Jungfrau][Moench] Advanced \n Additional time delay between 2 + /** [Jungfrau] Advanced \n Additional time delay between 2 * consecutive exposures in burst mode. \n Options: (0-1638375 ns * (resolution of 25ns)\n Only applicable for chipv1.0. */ diff --git a/slsDetectorSoftware/src/CmdProxy.h b/slsDetectorSoftware/src/CmdProxy.h index 9ea873828..340919bc5 100644 --- a/slsDetectorSoftware/src/CmdProxy.h +++ b/slsDetectorSoftware/src/CmdProxy.h @@ -2000,27 +2000,22 @@ class CmdProxy { INTEGER_COMMAND_SET_NOID_GET_ID( extrastoragecells, getNumberOfAdditionalStorageCells, setNumberOfAdditionalStorageCells, StringTo, - "[0-15]\n\t[Jungfrau][Moench] Only for chipv1.0. Number of additional " - "storage " - "cells. Default is " - "0. For advanced users only. \n\tThe #images = #frames x #triggers x " - "(#extrastoragecells + 1)."); + "[0-15]\n\t[Jungfrau] Only for chipv1.0. Number of additional storage " + "cells. Default is 0. For advanced users only. \n\tThe #images = " + "#frames x #triggers x (#extrastoragecells + 1)."); INTEGER_COMMAND_VEC_ID( storagecell_start, getStorageCellStart, setStorageCellStart, StringTo, - "[0-max]\n\t[Jungfrau][Moench] Storage cell that stores the first " - "acquisition " + "[0-max]\n\t[Jungfrau] Storage cell that stores the first acquisition " "of the series. max is 15 (default) for chipv1.0 and 3 (default) for " "chipv1.1. For advanced users only."); - TIME_COMMAND( - storagecell_delay, getStorageCellDelay, setStorageCellDelay, - "[duration (0-1638375 ns)] [(optional unit) " - "ns|us|ms|s]\n\t[Jungfrau][Moench] " - "Additional time delay between 2 consecutive exposures in burst mode " - "(resolution of 25ns). Only applicable for chipv1.0. For advanced " - "users only."); + TIME_COMMAND(storagecell_delay, getStorageCellDelay, setStorageCellDelay, + "[duration (0-1638375 ns)] [(optional unit) " + "ns|us|ms|s]\n\t[Jungfrau] Additional time delay between 2 " + "consecutive exposures in burst mode (resolution of 25ns). " + "Only applicable for chipv1.0. For advanced users only."); INTEGER_COMMAND_VEC_ID( gainmode, getGainMode, setGainMode, StringTo, diff --git a/slsDetectorSoftware/tests/test-CmdProxy-jungfrau.cpp b/slsDetectorSoftware/tests/test-CmdProxy-jungfrau.cpp index 71cc96989..245c355f5 100644 --- a/slsDetectorSoftware/tests/test-CmdProxy-jungfrau.cpp +++ b/slsDetectorSoftware/tests/test-CmdProxy-jungfrau.cpp @@ -287,7 +287,7 @@ TEST_CASE("extrastoragecells", "[.cmd]") { Detector det; CmdProxy proxy(&det); auto det_type = det.getDetectorType().squash(); - if (det_type == defs::JUNGFRAU || det_type == defs::MOENCH) { + if (det_type == defs::JUNGFRAU) { // chip version 1.0 if (det.getChipVersion().squash() * 10 == 10) { auto prev_val = det.getNumberOfAdditionalStorageCells().tsquash( @@ -330,7 +330,7 @@ TEST_CASE("storagecell_start", "[.cmd]") { Detector det; CmdProxy proxy(&det); auto det_type = det.getDetectorType().squash(); - if (det_type == defs::JUNGFRAU || det_type == defs::MOENCH) { + if (det_type == defs::JUNGFRAU) { auto prev_val = det.getStorageCellStart(); { std::ostringstream oss; @@ -375,7 +375,7 @@ TEST_CASE("storagecell_delay", "[.cmd]") { Detector det; CmdProxy proxy(&det); auto det_type = det.getDetectorType().squash(); - if (det_type == defs::JUNGFRAU || det_type == defs::MOENCH) { + if (det_type == defs::JUNGFRAU) { // chip version 1.0 if (det.getChipVersion().squash() * 10 == 10) { auto prev_val = det.getStorageCellDelay(); diff --git a/slsReceiverSoftware/src/ClientInterface.cpp b/slsReceiverSoftware/src/ClientInterface.cpp index 804ebcd20..b01e5b33a 100644 --- a/slsReceiverSoftware/src/ClientInterface.cpp +++ b/slsReceiverSoftware/src/ClientInterface.cpp @@ -367,7 +367,7 @@ int ClientInterface::setup_receiver(Interface &socket) { if (detType == GOTTHARD2) { impl()->setNumberOfBursts(arg.bursts); } - if (detType == JUNGFRAU || detType == MOENCH) { + if (detType == JUNGFRAU) { impl()->setNumberOfAdditionalStorageCells(arg.additionalStorageCells); } if (detType == CHIPTESTBOARD) { diff --git a/slsReceiverSoftware/src/Implementation.cpp b/slsReceiverSoftware/src/Implementation.cpp index d2b3236f5..dbbc7505b 100644 --- a/slsReceiverSoftware/src/Implementation.cpp +++ b/slsReceiverSoftware/src/Implementation.cpp @@ -226,7 +226,7 @@ const slsDetectorDefs::xy Implementation::GetPortGeometry() const { xy portGeometry{1, 1}; if (generalData->detType == EIGER) portGeometry.x = generalData->numUDPInterfaces; - else if (generalData->detType == JUNGFRAU) + else if (generalData->detType == JUNGFRAU || generalData->detType == MOENCH) portGeometry.y = generalData->numUDPInterfaces; return portGeometry; } @@ -413,7 +413,7 @@ void Implementation::setReceiverROI(const slsDetectorDefs::ROI arg) { portFullRoi.xmin += nPortDim.x; portFullRoi.xmax += nPortDim.x; } - // top bottom (jungfrau) + // top bottom (jungfrau or moench) else { portFullRoi.ymin += nPortDim.y; portFullRoi.ymax += nPortDim.y; @@ -1127,7 +1127,7 @@ int Implementation::getUDPSocketBufferSize() const { void Implementation::setUDPSocketBufferSize(const int s) { size_t listSize = listener.size(); - if ((generalData->detType == JUNGFRAU || + if ((generalData->detType == JUNGFRAU || generalData->detType == MOENCH || generalData->detType == GOTTHARD2) && (int)listSize != generalData->numUDPInterfaces) { throw RuntimeError("Number of Interfaces " + diff --git a/slsSupportLib/include/sls/versionAPI.h b/slsSupportLib/include/sls/versionAPI.h index 72a85a802..32297ae43 100644 --- a/slsSupportLib/include/sls/versionAPI.h +++ b/slsSupportLib/include/sls/versionAPI.h @@ -7,8 +7,7 @@ #define APICTB "developer 0x221213" #define APIGOTTHARD2 "developer 0x221213" #define APIJUNGFRAU "developer 0x221213" -#define APIMOENCH "developer 0x221213" #define APIEIGER "developer 0x221213" - +#define APIMOENCH "developer 0x221215" #define APIGOTTHARD "developer 0x230117" -#define APIMYTHEN3 "developer 0x230117" +#define APIMYTHEN3 "developer 0x230117" \ No newline at end of file