From 53a10ab66320cbfe8754de97a609f1f8b578d8d4 Mon Sep 17 00:00:00 2001 From: Sumalyo Date: Thu, 24 Aug 2023 14:04:18 +0530 Subject: [PATCH 1/7] starting blog --- _gsocblogs/2023/blog_FASER_SumalyoDatta.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 _gsocblogs/2023/blog_FASER_SumalyoDatta.md diff --git a/_gsocblogs/2023/blog_FASER_SumalyoDatta.md b/_gsocblogs/2023/blog_FASER_SumalyoDatta.md new file mode 100644 index 000000000..e53bf250a --- /dev/null +++ b/_gsocblogs/2023/blog_FASER_SumalyoDatta.md @@ -0,0 +1,14 @@ +--- +project: FASER +title: Real-time lossless data compression for the FASER experiment +author: Sumalyo Datta +photo: blog_authors/SumalyoDatta.jpg +date: 28.08.2023 +year: 2023 +layout: blog_post +logo: faser-logo.png +intro: | + I am sharing my GSoC 2023 journey, working with the FASER collaboration to develop a real-time compression module for the experiment that reduced file sizes by 50%. The module integrates with the FASER Data Acquisition System (DAQ) and can perform seamlessly at high event rates. +--- + +## Introduction From eff2d899bc3800e1319d5967f80c3af71b34198a Mon Sep 17 00:00:00 2001 From: Sumalyo Datta <39642083+Sumalyo@users.noreply.github.com> Date: Wed, 4 Oct 2023 02:26:07 +0530 Subject: [PATCH 2/7] Update blog_FASER_SumalyoDatta.md --- _gsocblogs/2023/blog_FASER_SumalyoDatta.md | 229 +++++++++++++++++++++ 1 file changed, 229 insertions(+) diff --git a/_gsocblogs/2023/blog_FASER_SumalyoDatta.md b/_gsocblogs/2023/blog_FASER_SumalyoDatta.md index e53bf250a..16a4b6ee8 100644 --- a/_gsocblogs/2023/blog_FASER_SumalyoDatta.md +++ b/_gsocblogs/2023/blog_FASER_SumalyoDatta.md @@ -10,5 +10,234 @@ logo: faser-logo.png intro: | I am sharing my GSoC 2023 journey, working with the FASER collaboration to develop a real-time compression module for the experiment that reduced file sizes by 50%. The module integrates with the FASER Data Acquisition System (DAQ) and can perform seamlessly at high event rates. --- +![header](https://sumalyo.github.io/benchmarkFASER/FASERImages/banner.png) +![C++ Badge](https://img.shields.io/badge/Built_with-C_%2B%2B-purple?logo=cplusplus) +![Python](https://img.shields.io/badge/python-3670A0?logo=python&logoColor=ffdd54) +![Plotly](https://img.shields.io/badge/Plotly-%233F4F75.svg?logo=plotly&logoColor=white) +![daqling Badge](https://img.shields.io/badge/Powered_By-daqling-green?link=https://gitlab.cern.ch/ep-dt-di/daq/daqling) +# Real-Time Lossless Data Compression for the FASER Experiment ## Introduction +The [FASER experiment](https://faser.web.cern.ch/index.php/) is an LHC experiment located in a tunnel parallel to the LHC ring. It is considerably smaller and low-budget compared to the titan LHC experiments such as ATLAS and CMS. The experiment seeks to detect new long-lived particles that have travelled half a kilometre from the LHC proton-proton collision site at the centre of the ATLAS experiment, escaping the ATLAS detector undetected. During proton collisions at the LHC, the FASER experiment records up to 1500 events per second using an open-source data acquisition (DAQ) software framework developed at CERN. The DAQ software receives dedicated data fragments from subcomponents on the detector, packs them into a single event and writes completed events to a file. The assigned total storage space for the experiment was, however, quickly met and already resulted in a doubling of the requested storage space. The challenge was to develop a compression engine that would compress data in real-time, __introducing minimal latency and performance overheads__. The compression engine would also have to decompress events transparently for data reconstruction for physics analysis.

+ +FASER has a trigger-based data acquisition model, and the DAQ software is developed using the DAQling framework. +>> DAQling is an open-source lightweight C++ software framework that can be used as the core of data acquisition systems of small and medium-sized experiments. It provides a modular system in which custom applications can be plugged in. It also provides the communication layer based on the widespread ZeroMQ messaging library, error logging using ERS, configuration management based on the JSON format, control of distributed applications and extendable operational monitoring with web-based visualization. + +You can read more about the strategy in the [paper published by the FASER collaboration](https://arxiv.org/abs/2110.15186). + +The first part of the project involved __the exploration__ of various open-source lossless compression libraries and the development of a standalone compressor for raw files, which can be used to record performance metrics (such as compression ratio and compression speed) to help determine the best compressor that could be used in the engine. You can read more about the exploration of compression algorithms in this [medium blog](https://medium.com/gsoc-2023-data-compression-faser/real-time-lossless-data-compression-for-the-faser-experiment-part-1-274025eb4079)

+ +After exploration of various algorithms, the next task was to __develop a compression engine module__ that could be integrated into the full FASER DAQ system and can be configured to obtain a compressed file for physics events directly from the acquisition system. The challenge was to design a module that could handle high throughput working at high event rates (as high as 4kHz). The module would publish relevant metrics on the Monitoring dashboard, such as the compression ratio. +

+ +| ![DashBoard1](https://sumalyo.github.io/benchmarkFASER/FASERImages/Compression%20Dashboard%20High%20Rate.png) | +|:--:| +| *Fig 1: A Glimpse of The Metrics Dashboard* | + +## The Community Bonding Period +Before the coding period, the plan for contributions was roughly chalked out during the community bonding phase. The development setup was finalized during this phase. A Docker-based setup was planned as it helped replicate the production environment and made managing packages and dependencies much more manageable and streamlined. I found some issues with the existing docker image and worked with the mentors to add services like supervisord and reddis to the container configuration. To add support for data compression, additional dev packages were added to aid in building the prototype implementation. +Code for the new Dockerfile can be found here : [sumalyo_dev branch on faser-docker](https://gitlab.cern.ch/faser/docker/-/tree/sumalyo_dev?ref_type=heads) +
+Merge Request: [MR #2](https://gitlab.cern.ch/faser/docker/-/merge_requests/2)
+![MR_Merged](https://img.shields.io/badge/MR-Merged-green?style=for-the-badge&logo=appveyor) + +## Raw File Compressor +In the first phase of the project, a standalone utility application `eventCompress` [Link to Code](https://gitlab.cern.ch/faser/faser-common/-/blob/compression_app/EventFormats/apps/eventCompress.cxx) was developed which can be used to compress existing raw data files and record performance metrics during the process. It can also do decompression tests and record metrics like decompression speed. +``` +Usage: eventCompress [-n nEventsMax -l -d -s -o -c ] + -n : Run Compression for n events only (optional) + -l --enableLog: Enable logging for metrics and benchmarks (optional) + -d --decomress: Run Decompression tests (optional) + -s --silent: suppress logs (optional) + -o --write: specify file to write out to + -c --config: specify file to read compressor config +``` +The idea here is to compress event-by-event reading from a raw file and alter the header information to indicate compression and specify the compression algorithm used. As each event was compressed individually, the time taken for compression and the ratio of the uncompressed size to the compressed size are recorded for each event. These are logged in a JSON file, which can be analysed with a Python notebook to visualise the data as graphs and to understand performance tradeoffs. You can view a sample report [here](https://cloud.datapane.com/reports/VkG8X2A/compression-report-an-overview/). +
+Merge Request: [MR #50](https://gitlab.cern.ch/faser/faser-common/-/merge_requests/50)
+![MR_Merged](https://img.shields.io/badge/MR-Merged-green?style=for-the-badge&logo=appveyor) +
+The logs and the python-based analysis notebooks can be found at [this repo](https://gitlab.cern.ch/faser/online/compression-studies). Please refer to the README for additional information. + +### The Best Candidate +| ![Chart](https://sumalyo.github.io/benchmarkFASER/FASERImages/FASER-Report-Compression.jpg) | +|:--:| +| *Fig 2 Average Compression Ratio vs Average Compression Speed* | + +The approach for finding the best compressor is described below +- Events were divided into a set of 10 classes based on event size (Class 0 having events of smallest size) +- For each event class, the average compression speed and compression ratio were calculated (for each compressor) +- The resulting points were plotted on a graph, and this helped to visualize the tradeoff. The compressor configuration offering the highest average compression ratio at the highest compression speed was considered optimal. +
+After running several experiments with recorded physics data, it was determined that [ZSTD](https://github.com/facebook/zstd) was the best compressor. The __compression levels 3 and 5__ were observed to be the most optimal configuration for implementation. + +## The Compression Engine +| ![Chart](https://sumalyo.github.io/benchmarkFASER/FASERImages/Schematic.drawio.png) | +|:--:| +| *Fig 3 Schematic Diagram of the Implementation of the Compression Module* | + +
+The final phase of the project was to develop a compression engine module with the DAQling framework that could be added to an existing configuration to compress physics events before they are written out. The EventBuilder module is responsible for collecting the data fragments from event sources (like the tracking detectors) and building events that are sent to the FileWriter Module. The Compression engine sits between these modules, receiving events from the Eventbuilder, compressing them and sending them out to the FileWriter module. +

+It's designed in a non-blocking manner, with an internal buffer to store incoming events and then read events from it to compress and send out. It utilizes multithreading to achieve this by using the producer-consumer queues provided by the Folly library. Essential parts of the design are laid out in the following sections. + +```C++ +std::array tids = {threadid++, threadid++}; + const auto & [ it, success ] = + m_compressionContexts.emplace(0, std::forward_as_tuple(queue_size, std::move(tids))); + assert(success); + + // Start the context's consumer thread. + std::get(it->second) + .consumer.set_work(&CompressionEngineModule::flusher,this, // Threaded function + std::ref(std::get(it->second)), // Primary + Compressor,m_buffer_size // Auxiliary Arguments; + ); + assert(m_compressionContexts.size() == 1); // Only one context may be created +``` +Here, the threads are spawned and associated with the queues, which would be used to store and compress events. + +```C++ + for (auto & [ chid, ctx ] : m_compressionContexts) { + std::get(ctx).producer.set_work([&]() { + auto &pq = std::get(ctx); + auto receiverChannel = m_config.getConnections(m_name)["receivers"][0]["chid"]; + while (m_run) + { + DataFragment blob; + auto chid = receiverChannel; // set to 0 for Physics data + while (!m_connections.receive(chid, blob) && m_run) + { + if (m_statistics) { + m_payload_queue_size = pq.sizeGuess(); + } + std::this_thread::sleep_for(1ms); + } + DEBUG(" Received " << blob.size() << "B payload on channel: " << chid); + if (pq.sizeGuess() > 990) + { + WARNING("Payload Queue is filling up !!"); + } + while (m_run && !pq.write(blob)); + if (m_statistics && blob.size()) { + m_events_received++; + } + } + }); +``` +Here, the section of the code is highlighted that is used to obtain events from the EventBuilder and write the payloads to the Producer queue. + +```C++ +compressorUsedFlush->setCompressionLevel(compressionLevel); + auto senderChannel = m_config.getConnections(m_name)["senders"][0]["chid"]; + const auto flushVector = [&](std::vector> &eventBufferVector) { + float uncompressed_size = 0; + float compressed_size = 0; + for (auto & blob : eventBufferVector) + { + eventGot = std::make_unique(blob.data(), blob.size()); + uncompressed_size+=eventGot->payload_size(); + if(compressorUsedFlush->compress(eventGot) == false) + { + m_status = STATUS_ERROR; + } + compressed_size+=eventGot->payload_size(); + int channel = senderChannel; // Channel to send out compressed data + auto *bytestream = eventGot->raw(); + DataFragment binData(bytestream->data(), bytestream->size()); + DEBUG("Sending event " << eventGot->event_id() << " - " << eventGot->size() << " bytes on channel " << channel); + m_events_sent++; + m_connections.send(channel, binData); // to file writer + delete bytestream; + } + eventBufferVector.clear(); + if (compressed_size!=0) + {m_compression_ratio.store(uncompressed_size/compressed_size);} + }; + while (!m_stopWriters) { + while (pq.isEmpty() && !m_stopWriters) { // wait until we have something to write + flushVector(eventBuffer); + std::this_thread::sleep_for(1ms); + }; + + if (m_stopWriters) { + flushVector(eventBuffer); + return; + } + + auto payload = pq.frontPtr(); + DataFragment eventProcess(payload->data(), payload->size()); + eventBuffer.push_back(eventProcess); + eventProcess = DataFragment(); + if(eventBuffer.size() > maxBufferedEvents ) + { + flushVector(eventBuffer); + } + pq.popFront(); + + } +``` +This section of the code is used to send out the compressed events. +
+ +Merge Request: [MR #203](https://gitlab.cern.ch/faser/online/faser-daq/-/merge_requests/203)
+![MR_Merged](https://img.shields.io/badge/MR-Merged-green?style=for-the-badge&logo=appveyor) +
+ +### Decompression On-the-Fly +Another essential requirement of the project was to implement support for decompression in a way that would be abstracted from the user. The user should not bother about a file containing compressed events or raw events; all the software used for analysis and reconstruction should be compatible with the compressed files. For this, the loadPayload() method was altered to identify compressed events and decompress events on the fly. +```C++ + void loadPayload(const uint8_t *data, size_t datasize) { + std::vector decompressed_data_vector; + if (header.status & Compressed) // Compressed Event Detected + { + // DEBUG("A Compressed Event is being read"); + + // Detect Compression Algorithm And Decompress + if (decompressPayload(header.compression_code,data,static_cast(datasize),decompressed_data_vector )) + { + data = &decompressed_data_vector[0]; + datasize = decompressed_data_vector.size(); + processCompressedData(datasize); + } + else + { + THROW(CompressionDataException,"DECOMPRESSION FAILED SKIPPING EVENT READ"); + } + } + if (datasize != header.payload_size) { + THROW(EFormatException, "Payload size does not match header information"); + } + for(int fragNum=0;fragNumsize(); + datasize-=fragment->size(); + fragments[fragment->source_id()]=fragment; + } + } +``` +The offline reconstruction software [calypso](https://gitlab.cern.ch/faser/calypso) was recompiled with support for handling compressed events and tested. It performed quite smoothly with compressed files passed as input. + + +## High Event Rate Tests +The viability of the Compression Engine could only be determined by high event rate tests on the full FASER DAQ system. This was planned in the final days of the project. The Compression Engine would be subjected to a calibration LED Random Trigger, simulating conditions during proton-proton collisions in the LHC. The code was compiled on a spare production server and hooked to the FASER TDAQ system. The module published metrics indicating the compression ratio, the number of events received and sent out, and the internal queue size. The event rate was also monitored. The objective was to verify that there were no bottlenecks due to compression and that the module dropped no events. + +| ![TriggerDashboard](https://sumalyo.github.io/benchmarkFASER/FASERImages/triggersetup.png) | +|:--:| +| *Fig 4 The FASER Trigger Dashboard during High Rate Tests* | + +A __compression level 5__ was tested for the __ZSTD Compressor__ + +| ![TriggerDashboard](https://sumalyo.github.io/benchmarkFASER/FASERImages/finaltest4.png) | +|:--:| +| *Fig 5 The Compression Module Metrics Dashboard* | + +It can be seen that the event rate was pushed up to 4kHz, and the average compression ratio reported was around 2. This means the __file sizes were halved__ during data acquisition. The internal queue, with a capacity of about 1000, only filled up to 200, which proved that there was no performance bottlenecks. No messages were dropped during compression. The Sender and the receiver queues were fairly freed up, indicating that the non-blocking multi-threaded approach was implemented successfully. + + +## Conclusion +Contributing to the project for the last four months was really exciting. This was a great learning experience for me as I got to work on everything from DevOps to python scripting and multi-threaded C++. The studies done to determine the best compression engine was quite insightful and, I got to know a lot about how the design of a compressor affects performance and how it adapts to physics event data. Implementing the compression engine module was quite interesting as it helped me understand how to optimize my code for high throughput systems. It was really exciting to test out my code on the actual FASER experiment (down at the LHC ! ) setup with a full readout. I would like to thank my mentors, Brian Petersen and Claire Antel, for their guidance and support. It was a great experience implementing the real-time lossless data compression engine for the FASER experiment. + +
+ +![footer](https://sumalyo.github.io/benchmarkFASER/FASERImages/footerImage.png) From fb30315b978533eb97d9cb46e013827417d749b4 Mon Sep 17 00:00:00 2001 From: Sumalyo Datta <39642083+Sumalyo@users.noreply.github.com> Date: Wed, 4 Oct 2023 02:44:35 +0530 Subject: [PATCH 3/7] adding photo --- images/blog_authors/SumalyoDatta.jpg | Bin 0 -> 151015 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/blog_authors/SumalyoDatta.jpg diff --git a/images/blog_authors/SumalyoDatta.jpg b/images/blog_authors/SumalyoDatta.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6489c52ce4c54e0c01848ba56cd02a3af8d07c01 GIT binary patch literal 151015 zcmeFZdpuO_-!|;J+Ffm=4HZHm+fbSz`_K>?(-@nK-6djXglr;&Un*+svagZdj2Q+) zGGi}yNunmRS5tIVvfq?#2+uin{qFmI-uIvPe*btspZD`zU~+~xb`s}F=MluaLw0)-!gU$(r6 z!Jdf@y@-mocl3!4@GI>&T%bal1B9$H~hLE+w4wSvNw z6m?9Eb^h~Xz-J!%|KRn{hy0HQ`JdtXXSn`HBk(`k`JcP%pW*r+jllnC=YQ_5|DO%l ze^Hf-L4cn`0wS{hPRvql!|%U~8hC94ZPOo{Hf`LvY1@`9oB!CcZO4x7+qQ2P-??X( z_|Dxsw{PFIZ`bap{&*w~^Rot$0HyP|!3FZ%gou(+`BD-n@bqoQxz zyp@=A`wl)cD?2AQ@7{d^kyJ{il$BE}9@Wtq^$m?p%}+a?bw2NU(cQ!0^7w+jH*bX> zKYbqjGBi9gI`(a5c5Z%Q@%z%Us9(Q{ZTQu#|LocSrC+;2zkc7ial^(fqJI7MdnEYY zuzTaC!^b!8F-LCk4%w@yd;Jedi;R-mCtHz8+MDCi7m-u$TO=I?s%nju?vsyEg{17@UbTpi_Vy^i1&w3 zW44PHct4owzrZgI^oD-L8JNy}2ZyL|kL~@6LN%cV&Vy2U54}53K08n{NS+=fRafEEASC)xU=M-x5w@#!_90fHp(Gv6gjzT;&we=51)@EVM)SG89Ui9X~_vZ zuV8DW0$N`Iovc`T7yt5YWlp$F<1)K(nHQ2_*PM2)S)p;6+e9Mh5zrE+hH`b`C$Mv6 zfe?(z1}0T4f0?sX_&hn?TrFvtZMUsRkWr?noOm0PcpJBM5k|zT$q^+T?@Ru`=Rc%d zVn`VBEx10meB8(0oK;Jiwc)h+??7976q0f+PDPUAA?RTsn;2{D`D6gB(5 zmW9c}q^0ytc`=meoiAgMxeJupNo!NyDrbpx>UqJxS7SB? z4zjcCf+WVBajV=@M7;V6d6OLyY2Cc>VITE=7Ou7VAR8>4 z7h*9EHc8NcuxOqe+>X(vSwI-sRZ9wsW^W_tHIVIZu<{APMfO6B5VxHb0WL;ArGUak7J%=0Og(K*lDTFMQENp2?h|QSRrkBxGa52$?^1d zQdeeZxgMNg2_URKr=w=KD^6hNvvHNK4+bV*M_}S*jEit1?RBeT>Q!S+d4ICH68Ad) zsAv%{kVi0-uRIT^MG*|BM?7;RIWA_+(Pu7kKh+IA;5B49Ax^FcGNbcK^o8(UuW@As zbJP+7i3fow63DYm$3$GN!nkKQ-?fKV#_k@F>rZAwR~E>J8oS&(~##7D7ma@ zS9BbcB2=3hc~Qo`yl7#lp1~eEXZAD5UzV{tr$DeS;xC?A<)GaOwoVEic2-&&0!0z3 zu;h<8#Y)D^kucP3hd^kVfpNJmRy_g)(n|}v6jhJ&uvCa0k=YEF#jb#$BAJg!Lw*G` zM0^9mfP^gzgrc{bw}5-o2!w3KqNPPW8$qoH2jDxN$v-TWstq>D!u_Yx%?G^aDM4nP zb^s#S#TaWkDgs}Gog-oAXiMFX_CO_He3G=n!TDuwS;c{*K(n8ls+RDN6l8LjQ6To? zW=GEoV>KZ1*FoI#<+%<{80Um_u_hbjq-o9(C3{Cn#~1`z7D3k9)`Y|B5w78In|f{u z)mLBu>N3vR-_XNnbxX;^O!rA{PI&tK&OKg~l#gPbb^~O1#FBZCp9Z2u8|(eBcAi?| zLr8jMdSjLvQDh5gvY3?8<4&Gi`heC|9|;?Q(^rrSUeR`mlC3MwYu$Ta-M}sorOO*| z#)K~Ol@hQOv|h%+735Un%@vrkSwx;<{xH5hJbF9RGeKS>jf;vJX03&WT z!?u(RRiOz}8oH0`T;D)GOIJGeet;enj81w5)f3EB&BQ* z?A2G`_O~#Gv=Ap;mr#6r_Jp%)_grZ=xpC5lE_gi3EcWFWF=EzoJU_JUTOC~~4I^27 zSa#%F47a&fF4{AYn><&Xki-wms73MWR5kA|TfwdL<(?ObK5qLiG*xVc%idkAL<+7Q zTFWWfkw}lIzZG^^7t>89pwn(q$r;L5a55!37&z(F(|6~ztS6mIUTYk1!RMNdx<888 zcdHzCevEv+ify>pmp3m7$%yYY6dvuhU`ic?9>ElJSlFnW4Hx{e1a7+1BieAyy~t_F zU@1KwdixRQ74^!?{M(<)hu|Km-Abl*=u8v6X17>VM&MlZ;E)UZpf=`H{G+kfW>~b@ zf-E__Act&8=^%-N-?H1*qdT&^6pK8;fesk3%eQJtstTWCDV zXE;{zdvPb4?6FM$)lxRpawx{R)~2#9cI%}fqI5+y*P-KhWr$l=N#!QH;aH8Ty^eyh z7{RxY+D?Pey&Sl>3fGS5_65^X^denr)S8L1Tm|!yi+E0lFls9*$_(AGLke`H}vF z0+?zZtaB>a=3opKQz}1#1nXy`x7!Rku&ojnVcle0pf(ra1Gs)*HvSd-YuJ3a8J2X4 z1!74cM}ubbudIQtZplvf^5C5&iqFXPv2v z#a<(U)$7G6U4lH7TPe#(I)?>0ScL^au2*F1gmS?oo4-q^od}sPi}L5BA6-U?Z=NIt z%2JI#dThjinV;KKdMAmt=V29%hUfI{Cj>*5elt5+*0G9pl`4Mh)l^DMR~@(ev(*Bx zvPK7E>#=><;%V1Bai1AYTd*!x$N(3^5~&1ff@I)50B_tAf)J{UC_t`%$qpPqj9pz0 zmg{10HSvurC+Det4N?jZ)OFQ{#5Lp6N(4a28fVDKQuPS`Fk ztG8c87+Vh7urRa#RwT}UDw)3GxB`=RGVf)CVz5(L@I`C{K0$iy8s3D((!-yLo7}qr z3;?$^2>Zegzya(JGqM+@$+g6xEQw+6tgErg72nwPW0ovbdqGkxYSsa;PAGXnlpbld zYO;I4Em6s*bC#Zy>@X3U`!E%)Y$igzo#ByukkqO*yWJl$rUv5v!gIDw zkRfm1q7)zyHQ~do+J%~UPL<$F8}0mxPQ$n(!QZyl4__H_85`JwYSr-x#-ujd%+n6| zL(_dVFT8Sg+H>$yfCX+{OlUH8QPVthF5qIpK7EU5soe*;r-6VmMeIFIQi?h|W}b!GO=MR%lVm zXsE`jq^0)R*QII2WlK4csuu19U7Xrr`HzlK+fR>ltliL8+Ah4Y@d(N~P%VwH)X3F4 z8vf0#e&OUKa+Hc6J?hJJTzRKO%u`|r-foG$_jCA-MG^K zn5?l-KR?OJ?-ljJ>?Cr>^O|f3)SEzG3&wRln$oo0y)G7C3H9l%a=Tf?p;<~(TszPY zJDf{twLOk2``h5+WVb|_+8xTPn){7@vpq02PrI`&<|^mK;EYG~yp(!1R62L0=ee=r z$x5>~pPKVyG}`2IHH+?j8MfZ7a!#rKOKb4GSXLO^XGA^&*Rp)F?cV46fB6`Pi63HvlIBBka-el*tyb~Uh*+k zkWi2N*?imzhK*zuYz9Qbh91qPM{^o6NBv4k-OFrbN%SW8xsFvFF4wDB5+)_-P{+76 zbth|aG!*pgXf59A!HdklA+a37I={p;!;lnH@H@gq0w)Ept6^zAa8drEGAjpMBI`^n z2HTUMu7OTcq?9Zw^>0(7hN?%W_y5|N&`%waA3ds}$8z)&mNa;ymV5*)Ij>gP5kLg# zs?Aj9S;98}O;Rev+*IJ?HDg~KWN%mCq*87NGUX?kTSKvN{CPmp0-vnnR#_?}Oc^(D ztc?@35y&?6IpkFG+md`3940xr$Ary?D04;34lQT-&8wW8-i)#Mi9XKW`GUH`NrC8_PA6wI(=A?| zh~_3@3$kiXRi zh6ULHK!QmrthicMjQOc|W#MMw(OVn7Q=>{8zge&RL=UIUSuahqCn*G^dGUi~&frhy zVG&mR#RvWiK&BFJEC;+fjHorf>*l4%>>jXrqTeSw40ae|?1rxR70j6>J}5$h^}G zL-9q;sP6_x36xUEHNl<5XN;&q!hq>uKxGX)Gd)AaBrPM&)0^cHoL>we{oJDES~FXG zSLbQSocPxIB3wRZt~_diI-^EfU$Ya-e z5m3dAgcZ;9(mX3fs?DVtgC^d$g1Iy!3?%NxBEC3di0R?1i|}*2hlLFE!L?DpJ=j)m zsM-r^ZG)j46A{!^C<@-%9Z+4%)YDom@==p0U!LAr)Uv}Qbc;pZk#1_FKFx9)!K-dX zhWUoJ6|C)gj#KkBOBERv`o(kN%yEaOUBT$&fM~~u)J_@kJ^bW2{>DRVbS8!JV#I0x z1->NGX)2@mLmil_=vzr`hjE;ew569`%5BssRgV8=(D12K#CZQ^#(>_m;k*V{%e zeXJT>D#)n5aX68j*vnyDnj2&6EOP%r4GMd(_=YJD4_+7ZTgAu(3mS(0^$K%o?7beN zY-f>k3B5|^z(jbzq&EYqtVgLQa>u+L3F7!|w_c?LKU(446$)A-PLd`lbo%Wft4q%9 zx9sF-*x2l7$8Yc0-Tle;rI9e_xR+=Jf5`Nsb+HGmCZzET@0e5Cq&bD-V{_k}w&nAh&?A!*<3$A?{qmPeQ>GuSum@KJ`5ouF4=g+HX}Dl;vmvwD#MD0EL7HJ}x~p*f zTxOH-Z8sBV9j%#O$J3aIeA2>GE$QtE5A_5%8F}6TXDO)YuHFVw&E`JNPYB54E0bIK znh$skQ%yL*k9A#&*Eas(F@e(jxJtc7vjhc~vwiVBH|rJAHiGNJj3&?#ufD=Lo$aG9CCaM4(y-QV2OvHWU|ct9FT@HD7Y|^D@``LdD9ML*5OhT%CvM&>94&G;0c!W3+EQ>6TuZpk-m6#diNYkSKW9z+Jx(cxieCJSftZTWOg;#luW{f z8irYl*H=hj@l)w7xSe=Yd9$7)dkZx3C(C>kc%npeYva0DRT|~}00Zcr$zac4k1^##R0>%Itdl`8p}g1 z+OqOhs+?j0hpp_FHf7s4)K|QNdvUuI316BXmDksDG2i49TI37`O_Or=0Su0Jl?Sa1 z6?EkS&zTW0p;+^-Yqh8L3*kxmyup-DY+8EVir_I9xdeTbIk8{O+6P}NNA@6^wYhpk zXg)aqS6SC4Lj(1-kh#?WlT-e0*Tsg(yWjC|&!Vmk@Sc7NenhzDOrb2bRoGTLB98CR zj>W9#wAm^2mvJAd42E=_&fpaS%IT%S_}7h><%4NeQ8}JAn(6j8V3T?SEpU0>b@%7# zESD>!u9?20bpC_cNPqLPcagM}nCRDB6gk*}!Bo6p#S+B6ht?kP_khBCGOe|!mh?XH z>UUoQTKR56)e;_AH_*?X8x>ysq&EJd6)Ex3v-T4(9^cBL{ zA&YR+7Cx<{MctRT5Q`J1lqKN!6JeEdACh8RN-*=okLB{o(fjhWd?%?d&ri&KACEXW z{(xJmQt#7P6(yCf0lQ<+=@4at4bo2awK?MR|66%OL=Z8& z{aq5LY;8b3=jm!QX~l6MJBGXhxw2@gB4z6(DdELw6!)8zx?x(e30MAsn%8)Lbnn%B z+n(olDmEG=k6%CMj@xf?E2u<@XF!ZV1xOX>QQdomk}AQmRDBDlZaZDakk z;eqsl#*NScm|y`5DFvZc^{=x84`71;E|ZTS?=vsv`;0qGnbHGIvjG{YJgv0_tN<{e z01`8V0%i=@`93f}7Jl*%04e`gH$dP3R|e(-lo6+*Naw(`9S}$4hI^;mI!-p~?{YgVklA@Jc~cW*VN285PU#DZwS$a= zNP`S`=qr{+Z)V$PmJ$_4&p`J0nKA$(BH3rS1$zL_fz~AHi!5GZ0SW{bpe8$3Swgi$ zv@U>!Q>=XK0tvJtoWX*~X%fa(#1e~#g_Qe`(E-_UBT-NDFr~L1qtAF(uuRzRL|GVc zjH#q%S(s|3#-(+!Uc*2qqWlP|_2cL=dobOLLwN!AWC_((rX7%oe&_*f-A*jRF6=wleYaJuN|`}@>I@J9V zi4~JjTzYt^q(j)cm=;xQ1+{1~V#*s})R5lq(bT9J>A&R|6|_B!MGuXt{%ofjcv)!D z7HR0!FO^G>vlr;o2C3@xs~TtV&z+l?uVCtjxKe4>(4*P(mqX^KCPD||Vz@KDq! zeJm?*QyNNG74^KbOPG0=esKgF7mQ27QXdE7I787Av$wRYXJe4FF(_3F#4!gOZFOKJ z=^ET5lyno%vK7!nU!bF5C7fuNFmm@yUlBG^iu1$`WLdb>McW1*~aa&)P0 zYjwbZgHANyaNFm+z5WSqiBW0If0p&5*acZVwi3|Gz^2`2AYvZ zD;^e%3%tstq;o2iHC`zd5|!Fn5GbIY&qI^L^a=C6aGHw|ap1|MlHBXE6<@w933Ar629!j45gNFKubPtU@6M8kg!Cy5^!3v??j~i=&8RA2oMzJ;5vzNFXWfIM-*%4 z$$zV#WOJZsei^FHD3`0r=3qGvI3-+B5(P*a37~NP{tUo+{%>*zI4Xai%=Karqf=Nw zcvN#^)qrq{iDtL8Vcra6Pl7WP@4TzKSPHm|k3*YC6hVHs^}UIQgITk@%N)SVL5?oL zql{B#jxi!+s^d1HP~86WxF>dNokxJJFe@{22xz4Nxq9NOb>rkW5q@gK@xa^wVZ`d z!$TC=Kz3oTeYT!t3IRtoh_+H3m6?E@ewTr zI#U8P2KR-WIs$TWj!1%%Vr`~i*!0HOQ9>?Jh^z8U=w8L0S(~?Hl&2^Na&vVo&i>qh ze$i+CZGn1Nm5^r2vleD(ccy@OjLmE1Yn_eC^EM5}f#!)BswxaV1nzFoP8^y^m4@nM zA^ROe-;BDQCkQ_=0_PDuP1pmgn^0K}RdQx0OzjF&V2!~XC0oTaAmNwlcb11FIKwSM1-%L4b5a&AI@VQR(IWVx@J2?Ap~`sJ(D zp254f4NvJ*QY3j-{LAFe=P{UJ!Gfkc6cq}=(lMfe5dqW0h4;AZ9U={tU*n>#@wq;y zmZ;xWKRm6BqL6R2X-b7vaQv#%q*FtLv7O-y7bfVqVt96oK*=ObFVAdzJz!cj5dBgPkI?_i#WRMQZ`k1?6FTYdq|%q?-q^x(m*yk?G09}!9-tAutM3g zb%*yeMOj*o1|e=#W($~MMRG+a7qE?+`YL%L^JGjfS>APy_yQseJXYYaf>4JMWws9e z;w6+xsNogyjee%|$u0rFpd$LRlTeWb0OS{*fU|JI$ZQ8hLsP~%MP#%Vi)4^u?ca)J za{}Nj_~%7*?l0BzlcIofj3~zm8S#Mu`u8ETFhLfUs#aU3yDdFro~kwzM|a(#tMnc- zR0_OEUyOdpeCezNP*s5TtfY(42X3=N8qQABa34|zEYI_T`g!+2LKl>6H1IN6Q-64(?rfnK=w;> zj^`%~DYhnqZ^LxMC;8*A~5?k~3%$JYrTedx%L0+kj| z@ws5{ou3MZV|Y-A3Dxz0_Bj9_B2MJvh28yLRPF)lKE%USsS$X5Kf=s5R|=ZN!aeXT zZDkM3B;xSc6~~zo|Em;tAbgGqCt0=o zc&FVkLBoVX85&@2-7eRLT>_-_yZI`PeuCu(WbK%`hfEAaK8nWNSdf$CwrtjKhAtNl zWl*Xkqs{uE@3HX_jm*t0vD#!e3%OLxV5JevDb4J!vPtLz#)(JLh;GtL5|-l93@#u! z4MjLVhS1J%e*y60J|cZeaAa2dskQUr*KinOCRH&i??R^?)11!xA?Q)Ra%_(wz>YNR zo`Y;AXxNuS8!qOOnnxYr$nM2db?aCBGd-=U*lMqHgyulYslMZt&hFGUI5E_)b3rqw zk*966?SlXT?RGCLvgPP~X<{0==e;hk2#ATU9h9&g`f?kCY-}hGG7^-%h5N#T%u7nI z%u2hQ9wOZ%WR4u<>NPOJD?y5;5*-1?VkVX$(HC@Y=xK zod>B7JE{0!7Pu!GJx$Xtl*Ow2&ZC56H@TU+JHEn1r6p99np(HD00lx|m`WTpR|qEibYxVbv;_@*!psb*mGYcO(%7*EEZZiwtI#MxzR296_Td;S@l-Exr5pxS({B)kl z37@hQ|FyVfNhOPLcoOAS$k2ZA7JfYN&1^5Op{Wh01?XCBbb&_qF87G4D9SWCFQG}? z!m@=NNUjQbt+5FG^D!;o2>y(AeerNDiu0=cC8`D=h6-~!e0L41lNnHGBX>KW zU{Jn9BBY@jEbOswA#Z?Vc4F{!jshf#e?&_hvTcC%=aS8|`x@6x_=l0k=KwrZ>h+5C z3Z;dq-IyvbGdcI7k;=7z)Yi(`A-m*kTz8jv+N#eW>3oS(-BfUvRn`uj#bcM^BMM;F z8dK-Kug%*?UfBn;+aK*taghU4nW3R3sb8uaSa=5IdIWc(DgcznXUf9Rm<^vR7QG^> zoUrChb##Z@{rwqzsufHRs}lEInrr!3+U=Lr&H&W5FH>4cOHft-O6JKBYjtMW zC3tW!YBm4eJgH~_7fj#Qjl5&p_rfi`<$PrORj1MFVQnYwmrm&7FDc%q3vze<*&TTQC!sMwoLP6PyXf9?>I~mpv279ma=A!oMOouQvr=5~5o2N7m7+OIspG&Y zlZJy@&w}k)XI{ku;DDhJmL?mD&=H@BV zrtWr>2*pzHK;TN05%>GjS=AG82>rD09qt z(8);49!m)u*Nhg_XI*uwJVFe%CG=_ZtB?4|Nt~{Gu*`4kTD=%XI7n$e=_qhuR7Y}s z-?O3COi%zPE1!7t8t;K9naG=x+2a_7-0=)K42lYNWv!)q>`z3X|3erMW4`4gR@VKg zUel-y0yjA~F#il=7SYnCKgGkAM4#uTr6%4U4cKe)M=5z-%v)WVic2caSQl$>uts({ zSj%Z`oG`@Ko*O(jakKQOTm>i$sN$yHVW|;I(`?(eN-X=^0RlA0AK4E~03f5%!+k{9 z^=;Z&qph!>==@MHY({las*Ig}+Dx;a>N{NRXw|3hT-yA7u zjr8?_)SjXD?^m4Q!6EL`?^5?7nEpM>(x7bcNqLMjbdWD8OuYz?!rQnGSjQ?Tx>Bem z_(#Uz=5V`v!)1SLy1m~1i3^#u4so446CRg)M2pA{6P*OrBeT#yw68I9a`!!=byBwa)(^XPvwR6+h3=o*oB(|odbOex*b)4#T?3-#xs&4rX`L6u=}n@nJt zNdS#KN9!Mtw7KGUyn_75pfNl?x?%N(#}9eg4R~G>s9A}95OZH6GuSbzpgjq`Z%qz5 z_Tg)~8Ew~h_vKH`s}F2jCZg!_vZf6EA4>5veb7;}ujxfgA05`ko*GSI7B1`DUoh@i z+YRcawSMR#zPXfJe&o8CeUy`*3+-q!u9_(~R*7LKe7#dN-B)S(k);v*9hS5NY4UlW z9#cCQ|23s(+Hqk`cCp5BUF>EYCF$v0(;-~CCRjnNR^+ekKD;_MkN6JjRQ;jEIG8cz z`laY=GT!XteyQj|Ht$MTSQ_S(Ady+NQocxDuZEKLELBYQFr;;*p{}aZzQE^ii-N1NxIR5K6K1*C)G>; z{8$%$d=4Q4iM4`7J}=TRrhZ!TEMHb#2^eT%2B1fb`ox1ji}6z{uRheV9d%@0L~8}v zRF5eflS*K08mf?(jv>_eT-$V&PjC9L^#~Pno$%8Eqe)fSUx)AlC9@)l@;r>u=>|Ho z)7*i>>dV*z5*6wYH>r5mWJze+F5^MT zl!D&8|4#BY<+cDie}B?LMKD)RX;7i)x*hM)KPfw|m)b0dHt1)hY1Z?#UTdbc-JBXl z_aAgfEl8!whsrdM8!)4$3g5Y9coe4UIoIXTd>&?^M*LWuWgkFf_ih@%!&MBu=fu|V^>$c#~Ti@j753Y+b9M~?t zz6pkEL_?6ibeKgtwsKSdWk4bzbn^%`;dg)eR*QB!ahf$P4zo_$kLT6VoiN;=W1J9o z=Qe#Q;h0%O>$;dHA=54_@Mu)SZPiit2VCbOe6=a=lS*54PGGNgY0g9t^QuOXa9kyz z!zqqC?J|-U=Nk-a}{14L{&l-C&Pz{2suDTs33E!_bh96+28wQ=Y@jw8OEw!p~{T8Bdgj zcA9H#MeehaD+99iJAU+)j6|Pt`ivihD14F{EmWvA81;aUq#S;^Gx2#c@iSqhgrmNE zR+Z47DAV1km7IL%`o3g5K~854ZSD58!@0F6nlto(JrU;hmZ87k3MiK9K)UL{_1Ui4 z>#MmquL%IFZ)b34N-CC;=vIgY8`6rh;C%@4ODqm@qFEO(#NAlcCR(u4Kd89*`qjy&VpAPCMrBCeEa?T>tb)?=Hf4|2q;gip1_h`ziOYT zT^%!f)U{ZN`jdEaRQmphx5Qi{6GmC5%@L2c4aaj<3o+n$l`!n9gD-lL?JM`V@`c)_ zllIqN`MA3YBD2tsBC1A}JF)vIW; z;?Lsd%LoR(P4tYgwLJ*hiIvL&&BOKw{^VYrLjq!<9qum2~&Cb-C8(2*z5;_?V*M$Uytx%j|2(klxtb;K8fCipPn&x%!NYx5X4I2Eh6K;J+D!^>^ z5?#)7R-{Nxh2}1NY3{SzXf`7#NwQ&vM?_q)Ee#GWfswW?G_?~swJp?vof#&x!--~tLL(eqo)Jg|yJdstY~);T zFr3q>o(OaEj=ZUbNji=A7b9Wv9wr;W(`k7Gh}chn1f`}A!7Kt=3~47Wt%Os}bgU_* z<|L;LZ6<3)b=^^^F&8Kw4(R#eswYXn_34G!s%CvB0)T9;PU=KmdsD4d=YeD}j5RXt zPjlS&m8Mx{IK5M(+}ZiD(;;&Np&n<-*K$D<434{M*0GURX_=kXE`>RxLg}T-o;kka zU-EBi9N6)n1%2c0P^~aQ$4heR2SN&gFi;{4FcA+wK4s{#pBmrAjL7S+%pfSt^(f|~ zjNvA?@2^CQ9>YUkzXFI4804yj4Glp{CY3L`&ljjc@PRd3gq zdKYlHPdsX%4S&TTXR>yXN6c=}fFud-4-u>a>D{t{ZguhrONr^n`0={wx@iteHp*-C z7MRPdHCY?MaM4N$O6p$KfD=h+hVfbR)wxQhyCKkg65 z>7ND9633P~v;Q4Jf1xG-PK?aXq5Pkv(x`d@@YVoZ1y)-G*Y1E~>Xu?=mjGn@xk?*R zqi-Nez$&?Hc`Z91{yWQ6lBNo&O;885!ke!%5Aw26nx}{qBI#b-h$9p#dC5#v2LQ>6 zM+4)YVXq+lMV~ho%*l<~_CZpUJ>f<}pinP8f0d9>X+b|SOZ}j~0+o1x zNyNFBm#DzuP8TvuZ#ok;-zqX1w=S5k81Sx?+NrniCeP9Iie6dvvwY^dSZ=tTwuX%B z#j>7_k1v=1SQo=pDuaTU7{P;oVPl(%7Al?-e5@aUXGMB0tybi!hq)emNvM-MSW0N= z+|9=fGHsf3Z@zDW=@MtfO|~~5b=+fP^GEq$G&9LwtMg5ji&9&p=n;^i8Qm$( z6Wxon?vipMzR5AOiBav%EcJWHKuEZhbO*TBVb}PXnZXwCCFz(M6V#KB&3#hU-!+>H z14h*8(NB4;CWHZ~7U={vDW%@@qTrg$g>m;=12@^>#xZ?7nX(&;@fA{?0fie(9RCuu ze#_``$R<59miEybbg?FS1qKf|579nuPMJOLfDIE4E7nqvAonLF-#EMM^RYKktJP^M zJ>lxB0k4x)lWrg5sKM2%8O56s(|)b(PaZ4tuR)`NLjs37H2V5Xw|uL=^LcWgY|M*R znu9!TbzLla3ICo~Shc!2#m8Cy%u<8rSMpl=m4%r6DDQjAPG>GHe|miX+cUKPZLPB| zMBT%~uhtHGM#X$w37#mTqt})}MM&;LUMyBCqw2D|uuVdvm9y3*tn<#V*L+{oUJI?+ ze($?}h;>(a&A!J;6Or-Fm5GWVS#egA!Zm8YwYCExIVN$*xaN4*)Hl!TSHAv9|D@B; zyt4mCUA56iiDY9F|Ks)T_gs66`d{~p$Iu4aq4XqPxr*SZ2rTJ|U{8hb)J?Amd`Q)Z|B{m*7^NSqSFD;Lrj zY4xa;L7~i-`Ij=&5GI)Yu>%Z~r# z5L6u>vL#PYl8A}pJCsp|!!epF=ksk=f^nZ2>EaoeeK*_?w0w8oye{VECWw=3_@;xo zDOFS-KuvjAOEA`!J4VQr9_Rfq|9IeN^%`@3j^lLPK7@b3LeY|shncH2;j6COLH84m ze5pBw3#$?F=kge*$myXfcNtzn`NdhjVH4F zs-HhU%fkl9w#Z64#p~Wtu4+2-Xsa^mbw#GF5qqI#79V-aGtIVT3yzs)?mRgKvvXFp zSd~Id9$3kaCB0d@;&S?Y(~lEK$2eAe%QB}cO3wM#%>HZ58tuaN*J>+Hn$ME=1232i zeA6^Hq5I^VP7cAC&GcI>UKh)<)0#Xu{V?>A0FHWmZ?(t&oyk}tIksUjTR-d!Ny+uz zbwMlX`TmXS)hiy&HR|6yhQ*v~YfI^OzIbZn4^_iUq3xfnb+p2Q_-qwg$zQgn^Idh| zv4VZZVFQ)HQWu~G2OX_C6=xc3v#wYbsP&&KNVj;NR@gPUO%o&nS~XwJ<(OTv^eib^ z{pkLv_CwP9G1`>baHLR#WM8GbhhK}f&gO0d}YyFO~7O8 za}5dFkapXd&nme|Mucck7yjl}jaeV$8_$J?%lJWQ{rs#bq8VfF$r??oZTk3F?PlKt zugDtIx10PgG97`;*!q3$BTEFq&_!wG`3fK?_SjhGO?y6YaC_il5tZG_%a0v<6;T>N z%73JFhIa4@P(EbRQh`z>-QG(gj z;s0CWNwdcC8Ousk$M)+H9*3W{OU8LND9i_yBnAI2xdqmW5tdvm$`ym>dw^-!U&a9i z9!py#tq|`;DXU4!^^v2#gjh+Gd_tGB>AaSu{ydS=r_g*fBy0LK__mRlr&e5PY~#pi z;53?&rtY$bV?nt+kLPZ}IS@~S!=#kJe?(A!>~Uz(8VQr!(yR>CW+S;jYR7HOr!tt% zfjBxp05OfAluQ-WBu=hf2;j~6%(}VceD|kHjS-GMbMdJ!I&phC{C=}w;)L_Qybt4U zyI$cg1`wn!JFeDA#dwJ+k*0iHTD0s%# zJi}vK=PoAHddJ(cSB8#m@Q_(qj5{ce$5D4ifhT3D89nZ4KF*3z&y#R>^bsGqExud| z_%{Ir9>)3lL537~HkRYz6gqmD^_oy=^P=*EQ`E_Ew6%ARAK|uNIeEVP@O-tkWa`qg ztTc4vO;c9;rLhh9q=BqYcD$?!%T(#O^Sl&${j>>7dTqCx4vvdDiMu@;%6CJ1yer zz~RAOrKPyQ;P1)*p?j*m8T#_=HBtc?^!ZCt_0hQ<2*BW=bALsQBZ9*Yk`14TNy>7V+ z9^W&$=*C;0O#^%1+b-Gt<^Nn~_uFy1GWQ}QxbMum7)PR8E*44_K3Ppsq9^??lD<2h z?Zp4zecJ0hb=uORXloS>tqQfTRkf-r2x47PBPmXa738jiqT=j|lG+lI)QA!5T2)1D zNh(&2Sg}KlNc`UY{{D;iBa!va`}KM~*Xs!1C-=ex=~QC+a&cz>N+xic7|HGaaxUUf zi0vWcxY@!AH9St&&u$I%XiNxjX>&Q=u6oP2cFw^co@g?T7PJR=vV*}_4tjZSo_XCeX zfxJ}miN&nr)^)xc^H$PPnIX7WYmy)uitHRY)oA zouF}Q@~qRLP+{jB)0rVbX&K_)j#~?UL!Wo_U^hfeZS|B+3tl#ZhU#`T_i3>aQ zeGoYV^x3_Iq^B8BdSM}0vN$%N+D;9`CbuN=6(`iUIW8eYqjTZM5C+%AzQzladvArW9n1Obc^_q{tIQgq34m=MOk!kAts!^&Oecd7}kvr+o*{Qg+5PQ>MA@ z#aB{`bPzmn79r7IIOsuNQl@nMKu=wDhbhwkE+%`Bk5uM3pGW(PY$AH+8GrAT8P&Cp z@DWn^!JoHJAoCrj=_U~dEltG1+CS+p>^DC=yuO8A!5Y;fp2s=jTWbvn4M`0)qb39! zewk{#;5)ZK+LMlXR)JaL{fX|j@ZlB*;YLrJaz71xi)Weo@Qb(c^0Z%rWJgcm)7>^L zytdLxQPBZg%p3~UUK0#fH1tGV2(AzegYT|E#a?NVSDYkED7EF;?vG|&zaS(B4ph6F zY|76DyB=#Gi0_$1a9bmKLQM)Ys|Fc5u8@VAT!f4{e0)a6%A4ctmp^U3WGw;K559y6 zC*(bWB_+digf%w7h6ELgPWo&l)P))l7M#P>ldZi*el*DL*1RG}$HBJPIv)_3&eFqP znApi;nec6b*3Nks7igq(SiB{K_bIKdAE?zQ70R}it48qp2HM7s!@Ca&p)ZpW>vKV_ z+ph-5;B`KiwMC*%tOvQv!d!@jgqV#9Q~VKob+AXc*gxFaiqU4TUuP121P9*3I1b%& zyTW*mZ;voapyUA6)`f|%&c!Q8SKYp-8nX0sDcP@I(zLq-wj) zr-07NOSW4%7e3Swee@0e zD%1(*ngSMLd{God0+1MJVI9Ad2b*nYfDSMKaLxg~8NctE09KcI!vrwi-|+>i@be&mw8t6@24yz;36U3;=uufauGLqvGdXmR~Tnn(tf0NdoyjQ}#!b2*U0YAi5uXiKSQy@MF|-FDxK zSWonuysulr+Mj>Vi>0DauXzsXZNJeoC{qUEZt!E10_QW79^HXN3Wgf)WaTRJLZQh$ zrn>1)@%P;{Q>}k-AI1ns>GJnOTZ_LYuZEiQciAG4)OiyQsl}KDfMOR@o2d0=0jP^G zjl?RSBvWL>d&DQE4a@T4p-^(dw)*h{-@yuZp4!~pxPwnNuPx#8FvUt_Iuy%=hMjdp zSl~A4!bJ}MxQ8n_)odt^wyO7P9Jw?Ad;k$iJkyxC)~+I=W^_J2Jf_=m$Z8_zdJxovpZjmZ~%uhe?7>lzaJ(0%%pjwPIkIYlxShq^fAiRdPvK^*@i+s& zI#J)Gz~gH2X!RZBmTVjPEJD(?EWSd$pgL#g&u-~wxO0XV{U*eQue7d@@8pW3BTC23 zn^Ox0qx`4Q;@VkS@2@6^GyrP1>K%%%vMnoFxo{)cs-6d#7?UvUtlmMx=C5qnG*Rk? zKr2l%N~=vHEqtd9(LMq$YR@HbcO!~B^4}(?6*%O z{b)Ts<{bTw>F$E=?#SL@w}W>DeV&GuNW7_bwtygE$e|l0Q>^ZD+HXx*YQ}10E7n^f zAXyNcM?{_rI;L^ahUJ_mqa@Y4(w&bl=@jmLA3$#E^fx`ICflyJB)&&rYPq$~I_BQR zEV6qJKnQW|K0)=a9Qoe*JL8qtvv2*Q`X^{H<2zv__uZPuthA7zDMiyjfk5r2h| zG+AL6(EKZ+W==At?=Qu;?+%3{;eDTW(0^7|eP|g5;3a^bRG$Rcl?y&qg9jo}*EK;F zr-?XraiWK*n{{)KceJ{uoK)d_G}=Y=uRm)OcicIH4XNlFl78Rzvkr6ZoE_Pns!n?n zSbcdEo!V@FK8j^d#q8)J$gj0w{vBD0-DRQIZ93G~9aIV7IV;+-N?GSA{{$mJwBEg4 zvFo9?khmSYJ%_u}eg=IH)*as5D&Xh-787_-!#Ue%Eiyv-_7^1o&0F0B@`xe&4$}7uk`ZUdma`Wpj`eT5i@Hb<`>^Nu?l`xX-p@G# z1tyRX@qmygRt1diNv03;CLdP0k9W#1C%Vihs~J@V9GwiTYRvhz2_6NtG2Zjy9x5YrFEc=lY zc@r~WAjj)Y3KW4G*R7G_ra8f0bwn~MP-}arvMkUGa@Jh2uUZN{9OhD6?~q&Gbd zmitqN(m94W=R-nB2kbl(0juD*$OXms-x)mAfj*ONZiYKfdG7T7YW*9Scof`JMD}{% zHwigypiQrPx;19U{g+Gh^VDs{4L265)1(p2@NK%ykvex`NX#pRmE0cowpm-{&UC7x1c1y@i^63WV;{` zXb^6pVY%P2uWd}k9>2F6wsEQp;uS&en^G)I*GIR{@XU$dAA^&N=K1cC3l&Q&M3JAAqhmqQCYo7Z*?~>& zF3fPzNf21?0WxQ!ZoC|(re7yvqdg(5yIj-+(k`wN@#fp2Tv-#2TMjepF}bd}_bOOV zFH zQ8}AEK>k!8xcgAZUj$ZnhKQR8B?a8&7d=dnAPhrx(h}xDU=fSq*i8y8z^f>`PE>%D zzmGRna7wU7M38PqU=Sqpeomtr1i4xXESqtYxe8D z=ktCX2RGbc=Mr?uR4yY*Qu?!$-ik>TA*C*CPe#()|r+GlJKR-g<4A@!xLSw8`hv zZ+bDV5WTctw+!txwj&xyJ}~I_tt%Fy899cy{wCxxvj41Wa%JBF!gBco zf7b}*etQ9^;1r?~N>R?T-h5C76 z(%EjvWQeRO@N}4znTcx~vlA)w zX<+3+!{fjP`3#Oo`{X|@a_dn;>=>z>mCzSE$-nu%aJ4HwGbckU?l$N>-iBo`DL4HH z4=*Pev-YZ*Lz(J{S9j5b2yAG%c&U&2>fDRsh$rm_`!kyVq6@~ACNcL2b&~I$|5p34 z`8S^xhPu}55!6MlHaFw0N%^5SW~TduT})@YTLQlj)G=3R#LJdny@n_k3)$*pk<(35 zBrAX#ui=1bMXfQtu$co-g?Vl=Q(og@>vJ8|Qy~qx#rZ=jgm)2{r9o&}X24V(? znG#u&vflDb$>_xBm`gW`-ef&B8L!!Fv3`dX(dfxb1))gsBsfgCtZ{vOo4Ar5&l2z` zfkt6>XKb5_a~p&B?=6x1ytAV#cON;5sn%^Q`OtIBEDW+@lYSfKSh0=)43o$|7|bGe!(uZVL|ZA?wg5UQ+I4B!kXPOH<=BSuhBJu@lF0E z05N8z*H*N~pZz1iPqjBdj#~TTi6@f@^v|Z8TaM3E$JoeHgcP?DIAHN@m{^Cdknw8$ zIOp)>NAo2_<_;rx(s_~lp`*%3kGI`B(FtJqYDOCFd4$=`a+lfKzBQ=7*W2-kjFI-K zb4cFC(Nua~_K&K`Cfq+xDjyzLifDVPTTvT%hH@Nz=9c;iU)}b(^Uj?*f)mpc-UO;) zrufWkTo1N6d1~@aNY4>Sf>q=R*49%8;mGFe(Z^)ZVl#4BHrJstJudNa@JS4^Atk)xZj~)@WFgS%M;+CEyckIjxT1z!9Q@y zHvrVskdJ~-T+9GrB>R)N`WpLV_ErVWA{}lg8V82Ek}kiF?mQ0vq4d1@z#!1KqA!bR znF+fXnfitvGXRrJksyr55p@EBMqHdxQFKP1pvQZ3l*WtMuCPxTIxp+9Q(ns#)O^6r zo2IRzRr+;Oz*aW1HYtuH8NIQCRujp36YmM}@9k`(hqmx=71~)qKY)W(+WYhP@W_wt zQo(9%Y`I6}d5?kEfLo7_`xX7bf&r*Q+AV6vJ_q$j0Z(i3<)(k{f-e@Ro$fNk+9&b~J zl_!@4Yeb9Zl>JO%@Ux2u56O?Qo(@J7RWYw^y)?7&Sa^Rde0GYaGOInz@(VynM`$iq+Lb3r7=Hk+y81urf99n#HU)y>T?QL4s0% zc%1_aT~JBKrY8wLKqHYixL+R z>>~HLEWHrr*k!x+u#@;Y#B&koiafCffE=>v!CQs_2NoH1OC}>m`VyUyQT$J~% zp5A&_@al2Ht4N=?d=lzjKX-%KeER+%moDhJ6Y#)*Q!-ev;(Goj)GZB=Np#qNR^h34 zO~qBr<$(62B08_6FIeMU&@j#iKa)IIvPl?Jx?2-8G=m`mZ#B}?`ffstIbrk8nzNgg z9SUtBMor6q5ez`nTvFb&$|owN$3^mcX3AH1u!D9q!NE1c$A!qva{ZT8IY)0bR_BH9 z58qq@|tOYl`^e6gaI_p0dVcYcbE?SAir z?m}vS50w(=Tie-ECKXqlXMzELd41vJwRi2itRz0mYL1zH!UeZnA6jfPhxg7Gzk; zg6*N#PtB#Kk6sXi{{?9-cCW+xus2! z&%$81SOeNl%dC?Zv4B<~uS$|M-U7Cqu0v|E<>ZlLn;51=`eb zzDmG`AvRX!b{Q;EW=9&6RXWNq>6NV+I}|#;;gA!~X=55Ci=*_Kwef)gT1|icLmb6xKnjvVK38K zb~k5=)WFA~qLqOch;AX{4J8g-t2V?c#OsDSPJhjqtJMw7p0P4xhF484W8c{9xkXj- z_gM!%>)wHJU4i;K`e}CrAD9-~^uklMRh7N@UChk#O#|(jxQ_@|*znSXgmZX+Zc_|p z1DzyK*OZ2!P%kbYs4n1+3I>k@0FlqocB8Ul^`Q_{VGXzh&(j3UtHd>t1LM{KwaY0}&kszMvRQSe?vdX&F1)VLcO`-k#BKa00w?WPT+{u^ zhRZ4Uj3IJHKl2*=OHLLLhpGeGK$~4r(e1AOEQIGfB(4nc_6c8jg7s0>m z$cqj7ijFPGw#F(e)MBc+H+=2|0j}L-vkfs)X2Izb9>)bR^MgPrMP2lsb4bZeRdn}F zH(Nt8sNv*1y22XQT|V*K`uO}CiY4lr+Ob@O=37)lD=Rn1KA%=STACER12Iswsvja* zXU^~B02mxbwUlST{reO5zfKTtr}axi;@Z&#fjD(@njvcg{Ma*N>_cOY56?k)Af8!2 zx=&@(D}M|C7VDQ1>9s>qe{?XP7Uik$`OWrKsty`TEJ+%@P!}eSH$_SSEL$pxrMY4Y z9azzvRO^V+;N4Gj={t~rpaI+xMEoY1kn>%Qmb z=Cq;m$<woP>Z-FY6{3EL@LtDb)czV18* zWwoM-9x(pQ7LhQhZe>*fno+NhKKSL zVD8n)wzh!Zh~o0~LqS?6w-|ph+b|=s>|70fJUB9IqI8gDQJmSKR1v*2Me*xhTBam7 zx;(7r7>O~YoMgn{S>ERlwh3dj>|Mgx5Qcf_VcSgUu>SDyTZXb{P{B{KL&u2tXQb{0 zkXILNcXrec6te<@md8gr)&bUi_o2QXr>1>-w%C;q2nn$NDa^vc+;f>1EVC~6}NPFKU=e-*R1XBehG5fzIc`jI# z0~M>KnN5NQG0B)c)05A%=h0$|gFr}*9WQwK<=4I1WF#~J&p4nER(pH4gH5)Aew0Etb zyxYI-eZ?{fo}&y%LL=-IBDwkoC-%zig{^F^7Iw+I914{e7bH9YwoN1`i;SOA`6;e= zU@$1@BqzsA4P=|R&GPaAuWtf2Jr2Nm{v8|!?(|co{lA23Kij6XUd@`*j6+)U&azDayX;?@m67svjzq`x1-ssp zbR_PESS$`Q-}S?mgFb|Nohiu@h;F#O;KxqR4$FSeo67=pe1;tt0^hGJA>h&%8P@#x zRfL7Kcs0w_sp;IUn&u1A?qol}=+;S_G`!jS zcXy`U{8B{0_2E%r=gQpv9vmzRVZFKZ&Bo64^xbPSAZQ^bS*-}8d(4zIAdmFy(u}yD z`)|z+(q(X3kdLcNC13#0K2Lj<-#+d*S4q}PqAh4R(sVTQos}Kii}q#0w2~g7KN+eH z&h(oWi!R6wQs(7S4U+W*pYV_S*Ab0rcZvm{cfdICey++*;GHgP2Y|Gt5ru+IO|5)~hhK+KgIyNjV658xi)I@S$(3?5!EmwJG zlIPkP-DK>683V@JstaStdMD}JOKm|*uU3zA+hVIUnxtlgO+PXRmqJnUb+$lfKvfrm zV;?qzFo`e4>0uhd^8c$hfLbEnz?ge)f$m1>N8d`~T6LeM$F)PD@Zg>Dw)6=5fh|ok z#3Flm_xRMql<8|qSR*w=gB*X%rWIO|)2zaoqR_tNlsS*NE>43*j&?VWW zBJ_4hapzUPu15nJjDG|g;W_^qEr_6l!0GOrUGQyd;e+s+4X9j}J*L-;U)vm^RSplH zvp(t}$-!Op{pdLE)Xnt+I?xU_CLD$oo304$|3YtD7$4wb$iHuhl{F-P(~fc9@7r70 zo@MU5p@2mAB99Q+_uQ8{vKu`d(snP*d?^JO02TVd-a5LR{Fh*Oo$;n-A)wgy`m>k~ z#r7b;3c<@83;LHV8+JcpC%z_H?=v&JnS#>}KNM<_Y}%JbIjkc;)*SyvnG{qttJpYOtZJq7bd~JkieOjysRj6&d5#@l};L7C)uun>&-4T$VJaO?W zV9ZC-MH@gVi$_AECMWE>@rDBeOx#YDfkP!Vv2Yz>Yo5GfE11~1VwkcSvAI;?xpLeihK+RH?AULj-8YkfUW}n_nmTg_qqBA* za=L)zHGGHc$idrly!2G}YrHwE`EhNJ1Ki@dbbu8S3zbACm-L5tditF@QDni9Kqjx+ zp_yrDy!EY~v{mS{ge=>t+%RkVhSiu$8}wI*AXXnrp_ma7)l3_MyPuuvk4i-8%$%(| zpv1NWueTJJE@a6dm#w4K_8By=zdEd*Q*$V!p&YgrJ}cP%EBfJainV6hjOXY|loun3 z%V+<>}d|uMU0VZ8~IJ*DF~~_P&+$q};GKmhqX44DBrCzgf86Sx=xwtrY$gZdTs8l(~{H=z`f zZkKk(7Kzi*KM!$>!v0t#2}fH=@Ujd8Y9f$Ib#-j#N8Ad3gV=$d0552(_nav946q>S z3$XnMSWnS1V9itk5*?IvT&}-9z$PbDrq~#tAk?FZ46P}^#u=*=$gJ($6V6rQ|8*W` zLNo%ld*SYpb!xxN03Nq|*fWyrCsVnKXyz1H+3>L|sVagbYsY#O@`Y|12VvY)lP?RC zG@mWgP`#JZwG5k3FwwT1$Qoe0@FVWTZ z;^-93Opp?|5A<{qc}iC!%|SQkR>zu^OY9Z4{gfaB4tN`3DDXL={Fff=^tPhmlTZlI z=^(SUEsdWy_gZA=UX*;9OCW>6ixPy56z7hqhS>(VJH{fd2YeR{>`mzGzz?i2JU*w| zN643$nb`fCKskLix-LaO)#g%$LuXMLOLHF7p#}uZ=nZblEnlL@vU{XiNEK?DoRY}ASAJTW2AG!>GBM7zi2M)zBaMGX z`&~njN>rk{@8rq;z1kB-eX3X)l56BUO>LBlT(0t$Q}LI3ctX|tBEqm^4f@%DP=m@k zd39JT{cG99J?KNT7qJ*?JW@XlTe+ z5jLH$j8uH*4&MB`w_WBQA=Mc>ma6;Qj3=oc{LmJcI!2Gm)LC=2%S1vfb#*G-GIgYy zjSN%`9TDXEx(erd#KREUw>{B$=CEQtAL6;_mRO-~vDtc&ow<)TqV79H>y`(n78@c$ z^gE`N-pGvlKIVpBS#eow%Y7yy75=YZ7%)nsoE$1>pQ9W$K8FoTA<%ioZpadN7S(^f zq3&(__2`*B1gnx}P*~+N_@pND!bBtva^T2M2BXh>VfMu#ub_RZzlB>Lb+|c&{vW^G z`uU=FeN8I`n3iS7D^P(wRJA?3r zux=2OxY(;SE}o0qN)*}i*;%TH{0u9>=?CLfVEMsMV+Q8iv@@j5xz|W&R)sg!UNa(% z{4HQH=ISsJ9jvgHdkzIH-pY#LEGs^DY{dYCzDy1m-3o|dDp|Dd_^W~wK}rW(7+lrg z&6NXwEr7wDpDMWc`B_M+T1NadFi}?r>Ho6&6tF8_B5BN7mLuMLMWYTh?EcyvM2L)y z#c+*gDy9o%iczKtm7w-!QX%J~pfDN`SUFcWoqYM*UjoN*5$U@XFFl!TVl3RE`rfP-QfMb({fuiakG=u79#ji_hvr zy1DQ5r+S^xfY?ad?#zv0(JyFrF0Ag(Z=}#ep+}(25Lr&IZes;p)`!o8%8PayVS$L% z-gL_MK|n8Pu5@rD+E7#Q>!d}>-ee5vDm3g)m+O$6qHGr5HPGqYPMW}pp>vYR4rkT< z9XLnS91v}Co5NGJjo8Wj8sf?=v!U9yZ_m1uw^8iZ$)#_%9eNuNg|ZyIHd|@MJ}Q1P zZ{UdF{y@Vk(novzFF~AL%_iAb!NH$&+e`2~zU9h={kUvayPu_MPIAZ341=|-&LAnm~@+IP0q z0sHl^;RcvWX%>+zbhs(=o^!m|TECtUA?9CxQ9iMfV%1|`X9RlK?6=r&!BCn|4jlyY zX_4NMy5chc)l$k)dDTSmZkVNLS)G&5CMIdQR(UkcqH}yAM~A$g1f~(~JPZH8jxFbd zeH1I7COy52Z~~peTnUxZ+$Bjt(n2yu+&*-`W{_GkPrQSM%P^rEOSiwfowZ3^s-(0v6s(&vDv#?VfPc)3fX(>Yb=kvlmRzeGI$=l>VEThX0$2GX3v{s zmT~E|YVIcm)ZJ#k5olD(3&?1Xg|eJGJmgUi?4M?KE>OAVVK+OemFeLAl{YgU%>d8A z){2N(6t;TQ!-u=y?jHyCM*&ics%}f-i=RXLKfIzFheEKQ%tu^3=)8>?Fu$itDwfFn z|0--L+U5)m^~4sIw$Z6;zkQ!qtSvRSga&ujsZyS|-2wF=oOh$bNLdyGs8fqiL+-c+ zyt8RL;}@d8CJ+S+wt?sg@=iI;sIteHpS4}${*}W+mCuMT8<2VmjeEP>6<9gqa*@jToM)7`&xX~%v6NGs z*_5Gi8E+~&tEO8Fc6+8l+HE^w;uF7}Gu;dqy zLWvH&djbo^)Z2!0UF&cK^@!?;m&DclD|yyUz^6cssqzmv+9{}1J?ke6Ohx6~)=BuI z%-Z_m^BDspqr1=b5~Bxgy<6h=UT8Lu3)Z?u#p;oFzy+lAL4%7oYlEio*JD7;cur;*!OL;DFog04YLBC zuOjdJvCz`WM4nQ3uFxR?$Zfg~mBXjS7C9%JuxA zZaZ>KZfir|TN5Ak@Oq}=y@Ad^jwE(s-x8hemwM;me7k@h#WVVcZ3xW<5+$@hi>h}b zkD(Wfk&^dI&qa+3N3>=ipxG)b&0B@5lFXZ{U!PS|O&b;s6+iH9V_20eZbCy6%+j*i z_#1`4W#2Kn^d?vMf@C7{SKz8hLZ(8&xel5sqr2wlY2T}Tt6}q9*@k@Ngxb)`s{g^L zI&a$z{Ug_7kXCCRG0Q0Sqt@uw?SoqZ;l5Tu2&*r+zn~DJU$J3jX|0O9fgX3z!JG0{ zGL~ahccTE2Ymxq-hg;O3>Nkq(CFa=gQGIHSezYW${5F+`Im2J-(gXtg?`y^G_3(@) zG(XoVmA%U*X`6MKYXt(x`__-OiK_fm^ATw{Dy9RL9B=dL<9JOOUtZvh$Fp54VU zo_g2f#k18X`!Zm)6ZWllY~0)uUF30N6?&-Tn&0R7_K+$?hOUGH*w|(mlN)HihCCAJ zSuKE3g6qy&Mr#9`kghLwn|O&Ppk4-zP4;0ZcqD@B_$!dC#!u#KXPhhcwhRItjKn~a zGK&MYKu(_nZVOnjL_x$boh!JXX9rXkpr^Z^^IP5V75AnD^&fciQwuRUp4=qUuMZLC zvxZ3P_xG)Hkw#hPf#rjW&dIs}8bJ#!H@|{Z+7t}!82vytcp}6qUu_)7>Z6ne7Y632 zzsx?jR;jySlF5efKg$AP=MFr=9NsxApKX)h*M6)wo6s@LyR|+$`egw<^MT4pYs&x%`CMT3hE8+0AbXQQOX4&N#R9 z$5!U$8BxmbC*ZP+kx3)TKtGk`Bs(WYj`&eDFsuE+Zw277S_mL-HqVgPiIp8U-%-T8 zZMocB*EI?k>NpUk4c3I*E>-U2fEq7Ze?G!*mND$$`gyLofr0|v7H5RroK~!JS$mY( z>M(M_r``dU{!>>4J@YN)j{&NdzGZ)wM~Dq5hv6hgP<_JIjLn~v$Q+-?9{r!Qtbf5 zRkYnS#fmuxr-SYn6qU_fEh-;miWYZ9^}&HuM)PZ_7QJ7$)DlI3i}>{=YmLHAE)Xjc z5zy72r=uEd7C3>dxNXFMa^qzdZwxP+BM|?}qr4Q-u zwvDmVR6U*YzNh3MSGTMPEGykERIhCK!BQcx3)4)GE>@Azh&U9|XJ-?U1{c56@3s4y zO8bm{3fG6tB%pKvz(pn=1La`_9170oBXK?j0QnYq5Saq@QNX zu>#Ts%x&yyNH6Yeb!lUhu_sybg-WY-YP)3p4BSMOZmv^Vu^r^1~%z^HFOlO~4Cr-GZhFy<;JW(zFTB#)*- z?-#=AE}i;Ff3jkGVb<>iM@DLc{l)YXRhsq*r!{TzB*Dl!a#sdXh>Qk}&+nUjPHLXG zPcAY-SWAq=XFW&=G@KP|+O8s4^|PE7eh{Og*f)1;anroz8u`8aMm%lf^jwI_! zO^$c(oVD7Xr*C@B?+I3(wmm@#DzDaO0v#KcuDfd7?@gH+Dmhq>*%34_bQEYE8_Oiz zqYW`SP9)1P_fqQe-oer=NxfXJ(5$Gd#&&jd0q9X{sI^6rVoRSx#)nfXi?AjJmXFL2 z&<5`2BJ1?)$&mY-Q1iMf%_`?=LT##10}C)`UjK71lOOEnKgCNTHUp}~P%?7;yp{v( zsjSZoZo(n!O;n}9rRx#J`OVSA-`)JQ7=P^1STdUHQNLGWCL#i5k;Zr2vu)R z>oYQT>9RTB$m+l9xPRTM49QZSj*N?2BeonEbqK0-d+IUPt$gMpDZo20_3r#!1*7i5 zxhPx{xn$1DH)_U(nqG+GHOgV?G)IAT3bL++Ji!y6;x~Uq0pE{BUGN-k8^<gWNSi<&miAkA$UjW_*-h)3Cnq_Ef!GSik$~APym0FX<}-hzyvnux;5gVqcgZq3{%RZ_ zI4!mzwm=BT(9?TWpShJB?sE9p-L!Gxp_o=3nkJVB8NEBKDN-^s?^`+6` zhc<=a{n{6Z`GbEur6YQ9?K(bGE#`rY$r$>XrS3wL!A7EK^Kff*py9yDzRXln`a8HO zzD*Y_N4SfSG-RXGzGbR#_A2%nwQL*ap^#TLku;O4zUq*&WVEsEMw8I?N*1qfa*7jf zv2xiovD7r?2f&rzIv^Tm7Nnrb@{nj88#2`lpRo!P0itpNm$==il~S7PrAokaRCla^ zsp9n3=7WPwL4PT@MMc>TNGMOh>s+F>SNhsw$AINwRyNSA$G+)vKpE46+SD^V^}$_B z87|DC$6%>TXDWBfU$>;aSaij`z8FB#d-S-Lx<}E^-W>awVPaBak3Uh?RLO>oNGMiV zN+x71zV;2ae_zwwF*^*Hr{AX*k4VGKhAuawuWC)8c+2=*FiXNS%pBUoF;ip{~F zfzXGAyG?07xrSI0j4G6Y>pAM>jOO1;Wjxj07+hk|&~El91xhC= zfqI^$_Gm}yq(4+i-^+WmptNxW49VQZek(DC@t&x~{Z@cU=!V>6cmgz5ehxowE&zXQ-Fcy83HE2{P}lU2Pt^E7+hP1zSKTze{GeZiZ55~0ZW2JTjH#x+nq7f4GYEP1LoA? zvdRTtbA@nRM{*(-{dbghgi)@Po2~~y$cLcMwa7b#Uue5E;o8HhQWHa^x#zl{Z;^A^ zU31A>nhw-eGy*+_7WtO1MxM_PUu^ici~Fn{bB$Kg(&Bl2(9lw{q?HH0Glxw2Nj&F6ERL-uv^QYtRT_<v1^b5J2rrVcEjc{C3ULzYqoL#bz4`ex#55{ka_T2T?44OAXoxQL#LuvTeIQn z_yycxBgzjwzy$>C?rSS>PDv`KbMs}33op{tp@!GJw*72g7B#VnsS`SauIAH&YN_#f%XY?!$EE;6@f9msiqQ9p!^ zf=sw;8BGJPv7DdIbLbC6ADcx)=iO@{N^5hYn-D#%BN}@k;I(=G`;@Fz^7yX7!^!0_ zQ_p$5Xf?}ZTvueOfyVsq)yRE9-w)wWjwwGU#9wj#n-+*Q zaDBuUW)lBo9n~rO`)=5ez<6-$Ai?PSiiwD%vV|B4k% zdB&>mKXF5n!$p<_SF(xTn;uzY@DGm-+R_)EOswRqYgXSk0$;;~+u&|bKIjJxHl1!C zcu3@`=0xZp3hga~!k+I(&*;1i(ONl? z6$fhHOOnw_Y4!x63AcV~r}dJcZ=Zzm(fT*KCUl!D*SemxnI`ce>*jW{*!EUXI^q5z z?xyoesHEnf*HeH!PJVI#R;#}#m$u7c9UKa+t5AZcM!S*cq;!PRO2r^ECXKbc^?#$; z1NN8q-x>B=hB#mY^=93-{p?ys4$x!e=bR6PfNrajXZlUxf(#Ax@E95wub59!S-)m5JLEtf4%SUvcKYZ(m}F_fho z2z=HMud$2*5sgOmqn%>SJAHmF?mspON>-z`r6Pg88GTg2rQNE&Wsff#a{UE?20I{M#?rWvl`194q6qAI$BS-H!?_#jJ67 zo%lywH|Cmv6;1iOwP--`6^>Qjm&1|)hw~I$lxh-L>YA(FshZRTP zoXWk=v*|Zk{&Ko3!_ZnaV7^=u{klS}-q>HdOMAaT4%TNbziLc|=n<2TB|d7_YTX=^ zEO#525k6*#ZyC`}0e-R{8lg=?(19>?`E>I;eWF){V>vWwpl7AfAC@Ue7$G~AL~Z?e zujoAZrmol;Sc2o<+bDr5gsWpqH_JBhoCuM-vj2~y^NeaLeY^h5IO>QZV?jsiNEITW zLg&y|-lEjw5tfU}Nva4ZQVe#n zJ}}s+D9>$hJ7zMZm|A~YxSdN3W-R#|J^%sj6*s6xhu16XV3;+eIN7-3N$ootG**qK zb#VPuTF2!Dwd>UG^AW%8;u4oegwGr5owx^48&r_V(E@>5>ck%mB#^%B7X1+WlBF`r zHTvkefS=+k55qcEJ>3NZ20h@}IJ;Boy*_yy%!2>6C3dAwed+}jVDAn-js~ms^>>63 z6qMT(rXK`%2ltSU1C|?=5}nnS6%`X=cHY1CK- zP?!c>P1 z7J8oiv@oBPNBG~~$sF7bq37m%3LbK#k9vKDfXl0qW(u6>kuSmvU>|u?j$fwmb&jS} zSvH2ihgpn%bLZa5g6t(NK$MxNn2)18`VpBodpuC&ZIz>5){SxUXQc$c90X!JbUqa@ z`Td^U9biRkm^Qz;ak7C)4b{ZXrBgFdV7!=Z_x&e%G%dM-X9eOETihf+6yE-L3}*gV zsM|r{L#TvqX1C|5Ha?0~7A)5*ydZK;92N>7fkPv~{qWKIh*KAQYuHP-_oy!>v^xf; zC|sN3o@4-3Zc`)XMjnHrZZk|fK<8ci)NU6k0D@L(z|F?cBKr<@&A92+&X}px3QAu0 zW2g#xq%sX`QJDGq8>#!f48_i=9wa4^QtrH0?EPl0k8as7=AY%DdOZoQCDZMcRPItT zk5PPDp1!pok5HE=h3lK7RDTixyY(Kl8ms*I*XRXk2Y>J_`y zJz@USS@L9@Gn~_l=>FTW+j6n|IR+azdd<#G;w6bAT3k}~mL-_8N1ZfZvj7Pk=M7vs zWWt)=s$>$%Xun}}@?-ltk}0mH*CckxVQV(3FnD_wNlV7lK+run)<#5+T$8c)yWvEp z;3O%0@91H;SyV4n1V(A~qBcPB>~iwA6FDCu0Dzp|jC(V5|8;T5y~n$z(C7H8Vs7<9 z!0pl=lv`WP|8?uO{dn6N_g{)~gpk|q-LSYS4v=|;2l3}rg9|M!?%TbuliB5)e`_Ec zAFTm(x5OqsLt8s5(%JB&IBPvhcy%fvyF|VH;{!fza^G&s9_D|-LrJYp>s^8Hs^f)qz1eSb1%T8D12NT{q7MU- zmhbM8u?u;$jg)d+QeezZ#pbe}@ESTe=yk*IY@^180hd(l!ODeFlL7sUEzU%c=`Y4u zrV)sxHhxOSI};Qr3QUnFO0R%1@W|~1yoZ3(FS=iQr<_ZB-oL{3>ZJ_cU0)S-O7h%9 zx}J+DHqkt6b13`Lnp3AGA6FbE=c|p4_VkRz%1T2fDc{1dW6LML36o@;#tNr#b&v1e z(vsCs8XmPV_TF*yKJtYxDLvt9$A%Qn`q`?`JUnF_u)M|H|H(b928!;t^i)9By^_O50)xD~a4`di_ z0-zozn`480iBGW^6kVfplbfv#J}g~%pMr7w6P`|1|8y-qp-|GlBmeEpDz*-p$lk2% zBm;T)z{(vEBm+#ar1M>Nb*~vUUpb8EZX0`jTwCRx3n+*xI@qxS<3bakdcb`;Y6&F+ zYbk0<&bx=*f)H~YYZV@0YT0&zV#OcQCsM3}CyLYkg_FmUk4)^>9A%1`5>o1opf|J0 zN5JP-4Cp&+IGp!n_YZ}`GU%=0X6HhI2lkq-DXH)cy6Pg^sP34o|Jd>66gD<7_8-}? z+ue0MmkiMS{z8(_5vMl({0zn$++rnYhD7M0uf2Y%*W2&(szI|q+evxSP7uSsBpXU9 zJ(ea+9>No{z0&llk?7;^>r@)Rt5|Jao!rZ(bDJ788>(GH>^e(Nn&NEy?RAQ@)00Ge^021sen`{g<${3SHQY+f0^Kf8^}ptU{w!y2)C_W2ZViDZE%Qf zN~p2`*SU+PcM21k@;bx~GXgGFK7Y7HL9lpo4GAeu9=Xt$mc%<_3)ibiY(++YQC2X8 zP+s=sV~A7?WpS%T^4T7F&)^;k4uSVaQDCDb6fd zP813r%BA52U}$GOXazh9AG~GT&m?d+qT8!mh?)XPP50t*a0w%rOGqnP78l&v+o9TzCtv6;UgNTpX66l%c9L5ls- ziD+0w(uKXHAjChbQS8Wm;Eg-0Xwps*3`U#Z3bg`SJjc^ke|_;LJ69@)ka~E!8mQ;< zw|Mv?I0hWgH-J6riLopH-xB@fFTB%Dg)dnML+*wZ*iI4Y|93FY@UH>8^NDMG#l@&e zmUE0(==mR0w%=~axcmoZ*ErX>b(yJN)`6MiaJ$0q?)k9k=8nMT!_jtHs4j~^*Rflb z*@_Pq?6&#DOnc)uk3jhszv$aiv_^)C0MT$eHr}KZGlY0uGhg>HCnU08@8+|oJnmq) zN`zxT!6?g?v|E@;E)UmzC*F%12>2zK`a&lTkgclHokF=QD($6rpnZcMTrW|MT&=2W zTHKm~pu`oMg3BJ+n4bCawJ^jhaGILjrxcw@%Y#HQY$)w!} z09pu_>u0uRQ@MdyiT58(GsrNwN3>|Ow3KT0MR?A67~5Vg+cIulo$B&Cta#t;hrD}r|kj^hM%e!aq&DTH_cS+!+$^3>o^H@ZxYtj4nQya>R6ryFT0&Vq8>6H z#MHAm z+>Q00c1mA`J4_oNJ4~OAzqftR)6)VOM(s|rb=vMNQML=^yAlr4xTA-x7kOCJMp@Ec zjW*FLt?%erI|DNG3OI4gR%Q6VQdUe@&rV=ba|=oJxU40H=J+f8LoeX5y)mJ`a0Gun z^eW{|6)shCYY(k7IYCbHZcU=Kwzcs%y0tFPwj$VcjJVvg_4DCh? zK69(BiP8a>@U1dOjBSl3$)63pz2`f1xs57&Nyt-D^|v@Hnbi-~HdH?&G)o1Jbv#P- zuH($YIfux9fyYsh$i@aN45{m10{AWT62?S`}~HZHbB9WIsM)GZP*nUz-&*SvfjI);?Eruph-WVNXpZ8+|4L;p4(XV0 zAhO7R^ek#WE82w0CpS3F6!_@~vms*(d=z9IQJLbcdJAyrG}_!gps|C^G^wHsTQUdw zp-NpI;@4OulOw^mdym-Ly}#_gcknnMUIY{y)thehb`C?0{q;ah(5`{Hh)N6IKL9>~ z%n-(ntz!G#r%&kbs1YDc!4k{Q`zWG9ijFbZxJ-DuNl^igX~hPUb=vlxNR08hWJB2q z;qSxWk5pES&Y*k6hpEL z^P^~HQhnxC*l(!lm1zp^)nR1HW#&OPxGy}*<<>(*ZwMdNzw5UI9qA?Moo=_Rt_HVY zF0n%N8mH_ltGuJY0%PrjSc9&B|7jp~f^$6sLc5&6z8XGRQ1sed-#Q7C{uyfFW0s`t zq)dZeDy$RUFB<%rK$C)N#cQFO;tj(DQ}0?d4aCS5PEnDVOmxen=FkDy66n@u-!Y0d zn3~)_PM}vc(Tkgpb%4>+bf?s@Pg&pD;T!3pWlnD1 z=Xh`bsmJZ`f-v}C?!>Jl#{4Pq8sQd1c>7$6zVRPU?rBFu#^O#RMqez*C&hsM2tWq4 zy=?7MSQse%J}AS|Dll%fSMA^@wTiLu_E>^k+)z^Mjm;L=;m3JHTSYC!u}=hwj2kUJ zKIHgKWq&0x@xBWpDm6ydSP&|LOO`4J8CYh_TNP51cwgjz?9biRlQKgUk0ieTm_TtS z#{Pf2=f}VJzg#qMnkh)-pq27k^k3|m4SoUM@uz1T=~Kk%(m&VhhuvYd3%)fI_4(FQ`BZ|XKg27E>ceSXEq&a6D?I=-2BKDV-l#v=^feD zZEM!r0x4-D=IPF~HzjZU(|gea%JT7AEL z{((7Ry0$~5wu;RA*_W*5UPgO>StzFX2jM={SD%*W9l-PKVJQ1#S)4PO%x4&$14sT* zoGH^oIUPQ^3^0vQ3KBPhIn+vtDF0i`_&Uabk#1! zW;y<%9pUE7^gjk#2u+MIBvK}z7jvcNvLWWlL|Y2xIbi&PPYM~d*wFj2gPO&WlKnWA zXG)c3t_s$igym$DW1#_fzyN zMek0JUB*9Rl3WGd!XT5eTM{NflU#- zTnY3-p~HVay+(h?7()Nca3oK71VOk-$OMy{Y^MWH{^v3zJ-!A`P0y8iw;w7H9YQXO zTZSb+>R%8-xnvf~B)Am$LXj>-z3j5W6q>e_`-A-4F*JYhkte_osUPa8OCeabKySWp zv3<&+_*my_NT1rQi9ngvaf=)9FKw!BuVX^h>G4kv0(6_25uZN)KFJ|{XZ1>6tv~h5 zZiU%rJi86v(Riaa*xtK_dA*^Ye7-FE{oH1K7jo$PZT+uC!OOZnxAbq;R4E4P!Gp~w zP^~a#UFUTqGq~HDFf+vm$I~=<qbQ%GH=cfy&HTYar)LH!4fGu^$Ziopas+b_voo4X7xY2IE2+&4UmBN9@1(8vUI z{?XF%2zD}H&5>Q#v!uNs*Xd+K@B0VVdhgEF>ntQF0LJ006sF<&Xp4H~Cr7(snNPqf z)$%Fb*of3jrmlrn>0`3cem|U+YSU&DPZ@H;zpG6l6-PUPu z@jV=q7WRoJJZ!auNkAzES(ukYL(%~)p;>k3*;_EwXelLhh+G>Zse&sN@h#Wlk3eDzgDL0@_O!5ecUq<^28>K4H{2%UsyiDK&+4wlWfxtO7N*JJpEqtc<9d=> zv8but&_zfIw9M=QkE3$)kkMP#y>vK;EeFu-uTs$O5=T~~+>QUp(QHBSd#kr0nNT^R z_J2Q}C5(>Lc_FLtk2P~~{;5d)sN5ti$kN9W`Ul+Zx*E_#L``rm1#+*~8Y!?x5{qvK z20~g>|2g^rE7b-jO8cBW5sGuPEkd5xKCp7|AR&>gmx&u?U}VT zK|<*nO^_Bx@Ra0E%ucE6dhZ6JZ1iy17wXr)46^C~rxY~VZ8X`@M@l@MGa1*Xt5>`Y z0ojwbbT!o-{5r^;K=6D9yHBc_MO8(;TsL(6G8JHTl!ycB&74A``4LkB;Ma>faBXEpm#3p56B!P5CQQ=+`Pr?0y4WXvVZ3#Y1={e4=JNI z{AWldcd&nA$3%@h=4t3BbZdzPd@-l!N_ z%#9(OwQ)nzTiS zn*h?i4&gwxWzVKQ7*Bsr3DnzPGl@5g^F-Z|-@#NA&W1K-!`16kb9{7=A!ldfV;W7EuG>i`SVi#XQ`dZO9r zhdW*+8N(SwsQgIk%)7zkLAbP))q&g_Q0{3Ln*>yrI@nT^Gv>pxhF6`r2t_0+l$Fw) zUR(@AdMbJsY0atqb$R2Z6C5u%k#I>jCVqjVyI*GqI+!#1NaR3p>;os}d>6 zA!pjD!KPMlH$M#~@9>ayO|KzxP^=!eM!o!lp!J2}zu5#HxmK;}DN?pYY=vEx0g^g% zrH7sC<7RDV+YX1dS%cWCz#u=3kOeMWDc{+Q5}i0azsfZ-?Hyy`BQ@O719mS+(`I&W zlM_N_G3~r=OM+!thbpTrVPge7Zx1Hgwu*h4gxFY;MS|{_UjwR9tO7b9 z45-p|rGN@K6&CXqufeB0v_G`>SH)S)w8;EDRL}gZ6%zBK)z*+yV%YU&R`}OMcpNU_ zKIKWbGVWprba}zAqmqqLTw0)!dnxskeH_DmoMS}*Y zR^(WN%Oirw0u6NA!IoC+vnVwqL1PGa`SsWrwIw zDk3i&60*Lz5}fu26^UBc8@rN?n-Sh~Bd@P&LFWEf3fYivq9qY1XDAjv-xdtRs0&T( z*YDm^wM9Cj=uOk|O}pi9?}!P_IqHSEIj1GQ(4;C@Suz*0jl5J+aUp2=WP1;Ev8==B6l*RJ3gr4ic{t7(-e;`+Pwly=EO?}!-kmWnr|45zwL)h0ZtU7 z^>);^sXlI;RYF0+&7Rnmh73!cOvKi)`;d);knu&D>6)6X=jA)wJGd!QYpB z9l&<_s)a1RD0pM1Nyn1|uD^~gXzB@u9OE@1kg=%A`bx6+XJJ;_!i3XK;G@Sd& z*b&RRT}-%peX zKges0;?~#4wKz^(f4BB?2cd2PA*0$lUHEFv$ZC8}b_NjeJY9SFM;mHx!(pJ1e=07} zQ1$r^S;!w1g#(VxB7_it+^PtfMBzQi3TN-3qtfdSEj`s3ZynBFm&!}H6T0;Xr~+9W z+WLz=ShW<;pvJ%Tnd1m&Uw|_BLqInjC!InBjZMWrm^7#^tKOsHdeB?ra))&woz6L*2it|+ zYX0lpTvR2HxuGRPP=gh9dR#(>YK>ZV^=z?(t7}_;rC|iY@zrLA@pbY{GWfOlj(x&3 zZAYqo9EYNdrI*-@F$!m;(r#Zd%9=8og6qz}XWtU++i%97k!gYMW^-+m%si4{$met5 z@EPa_jOYqna+F?JU1L!`k2hzMVY0|0I6P@H3T+2s1pV)3?h%MKr$hQuq&2bj~AJs@9W(8WXZ1NZyrtL^w-c-gcY z{!XVS?9J{B+`AkZuyM}PrylzaT1tXo)-E0-*#T#K{gy@jh$;s&A3Vz!*}4taA}VZG zYnu?vYeFv^FL|HRw)(!dQ^Y3q%x@kcPXi`k*Qf6fQ}&WKvE{awu!RVA*5N~%6@qGu z9+~%&aFtx{uY*j4F4ap;UD-JGkwbSmO8G#*)rnp2S;ieo;Jh+s`D?r#V7!Ws6z7P{ z&CxScD)JS~*JNX9VZBXGBPAK$6&y${gfk<&?fnm5)FV=~d{pq0Eokm`O_ztV4LU+X zQmKlr?t}e}FJ!mxbhpaN`!aH}88fmSud!VDuYRw3ruP|PuUnYuIfPAgw|ZEmg?-s@ zWRvmrf-Q>>=mZJK@?a3T23!lf?BXnUy8V-!3RPe8$Iig8FK)4gr;Zld9|-cl^{j#md^rks zZyyJ^F%NY&EFbjq=0_bqlqE?!OWY?V3YtqE!i;4By-NAU==+W&$+3PB1~(Q>7IR;H zQX_l%%Co%m^K60^%qB@Bl6WEi<3WjFvHc4}Fq~Q8dU}s$v}|Fip!Cbl?nHAc`r7s4 z4+Eay7R3whPcm^jf>0?2`S(GYS3_Y!s$TxC<0|5qi>s=M0N>u|vzJma!TO!Ui%VLf z-~9fu*%R<{h~G`OZ{bC)HQp!Z7JW$8#ZEJcyN%}@LydGh4{|ma=5NevADwOKi(2pb z_zL??`#@k-vTQsA7!hzs;ZdJcwC;^c>U8tTR#g|G`8G%Vm(f+golP~Z%Bn;>w(8beZ!+c zlBrD9N=$x&4Xq&_2pkDCxb%15*i0$$@AvT%W9XT%maE4d)bY-E2(YuXCfl#75{INn6v$aFN`ZUQ5UVWrX-8sDeeNrzRQqZPxxWDo*cpdvi$B(o>1CuXF z6M&$OHox)pI5TTHB9`{#&$f*u86Sb9zksZf@gLy9Z=TTZ{FZ8F-l(w%!2Gv;>IU}k z2qXk0+g3;Y^C%<$l8RO*qlCNOxFjTZ2tT=BxGON2VE_|obpPSyl(N1kt87y?er?ML zU6IHK7hf;3^3Pk6f%nU0xB_iBq{aP`%v0LiN*CK`Ui9t+k@9)@L4T7m+B(nE1LekE zQu6PzP-JRNnZBO|dY^$y4VEG})$hPr+EypphWU9H<#y7{&#zL29Q!nU9M_6G0>13W znsx^amiU;Zf%Fac)21xc!daaXngeE;A&NwM7QNSj}M+@Q5S2K*$efe1uG9QjBRoK8j^Irx1E%zoVAB_YK;v75k(8R|kElh3cD2IpOfs=;H zcn6i#6fs8E+J!rv1=l`-lxZ0F`;2% z8hhzWhYuO_bBu3`TZp(MhKWLkVev)uRp>xXra5YqT@w6a3(d;F)UM;{zbBOmXQs}l z)=Vod%y0aC$U05M7#S_K_%*Wc)jHo$61tO@HxaiZ%ENA!fbhQy%t2^+MUV=C#h0co z&$~Mv%#!&Re@3qC;AV1@N}AN!gXz!u+uX9^w(A7#0s=!Fi*cLcB3ynL(udS-+jHSS zygHPfmFpgY`qXWong;fN-fi!xgb)4jF0phs7d|(nSTO)>=R$Bjw_@`0bEy8GIE-=( zmWbZ6@h;BkU)@4=G`D_uSEYAqV!kvls)nwNUi9RiWw+K|4d=LL?BqkmFZ$>H)t6u_ zG*D>li?#(xaL_3--CD-8LtKp`%W{=DaBnx6xj~C_UER@X-!TtOa6r|7^qhl2tIp>d z{jbKhPHFPEqAK#Kd}TK2GY!ALM?rNmAdM3w+pChn`LOV9dCbXf( zeTt_!;b<;)tBvcVevIH1mgM&kNxjvFtkS5j%;xYLgakE~YN*6Pz=nuWMaV5fVk^z_ z*cvjI{erD>uteA=-rYzo!46p2ZZ_nGF$BHaqL|#Sx z$~N-#G3Mk>VI3}b4rgvMTfB0EZbmZ$3r~mgGG`Gp0k$5^j3$rT0=E7FxLk}utXz(h zg{Jv=eFvJ$W%*Mky-Bk}7afO8DBH?v-FS5fD#5gUW$FNQ$~gY6>_*ABOT6%9-Y);IFT=!Hqk_h}$&Oaojl1_&u*!;E=D1W7Y>1B- zxa4x)uF6P|UXn3=iHO#xHQVeDbOH@0&Au%^Alt8+9ty^&tmLF&&2L%y7kMQTl@jV! zpv-hBLQ^uT9FTl5l9}!k!L<{^$7y8J3B?_Qc1gbq97>w*y9!dOr1w6{x}vkr zwoqECFCyKU)4{j%)0(wc%YOHvic!;16K^7bAiJKi9 z+EB_kY;03rULqR19)uV7_>3I{WX;ToDR;?3UC1i3gIMkq^}T*WHf}G{iSV-f7_;1= zw5gag-pw)W$2D3J6Jh4pz)H>5b}bINY_a2(>Rhl&nk7`&Sj>nJXR9H#xfDXyCFl~U z)>lCxjysa6=(V&Jiv#$#CsZ8&LE&*WQYIn!8;MNocl`JkUL(!t-IYCick$6%xI!)b zh{`ZRlZPs!63Ygk3UegHO*XsFo6(j~f((xh>29)1@56y7)TBRHG@nD*xPM?(KnLRH za`p{EnBnzbig}-`J;U`tX^EL17E23_QoaPoToPt*P_Lg$$PB6DwhLQw+nY_47DLSO zxxDdk*v7Oci>miyB#fP*m_9)^W3SPK)DPi%!Yh3V(TTD6YHG-@N#|)dEd?ktjGKN) zan|iViZiNHuiVG!LHL#EH-h1l`5o2B0m+kgb5S2C&IN*Aeq2EGZQC?(qUm5~`r=_|z9vOvUX5o$yJRiAF!Zu!$*NdXBtY~I(+@pez6#DZQF}k< zcw;z;Q&gF4ztj2|B*(QIb+E|sF%=%kjNYXg%F*n_vi=l4yZ=8#!xu54{g#dqv*&?iny$715M6bgqhghsAF|Vb(Vnf40Yy=|HI$70 z$qsv(`?N?49qxtrXVDIDAt?&!a4pvK-<^6*&&hF>c;_uqk@fdZiT&HB2sgDlJVn)G zJD0%Txbm{Ti3{@(q8KPcQJ5s{p)KVoUH<*<>pR&l`ZUvSz!9hA(s?w%F{eQvPo+16 z?o6KVPAR>-KGwL|OA6D7;xDy?Ua&7(AaKIka-Wv-;bk_5kO@l2KhqU`D+L&_o*GB! zG|z&3r6;1&_P!i_mniS|zl`$9teNi{goBKjZePc*9Oql(c1&xJ`m~ zIR;aQTYiMo%ryU#Mw>LxIAk&!i2Dq|d*=|FQPEc`Sk^ZE3ty-Uch?*v3U^97$C)F`K1`h6TK;7O2rS}L4%bR7Y<=UpA zGeq>_&3x*;PA^bNSq84v*XiQDT$yg~N=fs9a&NcdF{UzQqAcFb-MJ|D^Bp-l*sJwB z^X6nAWvPN!pjy`U2PcSde;h-hWq`jttr>M#O%@WiEL$4%Xdc9`GTq8C8BY5rF)iXQ z`#|}?!^E8t`^}Vi4{ztqy|xEN<$p%j5y~D@qo>uP`4>$aB&6xFtzpPJ1w=wUjwswq zX=+O%IK(Cz<5InLE`v3|U6tDYw*u0&5u!oVT+1?zNkz#T8$sa3Lo1Rk)^xpkIxv=h z)qFn#wK~a~Yl*}k-^TM5G5|5?A@H*s>Akpjip^o(9~Dc~H;jx47t2_Qyf}y_icQvW zg~Rg!TYmYXZ(vPcm~eq-N=~CcTuH8i*{EGuQL}35OKD-sQ_b6)E?4xPV2h^X)8&u1 zC`#x7KjO^;ePDN2QhItnbIKFJU)0sNX8Ht3wmIet5E@EE?5lJ&rdcgYz#LgE{f`T- zQ*sA$b*m^#a32;BuG?0YWQ<*^66S_VemTgcW$kt)0=r|~;{1W*vqk9Qx%hhy8cR;L zJB5~rypoXquO{Y%T-{OgeN%{?s(8w*CAK(&0JEDqPsX6VRKUMAazET=eOiK?p|bWq z+ncx@GKVIG)&xsaMgbQsu7+P@p_8A^R|C)Ofb-$A5@~%vDP7RuoQR%3lq@*byLr zhp%>hH&zgX%N#63C4ad3ljAmr5Nvznxr-Z2b zKuz;QUE(HNaoha233InGKnF)}+-CZeL;L@JG9%5w{>Ckr94BmJL^}_Tn)GD_1Ae_g zoSdd(p$$DJ!=1g9S$g&NuPljcum$hRekr9Lb=qr-V6Jihg&OGrDobQ_@Pbq%@eBQ{7)>6 zfTAlEn{^2AcJ!(|>X7a4(dH7K`4Dcp>d(rO&ssciN7Qa&m)@nM$d!d1Umf6IMBMa^ zAbyypusbg92#+pj4}S+pjIcV%Yh2DbAGAg!vZB;36oRLED*O3h)tq(*iahQ-VTJ_* zD{PWsKpt`CHva+(QueB$qhBE9agjT95i307lw~)oiQh{ymG$or_sKBkjfDx#IB6M7 zak<5%0AHHMH8cO2lZvIkJpgy?=t7+7Pl`8}BZ9t5;@M6ykp5M+rhBQwCxW=|nDMo( z`zZ%>_seVqDP6wQZ{K-?u=Q8<3lMor&}aIVZ$XK8Kkb}7+C%Bu&RD4T$UzHKE@L-g zq^Ln?!z^<~^w}sZT^$McE)bcDmvD8?xALE;%knGPzwWe`DOD=50d3MN_Q}F#Mud3h zg#7oD^fJ|;IqT%r*j<2f4{xAZbF3J*+b*o=jg)TL+1TA&|bot5ko^M|cf1_7UdlL_k-w=)AtieYmV_xB_%5lyXHXl%PFQ0@blIlWV8c1Xy>ZNe3bn*W_I?yvx zAtU5COG=zmy#H3f^t`0amNwlEHR>2N?TL9hpTpFJ(J!3(G-UaQO+hEktag z+57TumJO;K6GZ`MyB7w*T**tif4g}8?})JO5X$ZK;e=3YBIngLBR;p9nnk&%Teits zwv%MQJ2-RJ? z@q4LGa4SW1F-r012Bm@h6;XlNL(%5OF_OrXap|EF+Z!3r3zf zHS*cyMYG~xJh{WeBy2&J8o7vFn!C$Wx>=H5IO26fwMaEk-%T;f&mIxU z_us_4_(W6r{bZrbE2j8BCL>SgJqh#-N)9emLC*$s`%Xd6qOSJM*Bs%O94bE8(eWA0 zW+Xz*W-nml1XNV3z&4ZyP$FtC*2W5h57Xu)QQq$(&;^;$OiKwypwaC`#49maT%Ncy^l_Fkinj zlW+c=6~CXcHpauS!!1q&IG`&VuUnskOe_ZdUW&?kCY*p1iaj<518Vf0LSvz63Fu6< zxteBzg|-dX8&)aY`>&vXsK-I02^1xa^&CKct?p^3+~^Qn zB~Be99o$_!b{`>41>^lXKXU^5b0uC=u1J9LX?R?A{>XII_5bZrJvt=DHSj6OPfotPIZcdAe#d z5GMOM%o(?q$DrxfTf;jm!NW_BSQ^gG4i0hPZ;(KBsaF=HSwa`E%PN|Hz;amE$wM zD#E0>kSP6=>qZ$lUmh1`_>s+sy2&D2r3sTiJ?ZNm^^b$O0oqO{ai&zThwYV8XnT;UGP;Q+qEMC*ybPdw zkwZ>DM}n6scM;mKA%NzTrmNO?qf}%g>ZLlK>VyKe{YcecsZyp|S3GwI4t$Y=Pu72L zv#>9i*R&5`hm)>tL*Nx*YZaq-6&~EXWKsouP_sU|n+BW{y>bJAM*&r1qmb>=vIgHUICcWJLWN|cbeoc8o1v~%x7;S zoNUX5N*@{9S#k7`t)UL@x4gZi$|a7GIuRQhO=4}{zEzD|gB?2Dg;7Y1zR)_aKh;6Q zoHY*^r>Kze5~XynLI1X6loeZX)NTaqv(@@a-wSh3s2KG|KsE6+XB zr)lJwL_HQLwgnupD#A;$^~JHyq+TF{uDh004lMs6%;69#mL28Ta$PdETzqAvW(&AW z+xlE#&wyd4Ccg3H?+-a=NglWh2YfL*x?}gMHvg_5$)BmmJq=^Vf8Sii`f1R-ZJGdb z=ZzK^X)R-F=D6Tvu=+Qi>dKuE+A8W-I;ge&gphF1^oy<07rPg5^c81AIk>T$b{fz(Oa4t2&d$)O$@yMO3KTm1gC zC|TSi?1qDw3T_8q>43aSet6bRyNbfm$>6`oA9&bAJ_Azo4V~|-uSB;a3ppmswwG|F zz~(EQ@y4?NxOfn2DC6=?3&`3dz3S@v41T8cq=N(l>eu5>(n~-o$(bdx?&j}b*=S^* zk&$3!t#uTuJM+!94;YW`}Tf--c5Z6Gps~( zg6**$qmeO+7=sAz*fmNS>wa;}#Y_vT=vzl$!VaPbDp@5!JPiR{8P-G*M-uhE!?HE) zi+u5{LH_$8?Y3y(o|yMxo-U#DK60vXesH<;^xEGEPa9HtS2#{qrJQvO8vaiS@u)2x z61eg^xE}2|@r9=#^b@_p%Xm`LE;i}6jcpPh7Rz&-0GU&*N6J%!MJ$8LAWihp2&KQ- zGPvb+49EP;q#XtooCHzr;%l$>3XC*ij(VkesPH5pM{6|0ljMh3M5oq%c>m3Jk)~rO zxk`aX06z*!9ycRb56e{fTMJxA8vf!T@eaV)+jSDSD?{8Iu#ZgHaEOn~+euJ7Y}_4Z zl8z9W`R9*WUFx+E_LYlK^mBLYsqIzhQ&KH~tm4jI|PmwKA5=aX(2GxMqz(OTL=shciHqcqJ573(aA3qW4EWVUNt zdUG*B7obO>vfOMX(=3KIjp2E31<-SOhB7qEAJ{OmOiK5Ls{dPKS@`?GJm;aIOF@*9 z67Npj+nW2SRPE7W?CiWydmuTKk; z+9Vi?>pDQETx*o0+Y+K4p#-Qkqk%(>Gqh>-(5-gWIUrjL%K>|@{&jFD+u+YxV9BYpnp^tiJ zajG8x$iQ}P`XW;!1j+`2gCh^=L0`9=Ng?vlkQrd2Y7%~J?BSOacl9=ha1;361QEMWPBSP|DF&XG!$M)FpV1+ z=|T9wMd|wEZ{EZ6SKX#-%njEoGThL+fK15y;wU^7$NR_wjfVfcXUBDn9@Z@igbTU! zhw(5d??Vrp(3>NakbF`$=S#t*q>amrX}(&9GL1VS1zgGOHQyrPG9>_4GA&Sd5|K84 z*#iUkKYqB6W z0LoW-<~Nj|*M$*R@qA|BVbxSHT^jN3km*a?c@hs6k0WQ7h+Bqol(VT&yA`WHNYdJs z7FxzsLGPz&Z2^D7CTPbH6ZNs#0?FXDZ2)aQ&_;XCmK>)t+vxTsp`U2+3BI6zAs7s? z{8(w|=hP;{=&AW@KV%do3o>kGr#0h0tBp#oKmIxfg5q({vS=>9?o?C|KI2Cba#+jk|KP{sR%hG!tN46lH-`e?otk0 z$YFAr?e2gO3n6n@4s+g?m@})Kie|#h`7r0RF*A1P`~Li{>-Udqm(AgN@4eUS@p?W^ zgk^CzcVFB3({->2r}Pw!t;`ASuklPebsJ@WNhNr_sPWK5ltjb(|1DWDj1i{bU{` zM-_fBR}Q=#;f z>2eAP6YWQ{5G7RAhw>ABnq}&APVDN<&G@dUvo`0UU*{*Pi=@3$Kkn$xF;~o@jZyYB z(RvU!Laz0+#;{xmgp;d*@UHDuQ&_A$iln>)5+FH|o8Z^es--Zg^y2G3*W47NG6}7s zM*nbd^uQ7yY<$Q@I5!%UNnM*Zgk3j{J5)_nUGomp=Xbz%lMo zhgh?IwyTV%qpk4$FVvd0usv#cYE;vAx-bc}w*buso%7p}WFCDJJ=>ppp;OD;Blo!5 ze$~&mc2i0Ilg(oArp+rh?QGbq>85@2Sj72I*9nE8@!V|0`Q0+KC|?5jBX6)wUnlL! zrHp%&i|LT5CX*R8&-R2T-X(BIdZk}c=j<1C47xX`8_a?IaF4)@B->w)<`4oKJW<_3ZlPT@>$r)-zJy zTF_6}gtVsHoB7w@8fSE;C$zYp^{8L@t!FbpnVBbbx9EYy_hjSPW3P*$-k!`lB!aM* zaZA0=^C~p-W_9cFok;+SoU8V;T$YY}&pVldT7k1kwq$OkUYr`ABF+tXd>_}C?qmG> z01x9V~CGc{DxMO$cAli+^h6_xv4;F)?`@buG-5=@lz7fh!%2n-n}2 zH|{*T1l3OXGEi(kV!xXoajo-q{#=B1OGy##-K9{DlipveJO>cq7xaTm zKKSK#a@Ylcv@I*xFz=zVun)yvv`Z|b3WFy&T=wxjduC{5R`IynU;th_(B54LUt0|p zJl$6DoTC=n;H8~jy+3I!w3RXBP^h*qhZQ+Uc-JR zz5pKX*IxmGkY7tO^Fxkd@)L=+R;IP5DZOcL3OixF7kJ69 zXw!GSJIRZ=A(6LhXsq~Z_2c(n80`(799wbQU_&P=$Z4VH9iwXm)J`>6Q9HcWJYW|= zv0P!};*T(PGn1pANJ;oo!lk+#Rx}VeXqdfyL*4%i6Lxp)l;b0+$WEg56^+>?;ed%#8cly{0H86*8{dF4*^d_ck}@0;8U<$6b0J zSiCwomv{*{+UI1!`-{7+Av48hMT!RR)7J9v)6@e#kf4z}hWNN^R~YnxkA5j9??c#xVTeNYu$;l{t!u<81j^fe4HctajDc+yOj1c=s`TevKy_U=q_o#WzMpTh>UhT1Wgm@iSqlqD6iyT4wflbV@g4kBbLEMe zE@4FT2dN*4{cXv@J?p@TVm|Wtd<8vo=R7jxj-g%WJyw8Ic)x{ zQviPm^EbQ?@8{n<1*um-US|8Wx{k5^j-Wpq>#O6+J5TuY zDa)oRrepS10F8Kcy~itx+EuzUEI}x z4VJ%tZpD9afS%x|CqXG*LZ};d951-no?$~oKj`1~NL5OQ|FLaTEajC_!OIN~hhyhS z`Nrg>{g@=_A%-r&mmldgFtr{CEew|;{P00h#rgb8H<7`!}PFjB@w6BjjJkB+7x;R zod`5=uYBKn7~m7pk{}9MoR9z11UihcZHsiMNnW=Yxqcr|smHT)Ua9+`yq#?B$! zRcecGbehD9-LkU(g0MN!6m@FaG$VR^KO0P<=G&f%bHDIwY`Zz3ej!vSBhwCF+D9D@ z4PH#UFQT5I%Q>BQ?z7)1snu1~TJYKHdqixv5G307sT4lMUQ|d*A0a4+Z$5SWKmb(okWZAs#P4z! z5dKo6fb0QQCj|1X7mHo81NwIoFqvo8YwG+{EX5C_yw zlBaOCAN|YU0TaxG^{C~Zal7)qlm_+Fw!XMRis+1x&PC&a29v62csts6<9O@G#aR2g zt@(5lUfoKAAf4|hpllAF(Ae|y=GCiE)@-MJ5dnW>b#8-t_egK@bFO+6FMcR%VH{Pc zfh|yhavPcV*y4m1hTbJH=rf<|n}UpP^h6td>-lOqj57RO%M;+z;`e7vW#oarrMlqw zKF$yMFJDYjMVG@t?Y|HF>-m73`}@HCJxGfuy*k}2x7)UMqzhTE$|m+`kX>^C@j2-f zcY0F|VHHrjv}wUfUV=;oAL~zf%h4j3QI!K~5u}q7P=;^2g=pCda%b`WAx4QPeiHdN!d92H$Uxa$F!6a>lLd+P%r{cZ`l82vv5!bhX;M3tRId z03M`Hy7N5MRC#}7mH*#w%vm?#`ejQsgvX7|*WlMc7Y@Igbd4uM%>X>f621^>?px3E zYGUiJ+G--sCT`^(M&elAQz-Hb!Fk2tMy>ai%<9 zXK5xo)I8H(wb)jN7URVQ%_t6_s7lcYiNR1!O~LZ6+-uN5{;lbodBn-GtI69Jjwk!QoY{vrUMpxj)WZZnk;g{+*$yq0(58D_k6 zz1ytXUyXiQa|Qm^O>W)Gatj7IJzp$u@lC7m={9L3>x)pD#fVv7UtOpbPP~wE-kXi* zg3Vg$`@OTeK`Y{-(0rjW*ZU!W>P43sTBkf~qf)5Q?9R{g3G~Ff|9d z{QS1_?f0qpMuUx0{QE4qmsntR->K3@qZIro>rT3~BtvUNi2p2ue9#bwg5D?8s*aGUH6iG4aXHlVjH~YoR6ImS{Wyc#~+hZQa!8b;VGg=U%i8UP$+lfTORlc_d|Tew1fC$7dqDzL0kFyal8BAK(n= zqaoUiX}A6dretw1OmdM&2qt$|HZa_~%A0^y%5H(D zY~6sps~>--9ofFw|5a=;;=LsHqhMpxl&`xgdzsY+9)S)M+WrCSLVl&c*=T*J_-Czp zF%6}H-EK8j$ldxr<}z|$=$#=sW{z)U;n$m=nl`in3#^g+xND0_@9zU-eYD;Wxu$S< zG|oD!bw9cG-_E(%5;siA-2K4NMavN<9MPL+e(x?|EzC^^R%|c0+=-_sVFt1bw2<9; zq*0(}^ZS6QU}Jwny+Kt2@OLpR=Ml|W^z=_2{g08qqVkqeGId+)gI4l_9Uj5`XpB%9 z4ml4wT@_>tUphgHDR%Aks;;ZuE4&xK7u;rWXhNDnyy|=|{^sE%OZGGR73SH_ zocLCnNR{y$uIG$Ktg*qsMKVjNv?R=FrAlS563g42)_cvrIW2ScN0UarSzi-csWRNJ z@(u7F!&%!VsjK^(977||Wb_7Mhi4N!!*kd8!ih-i)v9)i?>=)dII3r$%r@HSdo(1? zF-6N*XTszoUz@%$`A_JZ^$aeSVt^2Rv!B~ocH3Xs`2NoDp@3c0@tw&LAWw7VRApe^ z*plt=qA%$E!>kSLHt7xMaFzu_r=A^o{yq*gxh3?&EO{VtEhxgb8_xDcf}&dE`OT<~ zjX#&7_xFzR%hGmXl>8AvMyt~UbAU3Mw%vC^jAb)^JwSe{-;;e*u+xxq^UQKP#l(T% zRq3Y~V%okOKH@x>RJfh!Xin9#(6slnn3LUzr=*h*Q)V3|vpn;!DWzDF790Z% z@Y`2PhGov)T99(@NJU7O%!(Yu>K7nnpBUc(Uki3D{Lt5}=-7}_Kd1OveJ&ieSeVf4 zxLw8$1bfLE*=UHX+eJE;eiQ4O{tgL)`cne zIu^H}5-zjgSnkNACZkU%-@mIC7LcTaUCr~N;X0NG7_8wv{1ZFlv~SCDD=WW{uCmI| zHgL8Fnn*;N)Wr7A*>RHZJ#zf8{CT%rlaV7o?$q2<-m1y;WRsjX*}C&6QOs^fbB0Mw z9o*^;27W?98*(lf;v^`$;kSsLXj-zc$YmBKyE-*dgKMzKZUZe!S%Nd*qa5nTWNPTc zg~#C^ej37ZN2dk$G$jTR)PP_l#Z;_VR&u^Xz3z5{Wr;MRtx>~W2ChJA5Ipj*-_ z#n2kLh%!5d{pDXzXi8Q7YAb&7x^~Qof)A+n50ejzJBtTjhwi}sRFPNrFYL;R=R`z> zgkA@wNkt{8qIw2v>c3vDtI}LuIlgT}eJ&c{yz4}+zHf2CdOm9ro=w+5^1%5va2%|4 z;Og_^E5)Ai`STFmJLLWYD&JueFq=2oudV7SVYDX-CVVDf^(MFPVH0!TUGpG|n+4lm zxr}+A`qQ|2q>6LpigCL#i@ts7>FsJkM~Zm8Z;^p`L%mxGYQ}8FvipAitdDkJL12Mz zzU9YWjB+2I46tvuOjRg_*@ynsrt`;9%hct6K;5N`eY$hu8n__XI-pcf=}!5tPTNlK!?O3}PwfA0Eryh%+|92d z4h>5vB;}RcIh?k4TE3YEJcd;%nkagzp3(LxI~_IB()YZ~4=nSg3oAv#_9mrODO(bB zbjcNdc`rB-6a8y}Rws2!17t*&0$mO_Ay79KlMHa(6~<~VkiUS~N7)^KaiwYS9do5I zeE{994GkVgm-1BsXXCv-P{hB1JX&f|faL`8eMaAczi7+o7D|#vp9@sn*5E_?=lUsmi(<>z+~$CmtCDOEUSJ%Cr4Kcn#U(aFczrbve*s9wHSWHi?u7T*orhk?vsbp81 zohI^d`o5r(h)FSbuTb7e?7QR-Qk>=qzqkVNy; zyWHvEy@ZlExDYXUmQqLfQ>`XGp#u_K{2D1ASvF3cD{HOM!Emvk6R%hgZ5P||aB?UH z=u8t$1QucR3blOc5M@mlDd1h=E6JT{xh(Jgb$+SlXiwH;uY;USlc~<`5B%wru72tA zSL^Uq^blp5#=nR@IX$2#>o}2*oMEp)!TMLvN~YwlZWqV}xMr?m^4C6EU+<811&y0Z zh5Ncd@=5#}!CXM+`7KmL>%b-5?f#6$VESu`wO}S`^u#pr1NJJmJ-R8h>h|9^)>UV5 zv9-8i)I|$QBQ#%*Y#vRSzQhei0RUsgGaAn?-!A?ZD8RM7O+pedQ2X~k2J;6pXXmX_ zDikF=7aO5*SVFPbUhpl+=3C`RGlroFuN-<^RHYFY4LUx}lFAxxs?U4a=D2(obhLt< zp=El=WRqwx^j25D>&nx}>S?<`x4z1)S&%3|owE~?6?7RsPL!eF2bRmnHJYybMF`jH za$LWDTUkfV){-wX3mj$MfBICsp=O!<^L*fC%(=2HsB=o>UVxDJS$z!wJ*6Jt$IKPo z_p~=*-qk=40z!s4r)SyuY_DC60~Bi|O&Q;ly+^+-t?3=2@OA(KVA;HIrgLP zb$aoMY0MvA8%1f&5uj+H46?EFFZ!CKN$yYKCTbqSZdR8mcS{RAWpj&`o*mVXtJ-{h zR`3rM6)Ef+>>cJq20q4mzyD)KV&DCeAbqSE^$*h0x8)Mjdmyh`uBC|rN600q4gogU ztSHg!pHaK#h{d-yMLB4eWQX5BZlhKlqq7tLC^Z>1N273D&u@bbM`OV@|NcN;itP@^ z@8zr{aBZhtL9xQW`q)JB`!Y4}|;Wz%V}p5WpmRH7rl>u--#vRxOE7R-bb`f4*- zUFho;zFpg}&ZTpz(i1AP=5bOZ}+f#Maq8ZkHBTPJkPS+9fmOME{W83vg)F3o8!GK zqVDl*e;>G%xm0&pL^GrcZoTr6R>CFgB>(Ryha4c`&F(y5)X9OCmz2 z+VGwm(chP|L-*ZB2RnvHi$c~y1jY@D3Ya5f9TC1AnNgm5U{{eulWCTZsVta)>f7+K3jR^`BCRm4+dz|0V5d}fT14uh`H2AeaO z4mbUk_Zf-HCu$-p9F1%Be!wGZKDBQ^G+SMM0f!cYUu2RdxpGHJhVnxG_kp`|klmak za@Z#H^cr#LuPFGWj_QSB9s?7XlZN^DwKK!cMky~>YI4g4?*(;b9PS&~tv2lM5ZOKz zrP^IY`F+5m6UL^<9;^gr0e#<4{T|Ue`55))ff@sWEcf=Xj7X%$%K(FTmYR~>yW=~! z!_*ie*|CkePa#Lju1(h`jj%1ew7qg8KQ(9;4r9 z_ZuabXY)9^L zLupl4saS?Y0$MJj(TM&SCVB2Wv1IXC*GYcp|AcZPRxvw8y5Y#;;q6N|FnA_AsS@@PH%vE^{#KZB6g@h`Nolt1y11*_PH_1un`nUg^&yZ8#0Xr4KJf_Mker^0Fo)BP|M%Uw+Zi$7-Je1_+x&%~e8?h5&S=dj#}DJ(R~0|9-Mk`g!6R4cLAIa3 zapuQ!*M5pX07n4dl<2+Wt{kuQjS&~t@78k$L2P(nE$grTIqBufg!n({%sQx#nb6!AQ%Gr<=Wu~6X__Np%->QUVZcl+lOC?I;*u2k}~7P8x^M>y$B z+sBSp(t|zVC)?qu!No!F+ZrdGXt;kwQbw8Fjw5{uTeQ3-IQn3`uhB?-Gkz`$JjC&F zvMHSy`H7b5kJ;WPhV}sUsQNdZw32GgN$2Gw*It%&BODdqVShF>j9RM9lKqR#&*ouA zYU_!AsF^hwsVoz1*S*gchK2??wIN;)Ns1UHt$h!v{ZhyZ+*t399k&=vBO{VWi0-CqA? z2ikSY@wmcn_-i2He*Qb3JGgNkv!zIoV)*#1jH_9l=AM?4XHtu+BQ+Fy($HKlntxaM zEmL2-J7T8Y*0Ho2F9)xLMP$l){*AbjB1RoVf~$V8{6_kJ@d^m1Do}knZA~A!3VVObdjs* z(Xe{_=Vr2C1OQpzc?=-jWD`j6=3FDOkDPqGiU*I=7oCLE^6L#g5|#c1 zcn^cHRZS1rtCly5h|^=8qZ@bpHXuPR$B_{ZAXM~`i4M0SHDZl-W78Ov|wwzK}&W-7;FC;FIH`Ksww1_ZF-_oN<(w%vh?4hMxjb)qD@MT`Nvcn+AQ}_&T#m z`Re7GcLv+MyP=RAdFop;XBY+9W_`%8qcm1dn#C92rv-b_F%oGd;t&pK8Hw#0ED$d6 z|M>hqs@2E!1GC8&-&(%-oYS|Z_#ztR#(f2hA6|o)hubT%J5rexhn*t;$ll}bNm2BF zAMmA}N|2M%T_a^SH^Ya2D0^RSDOP`SpFO}ZSs@LlFnhMYnH;5#dW=g@*5kpQa+Qok zL%LPC_Z)_X<*DeyJAe8{UbvGH>}F)+XKm#v{a|zP`cB)j$9WMUvDxDWk8VXZ)RUO& z2ui9nG6)LnTS)jZT_3wSs0NJDpE~cQj0Ss*D(+UD&EuN}!2HmUTBx4d1_Mu~(Ws>VIBPGr4z@(QmhSQK zlBEMwlI^KxH&G5*Qi?J&OCLUwBf}oqF%eX*?K5P6uMY%G4kJof849PfcE##cr5k9p zU9qJiGG70YlnmRT-TD;X?Tl1yNqH~SE5W>uebZ)5BLY<2yb|}y?MMdiL4;@z=EIse zndi;lE)@0|lYf{H;z49{f?8x&km2tQD6d0Z?(cYY;y(WCO4F&Y}J0uQI=?|mR9;qG(=_jJvpOHC_E zJI1LdbkzBg^vu86q&&8(p+%R93JXGty>416AEa`h1)7Jt%K=aa?6YJ zaToIaWYcutwZ+Pkoy;VzW6=>X4e24m)8Qp!NniqoN@Igw>@#{M&I7u!H$pNS{Gw%% zJqiX^SjdE*$VJKK|z;FsJ<<7eCOi6(a_h}$SYM1!s|HUERl}MZ5Z0yCRV{@9)(61uWV5Huxr2x*x$653-7% zJnqrA`p_A38iuZRil!4DTOT`8KL%0in&)JeWV4A|9iB;P^CRdh!m&=0rJ1jSH;=i@{Rh37s{Jj~Jw z@=Duyq4}S23s;6F%WY?$U1rvBp`{!VKO2CsCf730M>4V}t@~<<&(N+nn;s;@>;pwt z)WGy@C+b_eHcZ1I#Qyp6)4hqEoC*&=Nb1_lPr5(KJQXJ1OcV}0dXUQ%e69&;T%J~L zA>?SmMwUiRXvHqUviQPr+_wg4U)9*&qAte6;vJ&?{hvG2ii#mntj!p>b+U$yW;uoV z3H)rfbvbN0D`2fzly6gQ0Sv~rZvWyTfI$Mo2)rJYOFZS2#=~hj(2p!fAV}x-t&i%O zHsD8X4IUUByTk*O-oQ(9t49*nWN?Bfci#C#*=(x&5-)xR)=|PSs3~OPf~e(Q_Y|5R zHvB`_*k!pd_IM8!!CwKylw?f#*IEO({in|j??V7vqWe89uq6Jw>Oq$7&@)#^so&OH6X&Tefy8y?))LiX;>v+zm&-}C z0>yR(pr7C@5+{6bRrsrXv2kyUf{fjd7yQ9cqf(Q)ru_J(63v}M-m-4MRE-8%+TVU< zTSkmelGT+D^G9w2xN?6)jtxB%7HXw0zCo^}Ey73n8axPJm$BB=N>T@M9Jd;7Q+gU? ztfq@!^B-=(_GL3l%=xIN$2`zw!dB1;1YRxRNCDo0B6L?DLNB@yi|s}2r+a7L!w59T zKB0P;)c)kpDwbK+jnqC{$R@YDl>uGe$hdF98gDt;|0*RIMq>r>lFTngX1e;p@KtxK-0}s$t)}VB?WC? z3#9+2ZLW2$X0hbC#+Me&S%Csotr<=TYll#~@7)%4$)gm+!TBOL(3`g>N;4^V zuEyR%@kM+7%ITSDQfrRFd3@FbmLh}CZmRRkqWs528sf^W$w95VOvuo>?R zkcrCNT=-h>MR>0E)0=R+|HR_owwontcv?W1tq-Mf)mhC+oL_&tCl9ura2~OyuozYk zWx{l3!h^M20_SwqW-6K?4dg*18g-+J z1#GeE`E}d)bOUZM)4UZ-&&M)lp8$Q*;D1}Lgi)qC3K}}hQ~C|RO@=U<<6D6ynj6{+ zpLS%=`in#4D$f2s5Mrwk8BR(UN(;w5qz705%yV=7(sDY>dKya}8vvo5kSorzOGpHP z$v%&l<}IKX?N8WADMX5q&KvdQ--T7A)BW}H>-VOyH$VJ7uu!zG0NuteguzUeo{T|& z!i(emDG)gy4j5w;#tK@csdDFD(r(w7Y&lHQt>0Sh3@%~&P{V@#PCRh!!eogg>RHtgMe=o z5tBma@W=1Bm9n_A5j(2J&z9UJR3a@pM&%F7c{N*G8=V^Y%FT)Tec-ei8MM_Ozo;YJ z`HFmyx@)TXtMEPUO6wJf+c@TI-D_Y0Qp(g>XogWmyxdHnR+iU_WyGc*fufAP*q7bh zj(1^Ul)%Ga-VJtMt7|g8!i%bF<0S0y;ptb5G49x?T!||D#YqJ#zml-?@g;h+2mjRy z;CQf|ppXt#PpO@YGw!YBq?(UddxsB%57b}MfF*`$U;^iQ&Mr!T*Gf#G56=ATF(*XH$+vGGRnic7(wx~YO6xXc6ffZH)Fal?et)3q0o`x+Yo@a?_*9e zEIef*bWYdLF(E^h-U0CpGLL*HkX|=KGVQjXpDR~R%1r?}Uu^F3z@f4FfO#ARGi>nt za)TI|e|N&(fv7HGz`PHadr+sFxT_7=bqY%Th*q}rz==fkgHgA$1ma;LHsC#rb)nK# zMq<9{C~O8n6Fa;hkyrwsNb7`+RO-^Dca0-z0mY1{&JS@TU;eL#X8H14S=JW@#`?l_ z+}_oqKhLcc^dl|QN~f6hL;2-moo>Wq1yG+El6_-B$HIW4^zQ@bqsmM9fd^_olDQrI@_Y6*svzdAp?B zjWPA^b{*M%RIeux!|(H#VhPV>ut7bkY3KxN31f53GAUX@}x@t)k2-Qzpc>%EJeq#gep~#6EO3 zn367+3Uce%dAPnBzWP7kZ$p&2R2T0uVO-2y;#UvmdX6Nubj0VccjR&3K!##r7wGu1 zpMQD0P3gLQQD0@jRrFV=if~x!*g*9S5@liVQ721I0Na0QwY;~$$@ObF-jZZ9u~+!} zfToLn@M1)WowsKjapms@w6U8n4ROao2$3Iw6)}3Pbvro)EYVfwAe-oeubj z4zHpESR8J$UZaQQ#58O+lwyAp8*gQ)m^Y)IXR7=1OqMrGZyT29O)mLv#V@h9w;1Au z(7%uk%WU4Og}tali0yu`7uj}b$OBuuAhkdk8>BbNS+YxQRbE6v(pskU5s3h`w zHA`!+>~T%T0N7kwiY&8=C@eVUf4S?y^B2s8sf~m+oBdNw<^v93=qY1B5Z$fzNFPP; zm}$UCE84{`CXt8^HKkFVR4|a~s+5Z@2NGAxy3sEt|HAN*W5@nCVc5wSl`re_K%=Uk z6`#4?L2rqZlZ8!I(J+sBwI_giu}CmB)lOwD&0C}p zVOCw-WRs|2{6`qR@{KoO>%}#dUE_8E2^Ri_1&Jd z;X1d#QO~6z%4%o&H3J&K82;@(O5ej&SuhQ!)f{8G=2n|f(F&O%1X_&`>?~5voD35@ zHa)3NJ>>QlzLMlw=3hqRq#~&XfBvstF#R2PK>FYQI^kTfu?XX1fV2(%ZV-}^QeFI} z)be>u=e+?H_b%mjNJgux&WB7jrK;3kc7+WW98oBeb#q6atH*+tNJ38`^@*daEq#Qy zl1-20NnH*pV86J8zkQvx_^YA zixOU)fo}g&C6Kwrfk5MAI#+JHPu|56uQ4mhiSkbq6~}S@<@T4NOE$@T5AU($Ro6Xc z`gQIu&<1&VaSPH4h`}@zw#=8|i`@Y-w{KX?3g(~*jy&&;Lp#-hXL-t3KMyz0(hl?k z-7UWlNOB9rxSj1xk(>HaAe$RtAr2qO_?Iu5&)4gv#=P*BA&^{->4&T6KQ@BhEzAb% z!afu5J!N51A@pAZg*kA1A5Wek50~Rt6B}(()V|fU{`fxCW}YUsg^p7F&W}QH2)E36 zh@}QRjc*m zIM}Y>G7n5ya$K`Ldpjx{z;IF&PT+4Y3f_D{24v$pM;eLN@b z1gF7X_3S%3qX|B(MQ9o%ju+JSlGm;ELFeW6-EL4dO%<6ikS$RZt zSg}st(?SCgV^*(Jql6Ai`H>|<)#sB6}#)zn6%tcX& zDUWM?Z|$St4T+AP9i7TQs||~|*!qGl6MM3%_<5>Q7R;GmiZ7*gjeNd&!lHh@fne;P z*6GSHFA&XQ5$L8e=c!WG-6qwQ1d8fJCHt)>KIGlkH8=69)JCI`Fz<(h&xDQ?PfuIt zA=dn0bGGh6q+@s9(zjQxSZs(=HIwRXqF19bpzS0(((Mq^k^Jaxx%&EPxH*kerU!kF z2R(hgn7R249%=J>zN%@NQvAa`sRGg~Z`S#+_&YqWrd}urtkLqSDQGO3&BRrC-{RmR z6q+maT8b>9>_b3aRErH&+<>~KDRof-6NSLRx-+H9?tL4?GwTvoB38)0%`4cZSfk}> zM}Q3P`?h^P*Me|a8N~Tk()uSM>=6-7P+H9oF+Zuj_D7XQ6_#GH@*QsDcW&ijx9HD` z;639s68;;kHW~7))miY+Jn#Lph8(3FO=A3&#GrK44*BFj4qPn>Z`qNZ;Rx8vq%ZQk zW7QSemhAI*qBiru?*nm018DY-WeGF*akrjb5J*E_&L>ljw`S{z1EhA}0k0WdxKmcf z5FcZgR*shXR?n^3d%C7Pl~|=zO=8xJ<-)$};FgtbR4iGr(A}MiGLsSW_amogGcY3ddXT!cduhsN|?)!RV7W|iY4b1`JksLd3s2je z8oP~KIgU)*%VVhrh`GQRQV4E+^;ThzYF|OD9TrO(zc2I6SrIZC zyU#@17@|?E09(3xOE@JM7*naXw_FU1-|86?F)B!RUoSwi z$t?EL!0g?9;RX{dcTqq~9%<6}1`;a*ROD^yy~1gHhiV#2v@Ic~&n(B6H|&ksr8HJR z54Qh4AU+D0DPb=!~*`G%q4df7{x`mnf zj0cbR%IB_Z)piA3uKW4z-+l57mcB5m&j0EW$K!mX~`6!oQoWged0w8g=LINCA7`=F13sUZ`qUiQtL=(XuvL>_cw=__UFzu#HH?F z_v2r)>}1nUGR`kKKTkcc%_hvKck0Z>5y{pI@p+01brr7V72;H&2O}hCblULufu|vw zW0CX~-HCDd@o(3^vx&Q{`&X2)(bkHQS!PI@r-}71wA9MgkV|lQYwm^7A1m&Ixao0n z>lIj}!;%@pTi$c}K{GspcI%IZk`PM<#;l}aIRtWf-Y>+UNY*#j3|>1XgzNhKS+A3X@jfq4XH!nUiC~!fGM_SN+F|cp=-to@s!|&=7v|G z_PtGdvTE(2>3_|}&lxJps+HIE0`mJsFb0BW4zE2dT_zhxb6tzmVw!O_m|fku-v>@U z6i_49UL$5pWmjhj4^z|}QVjZ13?8TNoVLj8FUt={Crm4vKJ?W_lE=f!t;Q&XpuvW4 z|FpRV)DEVwAkHqXf2og8?j7!Q6K2VTZ~_^{_pvXVd!*><(Ap$YN7|u4soo^x`37bh z=KAf9_cZmQ5f%N?{Hs^fa>C%ZEsRv<9;BoWUsUwWq$@D%ngjO1E@eNq7&7Hf%Wbr~ zxu!GF2G!RMyvgWLlqQdo7#RFDo^!bnLk*-G73Rh`q`Cem?>p!?8{hEcaQ)ovT9a0l z`@U7m({|suqnW^Za${lDIabkD=?MdbM!Lgo%Ji95Z5}MFsI~`N=uj_6pjr3LuN6rt-$B z@@1#Q=ylgstbOJ-grMC|*>Cl~v9y5YkJgx)EZsW)DlDF7I*BT)4^u@_&%PC+pSN0M zy&{!$?@WE|I%QTCFB|bt-oX4$Y zr(BV%b>%Z(qf7DC=f>q=z(nIh?7hv9H_9%(>+7^GUW@t1E5T3`q5A05R`r$oYLnb$ zK0yF%O~v(iMN>JNz}{2yt@c<{GsP-l$o47a?-{@SA=E}C_>c@j5@DR@uR5(#b z$W|qz40-^*p5~+Nmfue)Z5J}&bL~_MbMpv%1v$*NTwM`-*Eo2n=~w@JduP#3@6bmx ziTA^`OhBs5*z|W@bAN*d)sAL}&--)+ZukdeOf- zfh^Y+Q3!JIiSXFnS5qlSX!lNU5ivC z_y&67vH32vS+lv|h*B18CtUIwK5&so^hmU!kNt(O?CEomg(3?LsdP zF4T6Y7~Ekh*5ygxx)L9G+PQ9OKRz?(4Dk~RoND2WwBgyTh42H+*1zZO2mXTkcp$uD zkYnihV1f5Ip237yZU9BkaF}P-ozIUTywGN*vgCxmODLIj=1wN-ctuZ1WuUP0W*mckQ`ub!VE2(0q*9!q?`8 z3qx-mLc(Sw^{!NZ_@1ZNa|oX{EMt8Xn$u^KreLFI7s-`)YiBErYcOS?QVvI@qI0`5c|f%F_LZ5sv2a)G4{5>`>tJ+c*m3+3?M;`= znGA;3)0-;1S(K40T)t1-)6)m40RA39x9889N=G^;0WNs}AS4BFnI;#;d1+`UhgA~m z!g93WSQBp%^E3HjeJ(%D-dR_!HuJUmcJHZyE0fg@biKX!y`;aZ7FR5o23yAO#LG=! zN_OQ+C%ZFU4(D)2*i00>k4AgmI-PlGi(mk>b~{kq4)CJynu z=^>JwLXCfAZJB&Qb1_)lDk=YzDo{K|qr5Py`#4woAHHDulc#orx;7ots#o{Gt$`5j ziNoQV!&kish8!LZ;n46H?Q;o!#avzW%_dvwkiQQ@Jnx&f=Pq@OnseEggVjgH{ymp* z;%B3)UZ=aAFP^ebHmTKw&S5G&3d%l657AX$@@bUC0?2HVQD*cEc)4upZMvUfet&FA zyr&6e#r!qvBG}`Ywbs-Q2b>9KdD&Rvbt%)xt~SHCCs;+JD@+etxPk`O)J# zb--eOxbp4n`oww!^*}SRp=-1<|Av|+x6Nb`Tl%QgI$qjhAfAyXt5R&3-_xK`eCF4q zQ|R9s>_jML=niUmPhl+ihRU-_+vS{{Eumg?dU>%VAy}pgqf^Gq`f|uk(oXIQWa*72 z&U^8GNdivMN-wDs1WiB9C4SwzByKUiWoD5-=->3kYGKdyEx8$)OUj54#@I@K%^bxIsO21a~NG;%_)rF({bH8{*J79LV?8c~~t#z!j=x*8P zrTl@f`&+ASU&YH?+l%W1+NX^GXKBExczxvaeH?0_O2KE6y`-hW?+ zZ1(MAlvvGamFmheY|Ul!qiKOd@23vdPI2QzASd&wAI`u)^?gbO5iB~$6YNdWZOd< zC$&LP!G_ejm65PA=Y{FY&+`MbGm}S_WTb@&(9g0;KZg@HTNZCrZj*VAh>| zrGva#2zW9Kjh4#IG`N6$x(RkhAU#aLx^S#?a&O`tG1TDhM?oWxHgw&pt@;1#489#Gn zleUAO)u6jU!hJt{$+P~?A6mTMw>bK*$c4@Pi z{cLb;KOBy|b5(4ftILkHl$^TQA=h60g}|YwF0g^ZLrXKudJ~7zsTaqlZfrL_tZL|N zAA<=bmV$XNA~O}F*&8{HRfp;`FK#k<1k~%cx8QuE9X4y5-)FeKuFPS!D=(wWzA)OI z_^ncm)rJQBR2l!C6Ewv+JIkET4&Rubc&_2@sp6!o{X})8-h!0M@WhKVPo$NM_{C_l{)HpxU2bmc|7@VL7}WeOf-Dc$?< zZ#w%Zsy<)F?kOFibAvFuvHrZU(;nr_9?J3c@AI+PwgfdWve-%wUfx)Ijcs#;^o9{gAU7-4`@JD>mFUU{*_3v#e z@3f;YFP)1b4)JAdv*|iljHCvlz(N;6Z+C;_Pj;gTqk*U`(iO^SDS?>THMknX`~K`s zd$i}BHSUhv>bso|#3ozOjho!O1*vf$?eRd==>_<{+G3g&-sTot@%X6VKWdmbTU)mX zE#2~V9dK~+rz{_-OVA%cc*p5h6Y-@ z^V8t4mT*yl$kfSqTB}9yd5)Jj%{(GteL=`%-k6D$_@~akE2z&_1wx! zWW0>h6#2$@!Ls*0HqJ|Vz9Dr#;I7Is46Lh+o_y-srb6M*E()wa75LHZN9C{M3dOn3 zMq!pZczzI`gbV9B2TGENLZ@pWBMi$nP>eV#cIFMAN8&>RDH&_%;H_6ITuO( z+sD8?*IK>=E0TR&LoF6lJU@=YC!a0Ui1eQg=g1k3TVz_=&quS+l=z|kW`yxLs!Ps% z-@j&Rd&kS#ilM&!V@NUe-*a|r)~te%Yd1$z#6)i; z$MUlKD)b{_Q@??8GlzjZccbjgN^547FOZXYbO7u`YV0I)$p)3) zbs}l#XeQ~843$SRDAwG)?)EOI9Y(#X0x#OIBu&!yiz*HN-`f0_8RG0&u&I0kR;G=0 ztc#ci)2`MC5P~Om)#x2aZq+hR*Us*v+X>T@Uf>Ah^0&yBU>1`cMTEL5Py|dnTW|yZJ}-`cw|K-i8RONrPi)o#{7x@ggQ_#VC=_eupQoLR zxI0c=v8(%P-wri#9?!&=u$)#7mybB7r3e*)I-K^P==xJSk9dW|{v+B;T`?ZP{O%H2r2Dn9>o&Sp`vv2?OCI8v&y+iutCsg8iW#-) z*N1ai&uXQwkIlaln>7@7@v=*+daskbk`igjY^6FvJdmS>^7P)`G9x<6&dO9;amB(I z`V#A3KQGjo3GCP$#54K$Klui)qbhp~C8-g}`S9|&@GYRUqE7^hh~ILP*dujB3Wr+p z832WTQoNQ4KCZf^&379(m5cU2s-3BS;pW2Tg2;jBxU4MYM|*i)`n^CTX3}$oy==A& zUgc`7L>LS86>TvXF@At+z!rkPqBa^;wx-?&q*t*F!%gm03Xyv$J&UPwJx8T`qHafCrR0)1K zHr!X=cc~Q76j*KC-Kaoyy;y;*qE-QDaOqbU=VoMdT4x#Dc|U*kj2_H08X$L)q?3qP zObioK7dbPZsoq~HM_2BM1%>ZPrx^!nGQSkAJ*3=NZRiMXDxL?@h(v%qoKnnE>}h(C zsgwLciGA7Qg`$@^&y_`4FYFI+LHU^W^ql8f^H>X&$`#{wj7q+K<`0q+tRr6-ugg;u zq#gfe-@#no0eCzm4W*S&uOw+3+ImI%+|iV_bb_ppL{1%-~}d2HonrJ@r$946RdwD{nSW zDXbrxrG6(=*jM^CUqCh9g!VYB*(g+^?raU)|IB`)Qxa7S1fGf}n|$fN zQF4^9uk+56)YMN1?-xl}v00m*cyTtb!a9O|=a-3?{(u5_vz0cy0#%(9ojs%rZ+zq9@;WPa;^Co9DTGRP+%Nxu%bZU8=q4UHhI=XYXPH;G`$|z(qD8cSo%eI__d}-KzR~+r_kcTh43F*V ztj+GB8^ua>!49T;LO!i~y}!lzoT=6E!;ed6)u&T`ZhfqErlfW>{x#g68qC9<;ay(c z9k*mu$(Xt>b8sL-lq3x|Hs$Y6uEQxVfAz-{o&SxWbKc(0m7RUKQEk^B3>xIy?w z1LUn|I*1+58!mrzd#fy!G2-oQ9$7se36;+-K!4u#d><}UP60VLR&xz&9|$2-Ukt?F~fP!!0%u&tz-8l^r|ws7Fax?@4v)Ws=p_=A2gbH*g4jD%KT z7B+V1?l|amF&b}M--s1J_`>h7F6_{_eq=-eA=L}&&il4sxEHMS|ZIUJieh`t{fWaFm zc3Fi}3A2SEfx#a6DtZ-t#bI6>W`F|e3F8vrc~oD_4!i0qh~_qmqd^pkB6xeF zU+vX9$`En7Lb+LQG8K2t0*TeVH5pcC8Cf6#Qd82$$J))kW5L&}8_^x0T{q%X_Id(Z zs>g6vtW*$6t;@DL$s<`?yW=f8Dz(#efBBez4skNDw{q2{fU3eoF}(EcAE6~b7b0(` z)S)~lE2Y#6!KyE*+126zG>*!xyk#RUw$1C5R>(N!*V3yf+SMs?!BlS`RwdTA#ozV0 zA)6{HPRic--8P@@y*Z~^bPNsKYjRNu- z(XcJ)8M1fpcjRt&#p^h-3@%e!nWqwAvx{{rB4lh}l2(fc8Y`K^nf&x;#YQiL@iZg1 z%T4lrkvJW-ppyNBR6?3D*Cm&XUZnRmIV;r_XRiZdG1RSGwG2%?GD(69#V0!sEf?RV zWvvaO3P98Y+|5K5WC}~rj)UiP(y&^$@o|Dl(Ia0e4_Cl{-%lyFSK$3Rj5DfG`+Vq3 za7!I+x_q4fO__N3lN5Dw#ji?cU7Q7p#N_OeIC&r`J61bLJJtDnAnm1^P(amEK+-}L zg`xFvYI@T}yHD;@vM;dgO>~9yYZ+}?K?0?f^g0m1v=&j-!!&Z~#8ejXtr)EwGpu?$ zNY7+d$K{E}iFyv+nCSm-_EQ=B|8xlAk#%BwEh&*f!raALIBB1I#_0>SsO#fz06HW2 z5(W0_jPBRGcvIiEu#`M6-ncj8pj7f6=N4W(de4O*6>5#N&QK)Bfe~HivM}GpJg7?T zAdK4k1+|g_;Y8`hXYBtCmtF@ocps%Hm8E1an4I~!WEsc{FT}erfe;ogSy@kAIf#04Nbw(T+7hh#EO*WKey4OWn)b)L0QHJZ>NeW?H15l{K_T? zx<+eYuh^GCpBnOYMq91($a7I?GI}pqO7=9wk#K(Et;ym%CW z<$qTRteFEWLL$C~6L)l4NWYl=D3v^-vX?t~FT@ zE#|1ZKo?70;_vMa^=%l~(aG2_DU)hpE8HBi8ZeNiYAuBHv4r=93>|#@N-J8Sj`ds# z0cByyL5a{*gNb`>u{l4E*!y{dorljSn|#m%jZYJmkL&m2w}Ae3x~2lYSJ&AN7wr)8 z6z7?Fn6JvC%~B(ozoh5m)c=6$?h}KA!Z@Y8?~?})6*oF9H;TdC;?VfWpnVQK;iGD2 zPp-?fk=H}}2EVq<(5jsp{{|cf=v@^Qai^A)Dj0b2Ph8zQ|a82yRYJP zyH}ILd@xb1Z*!dr{`pA6g89xhn3FxzVE;W_;--{j8**@UL#q>505ia`d z%W~u?%P)!FI1~WjQjd_g87IRqSCQbwEVp;M&l8p6sQMCHC>}gcqvP1Hfo(GO?8tbi zFVU%Vt4-_13&iSMU};>u@awZkMwGD9Jr2wGTZZlS=o|`{D&9Ge+F{z%WNuMNVm1Z9 z1Y_w+x7SHJFIuhATZ?^r9Nh?tobs^Wn+K({1F8bLOqr@`5F){>Bn|EceF zCW~7yq3yCxE2H;Z z%Sc&vpr3j2`M1Q#DOFB;lt|BHFAJtSK50CBQ%d}zUeX$N_s4Kh?(+Ej#Y{8CwzEJI zdDLH3#kUn|{aaZ6>7T?3K7|Y+9O;_Zu(p>NVM#x4GzJR%N4=n9m%F0jY_?HHm~NvZ zGF@-mQ3>Gv_mCBZmB}TDbYU5@fSVpiE7e&+V7Haxdt456{Qi#|YOky#g|}bMS0+As zSi6Ry_XjA{`QJ!=WC>h!+MK)Q*T7bIZ3D=O^eS%9;=XBtDV_Xl^iCLJpCW0*PFl8d zB6v|6dpRMa1ax)_^f5^od{vG=A|vQQLFGli;8O9_)h$mP!(|h*=9{TFHy{Sw`H_m*?u}CONqJzA-q6)7t;GVm#5z{OU~eV3{*po*ZFztm$xN zoaML|&0z8JFh=-!@^Vp$ZEY#+&h5H<_j4pKPyK62#(y^T)Z|7GB&D2vE=*|v?s~n= z&lb$`$~9|`G<$R9R28e|$u@1;nbU8{HP_OtIf&V?vvwOtT_2E)QNPlqs*~ZT_>tk< zaprrgHiENWa+XltEG%Va75!j~BeKitBO}QsAODSoyfCYK0Nyuy>F_1BcyWX>uvlgI z4P_@ycuu*rM|yGg53oFm)z~Ekux+z^S@dGuLK^QKH^v2WUUF|?FrIm7*{X=@q&^>q zyx+M24bYLvI)JL^!w1jcHpm#dgr@u)wBYrzwqn_PL8gG~ z8wE}7k>vg;7fdnIedLf+Y9Qpv_lo&E0Ag+&#>#OOD;R)Tc@7;*$d=n6iUm_7;(<4k zPxOke93#FkOq*4As>e!Y8xdhJdNrewX620#bt=cbxjai=gZ*`0(R#T0R6L0?ghnix z_^KK6#2fmTU(5CC!0WDyJzaTU57;*qxmd>eU3`!XoS|;Qq`^RW1!8X~B~zYmRpTU+ zlEPHOyyF##s0w|r^BK9QWRCQL{wctM*L(|Cgh~5 zaNCug2mH3Ye2h^5tSSihuSa|cHwW$tzCqy&MNAhaLbu{(QjdI<(I2VNkv(8g#;U6s zRKlS@$?zz0Ab&h;shs#R79${>Sv6>9{EBH6eDf%|YH3=yaN9sLQQNA-!8gUetE4Et zXu4BpF=WVyX4nOOT~BEjCWvP5F4e8Zagt5%5sck^V9Y-JmEN1z-edZO%6H|xhedbf zeVOs~(Od8s6nCb^fXG-&(?4|e*s}+gE}OlQE&V|DBwX}xr~SZ2mL4V2RTDMVMa&T5 z^6Bgr(*L~rHLaXTPA;km4B~>3y_!{Sxc0cSMs=gHCgpQPZEn=`)r(_+=wzmIy~39lVdng1En zAIsaDx=#DNY8Dq`nm$C<Xjvf62{M%>VB|-8DLP-J{z;nsu#mt6$ zhu1a?8~9#7gQ(KrOL9swNUf0em0klS)*T6P7(I2d6ZmxzbSuyZxmIz+4@m)JBALdOQT*nL$n}ff=E(s%BHAseQg3D!BRQwm2ml(Pw$tRJ3CPdmr^ZzorUAsaEr| ziUiUVY|80m*yG1tu^}(`w_3GZftH-^rhdx;`xC^V?BRU<2@0I&01}{oG ztp~#x8lp>~jlzcOPBa;WUqP$K|4M{0rELXocvt58c07o|@qdGZi{eo$guvmC3o}$7 ztu*gpG*nM*4Xu}g_xrqG;tBZd8&j};Qpf~J58BboIK9IXq7m{vW(f?TAn&*mQb;(d zX4~4roY~F7n!Fi%CP_cT`?Eoqc@o@Y(7+6q1$q z9?9mKm(F5s>~kfij`?r=^ng`0dgr$psdmixdozF-kohp@VGivBGyGaG?8Xd-$~u3_ z(k(bvZ?-|huSe8WI6JDWbP#DEQEJNqSq7U1rmwR_A>6LgpbnP3;)i^o&NpIeQ#H% z8Qy?gB%M255?|_#K&|jLoH$S!q1wuDs!m@c7dwy2sh)W$ooUcB3NDP>|7UbzF)0G@%G3&9AFS+ZV zC#{C1aV)Of639oImj(T--#Ro#bMQl=7KbHl%u1MA=1$;4nlR-akrama-c5)%-X;d7 zk3V}iPAEap4T(xDr1HIY#RMx7WVDSJlud69arTE{5FHqM3uC8B!RVT|3-J+%1`lT% z7>XfFQFwFZ!CiMcX$Lxt%I82FLs>Xvc>Dhq*lm_BsB!6as&Y)nF|;^o@1&F`SAG!v zx~~%$_OP!{Bd2x=y?}Om%fP$wUEhxmTwPg?MoG~-tQg1dO8G#EQoz_Oxj+^HMIrdT zYrbpgf<~_QO_v>-mf|ju2~fpx1@59oM(~uWT}QaU3Y|rZczM6lpn2(-&JU)wPI!sD zJ)se5lF_=S1%Y$7>@kjzH{)ag%zQwZsm6?YXDrFN?iDU1IzGvBe3CzLw*i>MZbzWy zhbI5msk=Dvz1`D7rBkJo^!69-r@{Sld{kGqfvn?`!u7uzhGbv5q-yG55SB50{z4yt zLU@89EntAUD?i&O5i{OTGmYyq{WLA_BKZqc{(0M{HON50cHAB4SL#3m?PO{Dlx7uw z69F&BdKTzd6cPbm|X#4oeo+WpSHhJWeq2)T9_&6 z``HudC$9zgkg*M0Uf{*xwCFBhd=R+}SY9GkhEz`FYGn|G zvA*!<)5D4C8J>pP7QbCctO{suxj{~|%BR6sMmHKcTu5B$nuKue|h_^eN>Wbj5rxKJae(dG$B8uZtG^e&^= z|JMCwHd#Tf5p9JbyZOa2W^^zOSF{c@Qd`1Q8ji?}kwX9jOA9r16D*;kOFvqenhvT` zCJ)hd7S)x!Thu$PH^fAUJIDUib}L{jI;zUt+h$Y(DMY?umd#RvWMh2MUf@HrIgkjHd?GS z(f=qV8@zb3op-PEAYZFZ*ow7)&Ott7Od^}-+lRT*u3@EcpYj)iS@Ix`Dc7_d_kUV_ zjSJ?i#SjH`9=?ryKn{rX27<#`YhnsBMP}H7>Tyn(#&_B04Qv+kC8`b9a%Y3v-m9Yq z>coGb<_kmi7=RB?QXE4+5#~I`u#ARw#2un@eoIE`#Ct~cjG&>v|quPG5U6w>M3-|Li*7wP%g0pp~n&4KG9e@S-i1_K7RlI`+ zcyZp$*x(gryFxgLNv=_dyq&miu@mR9jOpJa+V|||@u=dqNAG$Q7mLi0X24l&(`|1# z8-Z)&crv25RqGXp*HHc=Uloa$mH~CUe%R<=QKd!WK;ktu@OJpq1mmuMPL^u7cA5Z7 zruY@Pxh+4Zlq6MecAG{B>^wfO((i4JjfBUC;YTHhnE}CjUu$`EC)?X*1Yp-!CnIwW zW?okN=wGV?dbb@LU6E+&vSfon4K++;h)%HYNHsSC#P7yl=ml~vLvJ{0^sso6JiTSh z)unP#syzuNjk^$Xl{xD_14Q(>talK_K)0@uHD3?cki8-2MSpv{C%D>W^Kj^32eUnO z)9QpyEkk714__i7%;!wn(3R?cc0M+Wi|4dJO-6T2!N|JmA?9PPJ_aG}tX-IdVHk+Z ziJ|u;(Uhk8@3}DR`<==+Br{cg093_fL?ikTdF|-#aF5OZViw?pu&0}hhE)dwcjyIK zEBe5W>dN;iR%<{ixaBZleK^b+w2u6zD1NU(LIH6}%pRoYkg!L5Zu9I+S7AdwY-Y=~I&u)f6!n52KpUU!R|{UBV$<&`vGn&gG^ zwmICA&0LHZ@IHWhRLtV$i{SIOpK%ym-p$uo5|kO5gj27-KdS%))ut4uQRR!tVJJOn zl4&RwL9Sv*7S~pZe8N-$L!;=>P`%|qHCjy87MLj68hiOP@SSuNogR``A@tw3YZn=L ziF)Ynl7%R!5RkFX@3mK2sjri5zVl#&e7~K6esWCblw)G6`nx0T7PJ08hh6KoFuvUd z`8-o(LOf_n@1by2{-9V(u!vwU4Eb;Aw6;MINi-+LCJVzSY`BC9zMc2BCK4 z;4(fE88|x*{n3?u`=lv2rVES{1m8(oGgr>h=#J($&le^HsV#1oEG^W*9;C|Yq`Hm| zTIgA%+}*kQqcC2*EqnjtUKw}I^?qD9Z6CxHrz?r3nz0>pHimD^!eeu8ZCW>Mlp<62 zE5Bn|n)A!rvT2$*(8#t`SGXUzi=|8s9orJwAE`_~#eP4w94|iEt3A@0w~?HYX5MS# z7bYugc2+|Nr1d`&F-yJ)+E7ekl!kBCeU$|6}L!09$jN9FzUb2i#I*u4({vrU_^ol@{8EL0-vi{NWDijjL}(r=ywVudSeK&PqM_fWThu*sngYcsDpVCzr6M;%%xt%~ zQ>EOm`dqS~X%yh&P3HxCYCvS#d#^TQL@V%*v4xF?DrKiEu*;=TJk;plBT z7R)+^e?nFNdoEDtVWYKvO!m#07X_2}IP28EXD`NmQfD!%ND-#h+Ge4eMSH;@qfr)i z3ANMQLHKcEz7OBURym*sc{fk*v_%%s`+H|Ls+mDhP*YB$f6@QiplX;@+e-p0?3KVA zZt~wE4|yC&&j$Ve8GW%btA6Q_ft0;ExN!M^^TLUKO=7Q9+`rXMqXpgvz1G!!oN;cWX-Z64%0;0_L7WvDTs<+LBiIq&%nHtmXQ8bR%? zZ`C)`nomG0hCC;fasY$)nyub(R{haBZPlS?a`v_2?H_aCMVZ6&uzU<7sqL#Jul~)m z0foRIfqKAdjh^}q|K!A$bM*LZyK=+NYd>xYY<5Si3Os9!@OMwtFktkN2sNg1DDb0%k7`geoGo zak|r)!L#zHsMos>fr#SP*EaXBaZ(+{_hrjIdb+=E-HZgD^Hbm^;h>f>WI6t)YUxnw zX7u!2-%-}9OE!!rPtnK7froA#Fa)7I9~VYQ6S2EaIf)}yzLzBK8m70i$IX${>K zathEf8=u%=HKcLD)_y7L@Ul=YnG|)LZ+$amMUN@#ocD9rJTo6Q5vK4L@g@67nn^S2 z_>9f3(4Jb-6>zF6yI_;<~>_-&%gf3=?-=our@tj($b2sWy6i)|*1K z?ZO0rCDsvl9l$l!QN4Sv*S5oOYF$Q0MMZH2{J`f_ZW)h}MJl_BvQ0zPADo`g&Am!j z%r-Zg;DwNl=AHqvbqSyruub{B@)OP{7k8B| zF9&@oYx4C6Qjz1l12U|l5V%0n)epY7+(<^g9k2F>${U8K1w(zKA*Ln1UO;QFgs)3b z)c27SPV2%BP_DS&-)*%<>wxoW3`1UIB}2KKBo*p^-$l)q-B{)-%8m`ISogl++L#io zDhOCAG2F#y2!Aq>&BM0OKd<%|4;<;B3Vx8Jiok(rD(z zk0Tv^zGzYQ=jI)`Gw>|G@F_`p{mzd*x8DFCjjGg{y>(8H;UOBrbR2OE>RcRVwzsIt zX$*dxKi&0DeP58MhHO2tW_!5=DoFvgsN7y0ZCHJULBhp3<4V!uufiv1mFbf^x{&#AmKCYffUuQ*EQJ(t}3j;xdHcZg3e=L zb3S$BXK*;HZT#PJYo@i<%eWCfd8-WdWsLUniJ$ocnzE9NUInUtd!WC(VBp5T=T0$> z1`kcZvf~0s4xg8%@(ULaaj#!LR4P^208U$*Ui!Ameu6QxYr66hpe1%|@^oB+oTdny zd`?zj+ew=b)7W{Me)d>#kC6`N5ZJZ!&7 zX-4m4pg`;mi`hQeDJ7nkSm)g1ADl& z*2$bvBhNC!$?}mAzKJ#Vb!Wn0^w$pu(qpeUwZnv_)uXhx2gcMq*Byd)T~2(P?Ab5l z7TB=XR7wF8eiG7)KD|JeRC|c$tRr>WZHY0=nt6t1jfOT*eIvA$q}bu zQc>Vc=p||5#q6`{hKpx6rJ!c9pCNoe%HV*M00r~3A9UO+Ml|<*i2tl3o4r1|-hbj? zY30GMn_A^?m{Vgdz8I$8%5A_NJuifgepv1)`-tYFQlT23l7TE$i;HZXTDEa$s^d>? zJ4~@f{!LMGPU{=)S=r(lJ5#%WxOC!p=lDk?xWGGQ$gta9V7VU6XITS%f#O{xsy(zp z;bX(e)7&{?wH7N67;2-)1ymP;arepKlKXvoOy643)`wv$t;aiMzwB82doIoM$X&v( zmBk!V2=-(O08p{sqj`&P&i;)CowJMw+qT3G!;kV1@;*A{p2e#ikH}0Bj9c00+1+Jj z*M8gD7Xmv4Nx$grkfMyf{p5`NqIFii4UtkteM8+%KaqC6V;(Vxq;>`tOmXeiD|Jvby0zlUtyw-CB?ksi?aiFzIl57k(v?96tN9cBMVCl~Q*x2@F|PtnOA)Cnp!vrBT-9Nb`_)Q&nvzD|)pm6X$E;Ho|2qH&$)AI%hqKX?AZP;|kG&m|Ld8BH&RZP7(aDOVaq}J<9J>7XJREQxA}k6O}lFnF>_2YJ9?5vV}!M#V<0ZbL=)M zOP0}|ElTJ<;{KBC1p|TNj8ayHJpyJ%zXkaS}qPLhsyQxryeA8~LRTCJE$AqvJgmMQFp# z@Z9(4PHNXb$K^lc%iv0fh@TM`sK(8~y{UAr++IG;Um+~avx9u2=p>tC+!I`QfMPM|vfw)bk#^}vm;w)dC3^%_T zOz}x2(b=luJDcI&R%5Ps&;av$LW$ii`EDpfMvf0Fd3lIKr*%uhyUu7~LgE@O!BR1) z3vQ1w5Wpect#J0Ph^<6WrMz4-dot$pYlm8LOyYL6a$S%fQ)tIHXhCs{C}VnOu+NViUs*G~n1#I4qrS~Z42mLUErg*NyI?hdu3g6KYM?3qVL-Rs zn(sWd{WjJU&-wWHGKR;1`%3;+KE9hj{hC1-n4twNB`EXzhaut z==uEb!jM$7X1lQw${}Q65cj@ie9pcZqRP9>(Ze_(+b_8p`pma4e)2Hinp-^kX`f@C^jq}cv)!=|n>aL!5S2(t< zB!K{oPj(Ieo-^FaA>$P@0!qfaQIrAR4$pnp{_jW|Qy(QeL~qb9W!R>=8q*&@SJ2z> z;&ZVm_nz<*}(sGeoF(vmvAO{-G%0Uh!6)<-$ z+^>-|~>* zA5gBsa#l0Ys>8(oHlj|>EHY`FIq+$ZFPK*rvF`S=f&~1URcFw?=0rLQFxy&^_8pa(v^23gh27r%#F$xFfq?$IqvZ$#|ceLJ6$Q9 z*(IP)!?&}S^c_Pl2IYsbdncjGhuEUe5o%vG2&y~3cS0I}6~$!AE#DSeQp^%sf_}Eb z6GVkrU;Mq!8I7x294g!3Xxo@+U5W>K&$e=l5h_^S}FSY2!LpfkjX^->&cST1LE8b#DtfZJi_k z8XVvQA(3}t`x1?*Wj+=$4v#llRPMzX@(zTeBm&?AaKr0O5OG#|;z~n-{MS!Wq4=j0 zmMKt=$aGVuzmA{pt#|k&v+UrJS!OK-FN>)roW-SV?`rE+;cOhc<&T)k80tZ~o!Qj~ zZ0|=Hj-uNM!X*_|vLR)%_%1VCC+bP4W6A8y#n03U$cR)D7e;YynbiULMLrFsJaq*% zfhQ+j$)(Fpz@Pz=Q74Eslv$gc$LO2CbiXRT(* z1Jh+{hT_bjFG=NB`h7OU1*?r0`K^?0kamcoNl%@HaT45v6sh8#bghi(HpyEhgQK-| zb#`CPJjo%l>vzKi%2Bq#V>pWKuL8eeB4}^F{!v-Vl|Aw$M9gN@*ygwUB~uuDLZzqb>5<-J5Z8VNE}>l*qR*r_Uhj#(bSL7 zL|PMljWSRB1D7ufBl*N96Ys|hpI?nq(fmMe6CaF4aewxd7mC`@?|!Q==L3hU z5hYu}2Io^;S#8ye5zAqcmwo>RtZX>F|Hme*?Z?p3#hipwX1cHMUOQ2Mhy1?bZs3n4 z^a2>YCY?K~P}A>X8PFpjKPY>0-yw=F_?AA_hS2rfc-o$To)_(Q6mDo>U1$QQ@$TbH zA+r^fh6i-@!g?^d4de@C*$|8xj$PLnjqb;ON#m`YDDkzn27to&(}w;vLkE)W-Mcc7dod4MIB`>ZFVrt{`FYEyhVe$JjyY;fk&+|n? zVi)1tQ=`XaxO|KFBdv(MkR|?!v zofV9_1*3%Id~F!ySL6t2xM6-9fKLnEa8ajGyx(j(J|L&?h?_dC3z1$OFaN;?9ecM) zvxPWkl@9MlT~JJ*NYj3lY_Fd1+mHbhdc6yFrA7wh9_XiNh6&C=8A}y#a$Hoh%i^}n zBje~$Z)pezEt3xaj$^=ZK^A$_pWN>Vly5*5>{{OX)yq`)j?aIj0KC!dlW%?SceG_+ zaU=SbWV%X0wT1*>RjdgJEc!D81WN@JRR6Cly^@X;K}Ye%zU_TeS(?kR$IaoiOl>5m z)-8GM!Fv|nTN9`+g?#8}9??rJF-fSYoxdP3VvvUTN`YyYV3bQ!UXb>aPEe#-gmf2S z;_j#R-}l}pS-IHnMC?9}^JMK4UbRcb4Na>YzwZv^vBJrV*2!<^+6gSm6Nh9?OEkox zUr(;i8E$-@cN1)=_2s(0f@9L=SY-k{ph3iVCj}X^%0T_9ewet0bUpaNTY<#RO~JD{2fnlBslgGx%8| z^x_wN7gxHx6?*E6d}l%NOVx@&W_g6{Y7gA|#c}%U9-WuW3DW-;f|D(FS9FI?d7(uq zx;qsDJn;*R^6;F0{W&MJbQ&Rw5LA)2t6q|&@Eoi}GO00q;PB|g=CnD;s0#dHMG$K& z3foOFR0%PW$uod`FWnij<~P~(;q-Z${XFx2RFXbO%XdnRw~)#{;pZKYefKmnJ@`n? zeuB(R5LIXQCdREjAj5gY+}Ryu^Y4C=zaRTuls632?+U$a#IG_wG*5=B^ss5; zSAllpN_o}9@GISZNVW=ppFtnInh4L6#a_4|kaOhGf{HJ^BP>b&zWMv6R{&`EW9;Mz zUu!)Rd70>St4dDv`*qvxEIWq)6tP|O`2BGp^cnReZxBc_f>)RaY&^^$@g z9cTZMkbG!~sGWDp@w{p`{G;9G`n*1r`*_?it6hcoSONNOwzQBoH@j2LoA58@sN> zqWEd$J4gYoJ^@IE%{|fUopO?-s`o?%`_sfBpdhj`iTS83C|gzAyJ?@J(z{_bQHEGq z@HxsfiD?mUEZ_-O4arS7tz)+6h+QWJpXdNHZ8>pf<*!b1j;p_4qT$f2?}SqUBw_X< z)o+i05>reRRdi9Ej$kTdwTX;lZ1-QsYMpmoEHG-v;*^+<`B?ktjZ4wkDl4gi4*CV^ z*@Vo})w@_BN1O6Fl-jeOXNI*ItRrPYMcgl3>S%{(NPa%nbQyOx^{l{l9?>#;IxQw5ts$`BDlzg~o<07Rq(5&JKJ zzv7yN^#!dgp_90L2S=x?I%o(e`*PWMZ4Zpp!>As|_|w~Pa5pbjMp}a$6N)$fCn<-jnIEgY6u>KnOgpDt)<2_68K}1PC?ZU1c{vDpEC2rTX z60%k^>R7r8DhLt`<{<`5Sn+&gv{s2Rc&{zD6wDmv?39JLf_7~5-WKS{4Qvp3qex;^ zhseSreUN(sB}*qD_TDT;kW)Q!uGx6HJz$%f=osgwwJOIrh0Mh_Q*r+m7vp0aL40}w zXVu%Hg*BNOFH-4DO>WNV@0A4i)?BxT(BJ1Mw@QBfHmY>9eJL-`-P2weXHlqa{0FgF z_n?39U@T(o=;|*Y<*MYOf;Qv$k`wAG=j_r=QneDF8_QnFU^E`S-pdTcs{Z|!*|lLNv1ej9Kq=iW`)Rb``|9+&QB%*V zD2B0N2v{+BUruCeuvts%#hNouLCdxur;Kh`J_X&vJRCE4=$M}eGb6w&_o!?a3d1MmCFLtlId-0TS=hhaPc zm1-fwn4wxP#P{c#?7uVLrKLP!+t*8>aW2M*{n@aU#P$jaw1OTOKGD92M-GB(y`=2l zzyXf~rs7+~zq~9TDE}9aHpviW>&_CIuNdpo=UHUbaKabv!K8l4Tn#?oY9PtdM}#*) z-__+esC{!p6=T5q@P%zn@cE*|mP@HRaxqTNrVBqL_P-k)%LULglPLJ}M(x@agYo!H zH`%+wpKKnDaQqh1HdGE4JnAy#Q!*cWf!|kC0t!FkqF+_tRd{G0@0?einpLFYT{Uov z&%gxVMSmk(PtSFDmSX=Fjn>zxF3l5#_sUJ`Urg7xpN#cez&=YHNFz~fp?Cfm|2H3v z9*9PN*#V_CATN$_2sSia&3hCVW_IHqpeDHg^UU*S5#st+1)EJ=5Lfj!O)vPP_Ea(h zVBxye=_iUz(gvbuJS+{NLs{In4@={)yki~{C`w}73Cv&Gc1&_P1(dMiw3)A*aJtqB zCR{@lN;IR_Z0Lm0^Gr}HyjKuV)taLo{KaXyAKTZSm zcIW8_{{uI@QrW7No;1ax@;YRXH$1E6QGL}<-sq0I40iM&1x}rIZt5x4*O-N1x-S>h zqP~#8$(S~4Y3>WXaGXbRHu-v))JBllbz3cD(y^?e=K}}oHeIz@u(gX>knv!bvuX#+ zfAv;&xc`0H%fCp6YH`Fzttee3!Cc@`}nDVw9`4B$Wg(Er9da z%%+QIGf-9JKl8NN2BnvEr1*$dX9Sz!l7@Ii;Y~alyCJ2Y{=0l z#a`ub!+EDkH^DiFRE1+2TlI$i&0eae^^H~3+aJ*uZZ%B6w|jp(0Mo>eA#IM_e=$!p zOHV|~1d|3^Pl+z0km-sq!#+&ZLY0KgBE8(bUU{>l%xBX0RA#tADg$hHb1%+|eeh*{ zY=!)}TF^iZ@&ZFv8eb?o_ zcleq<7G!JWPTYa%i=Ss=hW){BNTLvKl+sRok?ptjxTF3(g|p`yMgSt>QWa zf0&?nBE4fU>FvgHlqk#>pmC)EstiA}0o@?g|``x8#^g&*QYYJ#XPh6@n@3uWQQ<&3p4-34J@c;jggkWBVTm zmmW*34d!Cf>v%G8x*u{xR)VjY++bH3|Hz ze;H)ez^@^jIkT1ciefe`pW8QncM*~Z`o$yZh_MX{a?_4T`h3(5dK`KA*DbdabQxyi z_s!FfSV|0hyL_hW=NU=riknOJl669hlMS_Nai@mBBed`Z4>`D5v6LJNU;}&j0)STXT+#M-W*HW>J2XMxk4H#o*PYhB&u zVnh=ZS~7;Dx)Kcrsel!xczBp3X{8cHgRlC*zZH7oDnrG69M*yY0ZoUotKN>`T;_HN<#qG~Cp4-^!Bo{28|-r~>K)VIX=Xz@lk zo}G)ky7`{s7h&+#ab+V&bs+YT@}!xvLJO7g4oF7KRGc+0Oh`z?QB1bN%*vdy{eh5y zbWSF*Y99$QIDE&ddJfTK%^2z0_`BKp)7RY2wgP;@A4jPDJofqfkYQrtk;OaaVs&X; zX+$8o*#PH$UUk}zypy=D5TKycL3=maJx=b%+043i^*btRw@`k!4Katbx&6D+aruTj z`|G2IDL|Ja)|H;m85=(C{Jf1|)L}32#N_Qn&-zcN?>T=y2i2ZyCw~~l5w8VbuSD>7 z35%AK{1+$xOlzJEqEjV1Wk(S{x%KIfnFVdx=EB) z-;`Ur_&p%Rv60FqdE&W`5U;WQiUG-Hext<5=`!97)kXZF>5g+DA+TX~O+yk4aKQP& z!Qwe-ejQ6t30U>oiu2_<+T8Uz#;XG6h$GSjty*M66t5;WZ`qfiN&Om)7);sYFD!f+ zT&{qxAcbvQ%kCqFhBhS*j(qnKh+=9dPRs6Su^RqvVn{aqj|!eXMv%WKWxI;3xEiWp z+Nz4s^-%@t&R-gZ;oZxzKC?4IhT=d@FruM#sHe6xDL0?%xGOi`cCi}@3%n=?9ID!D zD}?8++6ne`mJ^_JE?D;fdtKfi2er|U)^zfn3hD+O&p3tWwX3YvQn7F<5g z<6h87UPmP8+vxM@*j1%R)V{m#v^s$}2Ol*gPT^gomW+hSNL_sKJKF;4rGT%r5rrdg z2&3`9#;_5%S@z%C$7c`rgGYqmo@w2>WsedT!LV8LOJ@T(nJ2b3h8wPB!mW)OUiyft zK9jbHYW|=!CupwFr*8L2=&<|J2CwXsg|KTu_vi8(hW&Azg6GR^zsAr*HSN@)WlqRe zxzy6;UlJ$nA1j(YM7Ur*=Kg`zf+ICRCfh-F8d)fVM5v+0ohUm4Z2e(1flG;D&*)7h z4KG}TZXnC7VWh_m*$aIPFt8W0?R=1&9lMf>hJv*^^3^*M>3+{mXDywL6N{E?O`Kaq zff}uQh$^T{>8cZnphHY=c9Aky-h!IB1bAATD0$KwaQ}>&B0}uyU4tu}gI&B*$hpdn zPjM8F5lx3cqpA*~&YG}x;qx+Py>omkMHn+)xZg2h_>Ezxo7sCuGco@kjXWZ!A(ls< zgFi@VMyaBLKR6F(Zxekil)LXnRuA`D7(WKOyUVNZAYt{AfQ6q(4~W;iluGEdiy^S! zqHYN%*3lv*N1*k&cONbkChlqEP4vA!tz9wS?bb|$dVcutg6i;)(JzU&N`+sk7MNA@ z^NrlZ#xk&OU;J?7{u|XUDGxWha|0|9x?Z^d?U8MnFlIWV^A1z0>Oqvu*h=62iuN(Fgj;pt_V=uq+l;M}D z%xvVqxo&M{K-Mm=5-2Jo@t%;g27ooJ;4w$tfLa78v(K`7!=&LFv+M!B_`S`1YDJd7 z0Qg2#Nowits?j|D^_N?e!A0bq_u*J;L(mQ#YSI^VR!c{}A~N$ku(+ZMtZSSm!-lMW zo>|b85I>fQDBGMI{=&-AX|t~&O9L4`bb5E`fY((|m#QrDIy#`VOs8IXXe zJLhgcXTvdhM8Z|gw!})i8G9#79lK3NR|NIWHNqu}(kDA3g3N&-h!!*ih*y7sLh79g z3P+2K7r3(Gdoqtu9O{v52;em=SJ^y}%fD}`HGd?6b7*baYi0xkzX_+h!!yF0LwA0J zX&xvObBh!*FTZx!1WSS(b^ERY>XSA{wwb$R-+G9FbKim)hT9ES1%|T?$ofb)Xs${{ z1R#s*jS`XZX$gMzHk30L%9GJT7ApQKXC4jjnR%BtMg8vX*d}W#@&c|B$myA~yhBT} z>dOntc+u=L+JrGPG|gLK2qKkh-)^^1fNzj% zK4M@s!*Sqdo?R&OPUia!l}MZ9s{X9vbsJNEYhz^+n_0_5ySiQZdSJ1&)7)ftb09X) zJ31mM5P%bua6SY79acR`mo1YouM1~3t0pVp2BBT!*RQr3$#u2*Y!99dR0XNF=YHHp zE>>irm%z6kwg$?!wTfw$DJT_PN|u!~1_@6`c+U+k{c+cn2XneV*Pgj!`0}xmveH-w z($#cM=@KWty(blHZ?x<8kOejr|Bbu`m15|U*#q{9RZl{)XVjBN3y(|4JRi#lefV7P zx>b3#Qe>fvvtCItI3{#QhWYy5`RTCJnrLYLiZY=7I~Pk`bKEr=y)5WS0$ldTSB+KM zUAkUlsWz@J#RW>#Wn?^LD-^8CYLHzCoueAxy?Xd#BQ5)HQ=LcMclhliOPlI#US|fL zBGT&JrY|9k*NT;Uj5WqWG!>+jWbe2g%ask`JL*IK2xzysqhYspq5J2V;Jt9z(C`8% z06=c&0BjxdMN=XoIJ-$V_ZaBgHT>*wfB^3XG#o;I{Z7Zc#1K!#u5ZWX`OKv#u}ua= z8*xEbFTGfqZta}iN-R!xhO0%Q2R8-J-S~MX?R1TbKh^a29NlkP`?cW>cf+|#VQA>O z%~1V5`*YM$g0?<@CBlz`ZBwHSSkt#Tazi1p_a_`)^jRDvxut{7#3>-Zkako&SOd-8 zaUp~uLIRRcg~|`NTs<)qOb?=3IV&Mb=qVPytyE)1hyy+$Lw!#_2D_7R=!0=?E?hGD zPe411x=X;%(r+^4!^x)C*bpjAI@pMj36)3nx(P=BflYCx{)CN%XDwB0&i)&5gj4%t zXi<#ukO}p-ARy!D&(2B$H82_TzXMD{Q+n02(~O}6J(nPOiE!azt+v#OPI-MPY^dGw zE^$rOgqaRiFYL0drcJ|%)Q~&-{!W^Yvj)59SWl@DivKx$Kv~h)N)YmDR7=#aGBr3c zvl>I(<4HqyhRY5SWuUvS7!;NH&Q`hCg05wEVLp@O*zFI5boFhvgO2h3{Lp&z-52j( zxIWBaY@&jn^T)2WUc``p&maMD0eRIYUrS?_V)29i%b66jE7@Zn5%D|ip zeTMgK()6F1^xc(P0z|@MBHS-KW*fzEo65@PkL}Y_8g!f9eE2{}C`+vv4W`WF+ElgQ z+21sDI*G~Dn}R5ywG_l4+09so7N}gwKKL71(t477f1yB5bro+cX`d~-oMLXT_S<0C zQJcrtgwT*2D~3*&P6VOq3(d;#m8)i6%+Ocx!w#wRwxmhsw|ZW`x|yhICr0`{c!6=` zSfewq>ArX2b341IiHYKIKqpN5u_o`WS|^fTNLpuAuXCzjX3d+7>Nu>c#k$qA=>^c5 znJd||at@PLdKcm~;Je0&>kod^k<2&iPUoSDz`-b87Hn2NcoKD!(?D*ae6H?(X_Ld`s56Zb@QPgC_nP6A3DKjLm?Ks6>wE;UhRxG^lo_Xuw= zYJHQqp@>y83(*vppoHh99*CLo^#Vyh)JG{K6BZam;ZhuSE!qqhg`@t`&)BeJh5l^- zI3R`12wby}TTWHN0_E`~i3~i;p9_Rw>1LI8jq!Ezm@e9(<$hNkBe7rUUxEH_>`8Ir zt!q~LSI+$Z%LY!fkqE@uHnTfdpn~t4*~B34w?l70Q(*Hs9QnwvjXW(tRoK)mHyZ+5 zpod83>K|PfO`0kIEDIe=B z)vk|;e;+NxeS*$!b-N|I-Z<`@t2&7Fn5E`Y4kLb_Owl-eCJ5 zH_ZhWR4k|W&TjBD@lIl9%nOZw3v-_Hl3;gV`TK5x zv8lT!kqy~$JIaSV$GW!enE`=ppZo@bS^GCVD$>9tXGYZ9&)g~9l0wK#U_}XFQHBdP zK60x(h);FoG&pEo3PXNu zaErlxuoDrI?OuPeIqDH^c=1)Khp~+VXX{7#9eTb2-a#p1HNU~^wKw@@&cI>yw9gK$ zZvtCZ^18O$ln1&e6Em$UZ334#63KW}XXHN!ItsG49f_QgcLR9$4k!=FtzGsDe6fAe zj#c>jmG5S74rrYo*wBIVch&3l>&}zQE?)HAtdNvYHGQGX;x0-Aa{3ZN&3Iw?jg$tX zCIqO!+6XAwhyvyvVgoy(-yNAEch{Df(VuSP^s%ysV{Sx6+b=sd+eG@bA^x7z4aq8* zWp63B#?Q2#*lND&*s(R1(Ko)NyIwQU^Op9wr`*>J>b>6`T;M?zfv+Opw8Qi#j*zLj z-B3swPaz!Hlh<emlo)f}`-`F|g$+G!^Uu+&zR;`4cjhnp5zIp`zgt7(-+T0>9# zrl$bS^z#AX{0RdUf8hO%n5#It*|Q3(El{U9*Bm{K`4SoTx7p*^k?k2W$Sbrib4~`Z zibQW_NU@do39nBTu=-VFoVuQnbM3{)7W4nZ`_7FoaJkY1%3jUIimh(nxO!BDFs&r9 zq{eY(Qu&~!|10%mfblNbFSAaJzNTh+YEC31Sr%_I?Ahl>YXR>r=|jiwkUXp}q<1N*7Ej8I?wq z_gAg*>0R5C$ogSFWCfXljcvfh5W*7#H-- zbDN72XpruIU zb0i;7)QWGYAv*75?}yuEr&YeB{JXh`Z=M;)KvYKlXs25prVB}2u0llX3hEjlVJB=8 zdK~pNWHCRsFGt|ldRUclKuG!}IXT#NYW`fT`h=SkIU=Fb-9B#YFtG_<87aV*mCISi zTsn>5ByT?4BZ^*9Qr66*ik~9pmH3a%f1deravw zG?6I{EPTzwlz;@?Je;JY8%l~hs^ZL?KNdO$a8$OzMXh&Szg>hJCn+LfDt-haQDwr17v z9+(x73Lf9el<^0X(9qIibW4i0Y;c^n61uAighb z#;U4>s7K|0>$GyQecNm2^_Cu7Qjz(!Iit;UQo*%3sy7R;vc(uGChy8xEv;Jmsqa^3 zxTH-8@E$(n9z=J*5`w9R@?%ZZGC0=%T&+UDYwXYzRPyn^5}WV~0rJurQXfJgt%%SG zQA8oFeTQ(lfrK*1OA2LF8bg;hY$XU%PW3~nU7-O})hW(Re(4nT>C$wQ>U5jazU3tQ z$wh>_l(V0M&Q3~)susq z4E@iW+6--YQQ+_89Gb!8MVISOF!DPTuhP;etK#*04JRWKs49HCi12d+$Tdr*yDp9( zo|_T2s-}kXHRjP@_CXDoXjMyZ-3G?nBd{E-ug$)?t%}^IY$K<9tF~@x=&;YC z7A+NDG9_(uWSwZ%;7^d)uTi*?UpZy>@MD9OzR{P&Tkn5K^uN+8;CJ!GE-jhvYW&|C z#lBnGedx564$o&+;=$MEoq_qG;Yw(?r{ohRl;p8$vTzEYzsP%TSvVCNt*Hlxix|s^ zeX>28zL7e8nfi%9!A#U2)}p$z_aa0()#Ch{J5C?qf7e6JUMUe-mR2EZ>m9!16cItF zLghVS;~U@BCj=W4nn*_kkQJuQ%5h>JqyuX~vOEgTMq55l)Yi<%EJ$p+44SPD0!;s< zyDP(nY#jD9)P8tYL_f`#8N0ycJ@gy6>y0(vrf{v7xg5td93Cd;jYr4)BJDRTAmxkS*k=@scWB1K1O_!S5yODBf+1_<5#8 zMv>$REyH_KaLFx8)#tf%-)SF^(hOIYYEJCcauE$#+{^|rhyNn8V1Oc~?Uct}!R`1~ z_}-d9iNu3PbA5nESp@ll3$up6fNRF&l*97l?|n~0%PUT%8kS6~V9q%b`|{#LPY&EL z?73|91@48>eAAo$xX=7Q&(vb=cdaEmw(We*@tY~$ce0W1g&fI7oDRgTR*kRT?%cc0 zl8d8Srg~2n{bpy`(B#eE8usr+xY8+cu57p6zhHF%8CK0QAcnd8S-fe=W4v?$)mz4D zt1`U*IPdI!bfiE+C~wqg`u!;T&=LRQur#7pSLa8!X+CRMeHG8CNR(@tzki0Qwf^B78OPnXpI+4eHd|fth40gNGQ}~->tba4eFCx&=#dW~N>0|z& zKoszdm&zibofsk0*@^B3iT*!3R@WwxjX4g<>V)2%kA|-b^F_bcXjj@28!r2%c(Z!& zW-|Yecjib)Z_Rxy9)`VR{CoES^1|Ff70P5eROSl-vWggN^~X)1ra+Uz``ZnZ3u$*S z@&Q3&GVLEdd-q;NG$j#1ch>k=&y}L~K>`Sojf5Omt4go@-~;f2@RC7G#V zC$mfzGQREiS;(uom!>t7oJH2nlTnTL%hE8qAm0}aR!TIu6*<=U;kzNbLq={SeyOdK z6wU~`P&3*bKV!y(S-^5_NV-Mm3zY>7)s6&0H(xiWKNxD;Bf8d3!i`x_L!Xk`z=WY+_<)woUH7%00KO zm{QC>dMSUyAg*|4LrvaedudPPf;5mb)mOJ`;{?5>4 z$n#UHbHp;)RLQYjXdgtZ{THMc;;&=WJw9@UF}oMiTru1xK6~kd{Nu-SSBIt^*o6c2 zzr(0I^~)hc0hbqjhGr(xCr*!X`7Y26H=UqbV=l_tVJ0>Qv^y??C@3S1N@4U`np(m2 zK9z<+yJpUr;h1HXNgwdxUvR|x%Lbb-&kt(N&3xjyI%ki$%i_cJO9|eiL6?v{Gh@qV$ux8kemd={CX-&YDypW zywW$Md2p`yT!$gVH}E^Y)1fKf`di7aBAZ+Yxp2(e-Tnvd^eWcOtMZ@aA=Qf>Z*11x z8*6H3*(tc=Q6FX;vz2X_&vSrp7NInL-*O2lO{c9_NHr*fd0QNyJk!mhCZztC_^AA( zA{!(ibKS0(f}{lHBO_fBUX_lQXUPQ%7|vV*|8o+Peh*Xbsmbs6e5Fj{YoED|+WeyW+c*AmP7EiQEb9HzA3zD}|_Sm{)*EG<&~ zWb~{bz_x}l#}Hk%hnaMI#0DM(aAN-Mb8VV|zZ8;cc=YsCL#fwoT@(6k`@JmegX7!} zII`y@uzQAyT{OuFm(20BC0o?r_tz3X(}2hl+(qms&0vS{;c)!Kgm+|>b59;B*s7Y| z6f4_1V&oZls$Plh|Xro-TjB12oe|TlRLE z!Xs}|Lg@ERIzl!Xo2tdAawDb={u5X+@aNsV4TSKlG` zZM`Tezo01r;taL&BS+wUOxIjuAZqG(CBGcK)#VX0;l@35=2-spK1Y#!eblGix1~8% z);8V8)>lTs{3hs6oD;BA{bLcsH-^H7I7v>y^^odMyLk=5y)EC2R$M7+@npYG7}E)- z=toVrv&H`0mBWEcmi=S3X2>AuVjlhXJecknX7EWUSA)FK526Z0FaQ>f1 zw*c?EXcVJ>Y3bwfUEHRVAE%3QTz&(yM2qjSCKN)QxUHfJlrB`6e6>6^Z#`0GCoc@&0Q}3#?lwi5Fo6&PG~y=%uh9pByvo-4Hkh_+7zjIJtog!lalS3h%cYhp98=k`-gue18m>&qRF zk>g*?6u-=W=8Cma4u&JcgLzrr?a$jUj;*nKg{qy_);9c35EEl5bQ+auECC2$F8|6q z&EDD@_183!v+2V^^Z#{8oL}G0ad+4?mLv}VaWPfpfm#dYh9Gv<(2j5NO;WhT0{}<4 zV=OZQIf6Ire}G3PqjQT3R}#@vT8uDrgQFt@W5m+a{hw#*$iT~HWPqzgvKIin*MsB?7Q#3HHw>oWhpq#zZtr(&f;$XeA3xMAl4y`oI`UggsmY*p+wQI*Et+`F-{2l5+Kxme z)}+G(B)?HQtT1JIhYlP$d*9XK9)#gFe7vkb&XIqD_7q8k#>}sr(8GSe5_NV=a9WjC zZ7z#8V{Z^ul$u|Td#uHTnjOxx z7IplPfa;e{`}-5vwUT;s7m?~c^T%iZeNT!khM$j~tW$s=_3RFyTM$=I%pN*a?uG$# zx)WcYY>5KiOI_iy3x;U*@z?OLKm(*iE^9S&=zlK!i5l)DwK*yYgX8R`Hf2Vs#R08X zV!~lL%rWE+{ykULNquE>W)&d7PE{On!SKPb*cV}gdgRl6>}A8m=YzV>@uq5Jfu4gT zR1Lhv9TYu)k5bk3VcU&5lc{aN;oow-XRPc(4ef+tv;E=F3G>kv8@KOdwXKXYPe(Ev z*SUb4!!nvGHi7+PCnODucw;c!`XJnGlcoV~i}hTJ`FUoYarZs~ZMCR5Yh}!5t#Hv` zHN*dZ4&Mgg8s!U?|1?V62L-QKDcJE=-notM^_g7unw#?R?`|l|VUIgzpm*4pscmwdT&en@ zph$TpsIWcw_U9g=RwyJq^=7>Lb2}U7DO5=l=pgG{<&4@U#d>?|^{c}y|6qUy_bh>t z6avX6r;9@|rzpK8+qn6(opV)n*&7)@{Jq$Uggrd${pRa>Q z#;%Luj<6WFOZm^mn=GN0m`^JJx{%T=E`pU^dz0+1>+FJSas-!*r)5**aYPT;K zca_Vx5#6tR?X*mqWt&rY4)v+IdJ4V{JHPOW64N{Dlr$s0A;V2ujQx2=u`S8sm{!HrRf{RYbBe)A=C{P>S9rUQ71C z)Tbobx75-p%D@rs(~BeUMtoV*FFcnBzh)nj-ieLd)uhG?=ZLwasAMM}Q7=V|cXr!z zZM(%YhFdG<3F{*zr+Onyw7Rv{hg=>mxVIZig@+!#-c%<*w=v!N8AqB4{nvEe@}PqA zq+V-`;s?V;YFEc|*jA^Gx370&+7IY#8zTF;Ckox+7J~%-p#I%Ce53uehW|YOixoFa z$2Exe1nN&e8#6DaNE`(^KqyvD79|x&@Q{zz1XpeY)IvN)5fijPVSLz%JFxpV-9UT% zdw(YA_`TRDy19ZMeP~46O%sOop-f6hzeaGy+Teh>tfU*RJQp3 zp>k^=;FjYIEl+8o?nB+4?FZ^9*mi%VYXr^X@X8Gb1G&)+5zaO5cAwiBi4fNkzf3?3 z2}N6K12LmX%9JScGBE~0eMe;q(OteM<8t?Nk9Fb;?Horoc>w>b^~cE>X_F0Y8#N2u z6Cn73+#Q<@awyrIgtkc8`T)TySS7nA^wt|DDqfT>Z(m4sqJTYQu;toq|4xA2QGq5c zALvd{>P=iAxF*@I#)_u9g10^~=Ls2qnQu>u9+cC}7ce()rr0j{k<_9}qy?A-i436z zyQDZGR0`*GP*$W*+&CyFYDCAv>%*&uyH=hir$9sc+i3_kTdoh^`mkeyUQfVr>x-^;~lFV!4Cr#d4ZslhM#8;oazPfjANir+N14zeQ)OE z%w2g$V-ODz>9@*r-&_@}(1MIA&N!M0v%oM}YX%LqR8Zo2syZ?ehpab`zaThzTxonG zgZZ%wcrWg+X4tEIg?4^Q;^Wm{q4y*^jv(|Q31sJ0>XDxpFrIu3tmhta(D`yXLH6pn z9$-8|C9qeZvsR8t5($bkJ#?LSA6a)lC?V^d`pS&xJO6qINN>|LTt5NpV0J|Wc538hcEw@_?!WY-9*YPB(EqrSx(tvWrP zXO{OGvTdLC97!E1u?lH<;461RklFZkQAjwqE7Mo-W_qPth(Mf4QS3KsMOBi$#TKI+ za|6m+Q^Ywnt_Ec{^Gk+=T(*-@c)jdrR4$+f?r0IupS@))Br01{1uhB(Z5uL$Q9dWS z1Hg&z=&%kSc-V{-(CtCavJWH|l#b$-*mh@&xhJG{p)pbC$#1lY=O$kLaZGgSh=cGX zIqxsu4fYm>yP5x)KAXPEk#Z9c9khGsh!k z65xWu*XAapLYIN{$H4bm1{r>+t}qhzN_uM zrg(qVQL9q#>#pbv1cRu+FR0fU#{pYxIV;K!-~oz8=llJ_iupcZ&~CotQ*elEa=;uw zkeu-&)C*m;q;5373J?kPi*%mbuX(c?$mm~Jc5a8rHuIba9xS8ATifX-)J`;UbaTFG z&hbvn$$`UuOT^O$${9f31SIvtY3PpJgKeO0c9A$^G$*iVRbY~xeAC@a`q9(&8$B29?Ltst9 ztU6nOjm2VBtJxoMcBw*>L#Yq|Qq2xEhj+x6qaSxVR(EvKYijllEL|K`vUIS5Xmu#Z z6Ko3`8kyxR7c_PpSr^N0cANJ}m)r~VD)ntQkC}L*%Ld{?ANWpxjGC1g(BE8I%4Og$6YDgmSm?jiI{QG&5!FzI?zrc7OBf^p(+tp#!6EBaHV}8_V#2(pI?HYJ_`ck{XLj|;}C-;Kw__0Y@XzEIV6BNkP`mGYf;*p}Q_ zMdIspA0bWlAg?fdIB-0d+Du9pd3~bNhBf`%A?V~hw6*Wzyh+;qsI#D(H7gjUG16)r zdWaz1OxHmCVZ+qXn70nfv^vx&_>2?6%k{-vtTt~fmx)=|1DUKY(c8}Y-0E4vUg$H{ z5^)VxxL4eHI0UnCL=S#lHlV&b4XRp3wzw~i9r|rba49>}`MZ&imw>3SG@u>6udq-e z-2 zx#GmhUh7W{nEMEN-BFK2C0!>a-l>yP$CXKfJ>yGlCJf?S>KHvqM=8-AU4${H<@QNF z)=0vaW8dnqtOnEn9KZ08p-bs8u$>!eQBj1@5*JI6$GM=RwPLizYx25nOCt z|Lr7t*5dV_j3;*we~f<9j3aUr<$#sCopotY*08s9^W{Gj?AS z^B000IcVG+sg?*%=`hLf9&eb4Sbz$EXNZwkp5Xu7zME`PCT%7J+n~Ss6<^^UzVY7niW+Ic&Vry3?AQ`L*80=M7n}Tfr zkE81jYw~=%w$@q);z9+5RM|vCM%a)lvX`s`!m1!EVU)c|>i_{E5|)G!*@TcFkgy?D z8M0-B5msgI9Rg(dy}$1tF8&Byki5_Roco+}pBvXa6Bm}aZ$pfs+Q7*6B&l)l>Xuf@ zMAJysupmkgs}~AaTtdX(gt+ULrK7{GTuo(Nt9QO06Gxksq3U~;7drRPGo3GeHNvf9 zTCTka8qO=t_uQ>f4s;Y=(5s4q=2Dv^IS~o%9V`v$VTY!i){n1kuh^z`HlQMH&%8N3 zTFnq$wJ4SGu#rMO^5D+^vI?g>{2>GO_SkW9jsD*|ohoUIo>H4H%3pw!wk=1T`W-Sg*lQ&arVMz)56@m=$_cp7|tC6SQC>7;{f*4b?{b z{(C(jJx;-L-t0E49%@Bw&soYDbu=Hn*MQ@W>p%CW*vtm7(J0|15)_dv{yCJjhXxLelp z2;+enswAERicxqmA8Z4HvZ+9|7r4n~qno9``BV zg7Q43%vcl^=2I z%ryfoDO`+ZW2F#=hM%!%5`X>}PEYCQq8=Ewp!C+{pxdKCU3Z}3uA*TR>AW#mD(m3U zo#^te+lHm=IuL;4B*jcDM8Y)w5P!d5u+ zbbl@*BgLZ1l7#r`Pc1La;slEYSnG{FFxJVBHL?B(kg)-Ohd_}qM0H1%wv!7O{8;1%MIcZCY8E}-H3eNk6`&?w@p{r(x)TmPiu_N%_j!b;*Oc?W*LoJ7-VT-sv7$RX zkTIACQdLSZ+=RY>TFP(f*pOfVYzA4$q8rnWznvG%&Ga8^=V55jo%1Ax@M$j# zUHOGy^G<$t@__!;YBHI*z?cmOm(*ns_#Ew{@*3ifGTC%u;gruYO4UoWq_pL#qn=ik z3xUzc#^0rFH_l)?&$_vEfyRTi5)pwv*x=|-<$#lt*(?VfSp zN~0qUVwc#^s=I?&pMzWPQ{y43_MPbmsdI0(+=1Qk<$(^v7?sAzEHk;a`o>`X0*Jxk zDv&~&3{n<^j>6S;$g`H;qJpn0Pl>iNB`Q|6rG}Yrivq(-(I;OJf%drya~Igoax74D zr3h7QZeH{-$46Z-N7U&RIR%(fxe_Ceh*I0Z=kXjEuL!`=ny1|g8{Kb%qrDpxt~sJR zLBhgblvZ?v=u)$e?TC2tLpSc^W=D7D>6b}TGYtH-_bxG&5!N$r3g`H&`v1HcTXDH* zc5*a*K_Ota-D+ao6#d|9$Jv=_r$usO;YwYc?S4X_ryH;nd&E&Unru8LyN(1|iaqmrKmRrP)>7cKq?R>Jf-+3hWJ<{=h z?>j}~>*yG1W#yCaJ{-gHBS}j*B|~HUUR03+`sblV*vNtFn?oPbb@MZ`?(;KE6D0It zR2Os%-YasATdEYcRfo)Y(d{fJ65JdH*${H>l)H$^DBWNbRHgFl6ovX8DUKyeTtz4b zTKXM(2>Y|nvbAd=q<}NcBDTE(0Qlmnx(eiGO4m`%pIg3!&-Yb2?LgaKzklRK0LjY( zafiw%^zn14y6g>=zvpmOFUx_$53)fbMDTMys#IF$!xZo$e-geX-tS=g0bkd&7MQ`i z7WVCaY`@{YU@FUIoe_(_k?&{G-*bp}G1l2#Z*Sxqi}Mw)Yvhike=(VDuKYH@$o>y= zIGU(j?0R;)fc-C8odX0AQ^F~U6Mr^{*q`r@IV1?$L{+Q%#i_?l1RJcc%HFgDyX!`k ze$Q$hh^che3yTO0d|s-gCu32?YF2U1GK#nAP|x2#8?nF}Or{TqmG{2yK&4Ts?dRp~ z^Dae8R9zfqRx}MXqFhwhLDuY&9AQj4L2R(g$#As6eznd7^VmcUX`R&C$>+B z8A4_oKJI$zl}}$C3L+gv!sQCP98CgzSDliCZTf}cC0$C2S-OF6hq*>aBa@3j95f>x zh17iz>(JL{=}uG;MrI-Q^MG7*NTDy)Y*e=IAN!D=lHIDVisWF?v zsi4!v0i)Xu(d&WwnW!svk;bH2trPi$(dA%Q$bH7A3iQJhSkPE(gIZc%XX&PepXF%6 zn1+8?e}JjJV$GctyFG`^O>@(fE@=r{>_TP43;SWaeFJ1EE?S1J%9LM@FFb6NXs!Sx zk|lh^|^k^1I$ma1ysDJ_c{Z+E1JRT7%AMEZ?kru z@Sx-f^Rz&5(G}jF9f}S}UwrL8``y=iDqo;|%a{92$ zMn2(5u<3=OK={W=V-bz5<%n(cV)TA4S?Nc7`(Nt{zgOus$UBkBOV>DGG6vc3X6ewD zkJnlWyviNY8-H8IL4&J(pH$oYi=`~RQNR`b;}nvzb#3Etj_6sY2p|L^F{1P&1qc|j zN^q!CPHS0sJ9#@0dYU9o8rZ4ZT9~2->S9f{P0%!PH-Nvoi}{Z|y{^3Jr$8^7C>i{5 zD&MGbv^r?r@8I7~7I2#gAZJYwpgf{2gSQ0FC)vD^mC6*&zTU-NcMe%BZt&_Ad* z_(YadmPJd4Wz>7#)Zw$1K+pMY(R{R#x~H-J{4}i(lJx zEfJFK?MrtA!k?bDJR4d0_PNLf~XD1|+2pQTZNpkk?vG**!qgRi&wkp3zJNgNRqhsa_td6WoPX+^3T+aQ?6C(EMD2*38jSM+qNbT{~Lq4YYFoma#Uf*2=WN&X6^%A7mA#KeSYI zgf{7?@~XxbreOdaim@#T3e>p%+%UhJ(+gNgk^()`wVF;QlurC=jk`%xCxtfjoJ zXFRiGPv0kIwC|fXlYH8tp6&KI{8^%k104WqMMp0YsIu7cUCQ~D=4&51E1V&HpZ>_` zTDrrku(YO3%}{6*c}wfshe6wCYof-WV02(h5G=!goDL`lPO5`7Dr+8aU{#rc zg=>_Z$=85$pX9fN9#CJTqA(QwJhGwq$-Tfd*%%ew(f{W9F2c*~bD5;Riw({t8eDu>3tJYzECFiDTM8{Li=fEyg zj&4)-koFTclki`(F&hNCscjO9+4qM$A8>gVcO-^xrC&;vwIuAfr=wNL*x2?)026|m?sEl!P`cw zlAiXe9AoLf&G!X~JgnV|=>bZL){TbM_xMbzdg6>sUX{k|Z!@R;7Am(ElN+HA(Zb;a zujP_jIx~USImQ?r2$w=tjD}=(<+Cl)E4*b{se8*;MtvIy&Sfu*QC+fyiCf`lS#4d* zU-#`qq@0h^`p)w!7-|D?#})!XUO~R&>ov$5pR~uTlUhX4a~1f@Ubo{0I(Nsk{%g6q zzIpk*8+Yc%DQ56A(qhxS79VfppFpiD%&66zHyiek-hZ=D%Trw-e++}0PD#{V)dA|M zmS{u=cZ>m0u_vpP$?tzvRYq7;W&1QuRo!eO89!-_?O+x)QYKhkmB<}v5@q|kSBzuJ zfiDl9_ETkE6dZN^8o$DW=ZKEs`80>yDNV@*u~GOeuK$VADAeL@F$+f z1eWcrviZI>CbuT;fZpDv!#CiXrZtNK`)-(%OI3@;y!>?%ZA5Z#OSX~}m#X9#=n&BC z*gxK-YL~|*c@?a>zc8O^qwkKN4u>v*K++=E`0>O zezw?lG$`9NVq|jaUkPU&8^PlIoWj1Xubg0eFQuk$)v>?8n>i}=Y@71ZzfkbQ%p+Z| z@94|nhnMj+-3qkt4w%mq;;}IO6T0f27Jq&hSpC-fwu5L_^Zl-~#R2}S=vBxn$W2B0 zSXkF(+H20FPRBMrq`-=Lb&Kdlc13Dnf+FVig(RigvU(tE$s zsU*V;1~vZP=(Y4LrP)SZAn4C>*xEWR2q$O7B-cuVlLmRr;2TBJIb(!JMBDia>OFeV z!ujROBGNR>w9jFRp6gDPz)DR8mnXp_kmb|svHD0z5cN38&u((t57|C6#?lv|(!Yo> zm}OQ=@e6Y@0Zr!)(WGZ<(2zziaK?yOG3>n5!@Xs9w=dQgEWgr)IP|4FYI5Nh0N=K_ zehI+s@trxYwBFf>ZCuscRV_Ep&@c6@2_fB{AYRZtR|0);KGi&D+6Bk6W- z5UtO-Enpcta9+1*Zjc}iHSFfqF2QIUPTM~qwGR{r1WMJc{ywaSIsAuNE(;D-ddpv| zb61q)CXtb%^ex%=bIZCA>ZRrMSLCZ9SPI}Z%Cmg53_@Te@-vJy2UiiQg&J*|Ynp3` zy#={n8?}(Pl03f@;trxk|AmKwnmtjZAs(oJKd<_bd}z>#m7m%p%3Ty;(mi8-%7`(n zbQy{|%U3xgFl@JS#Xf|TW+k8QDT{eH$oZAnyTdzdoYwgC5y9F0a*N!3Tb8Pl3h#dF z2D2P*s~dD7No}n4#!wXwi3xfEsUELm#zEK2zc{~S^&q2~`V3=wZq`Qd(vQtU_pc7{ zswN}H=(9Ud{oZss9sP~_<=Sxu&LIlGL8knYC-ASCR!en_279HF(gA7YoMm6-k=j*u zp=7sX=9aYvXdAR`)8uKjU4gzgYGE{=TK${-5u>QpZ_c^l>7*gYCI)?|GWrf4uTYJ> z8(T-I=j41vU8RHFN4;aV>PlVDH?DZP@(^%n*+;u(+)C}m?QMsRj4zwnv{4`_K{P*C zqLL74j9EJN90M&Kv%27$BhfkNf#1`!EA{vN%Ka_=kukEmSCz`Lr_r}7Cg*>gx^_+D zKo&=@!mw=2p3hYwS7sCpr(z1BTY$yXDG{`lZ1nCL73I%+y{N)vJ&E}p z>(F@PZgN~&_>86XyHXa?;9v+HeQ95k>Jja0I%f44B3y1nyf|VC;vDR)Q%&uk1ga9( zbjko#zrNx^!sLj-T$Qi-sKEU`g5GC+v2>yruZaGeD7+kr`{mFLoJvJse1Gs4&W>bJcGD6K_!lS3qca+y$8J zg~sYuZL5LaW#Ied3VcL^MlV!V)$Ri#`V0d8recX zq=ZoYJ!+@Gxc5=_ZDf0sO|8GkaV{*9OFp#@o)Z{ww4Xx`*0l1jjMfx;wwTI94w?#! zS=#g!RB!rr>cEGZ<~^#~#TwJ77ovFkErEfZxV7M4ew@;W^f^jyqs|kYU6Ei@L8l69 zX)ArZj?so;QOi5w5+6oN*5ZMGZp}dT)e>PwZC&@R)yTlU%w`o&rXOcMXF3~FIU&jA zRLqM<3SUdk6joTOapy68D3DwQ9(#F~Md+6>ORX1V zgV;8gu1Fiinr{tX1*RiS@44r@RXCMW0fv+HGEhGLxXh)*9r@?g*{Ey&9t5ZjJTJN^>24o>Dh|Zlb(R`Io+`#w|9L zbO+xsj$gk@FqC{|U#}-&5gfjUnii|xm)me`CH$&B@iFZhz{GE5+-|X-iI7nX83MKI@OxOH7 z;X%yc%`91oVu|_Ito$|S)yp}&Rp|){%R1@tu=0^Ja+vQGKFXf0b1{2}b*dfd=O<&5 zJ#V8=`W%fvE3YToBJ63FdSKPA+B;?abZ<1}ex0h(V$kGz<)x|U@@_u~$6VbA$JFdM zkA%g@Ds3>do6_;S!mt*>)x6tBA5L;fEqSH;Q|&`e%njH+`m;shG3{W0WwQs3^>t~W zDG!Ig`f=(kTVO-v&TiYxX_q=$>u~W}=Mfl7)mX#0^1W$I)e8N@Xgkp>bKouLNpNbTTiT78G3&T3qm&7GdN_Q~>tQo0@0% z+xRc`-O-cxKfh=i^{l`%FwD=Xo{|%;>s%Z?i6Zxe`n_NO5(5qUh19j{o~K!MGqG%r z$s}ibi56afx?0%GbgF%Lbl4P#(=_DY{-w3qM(z?a50=*-{;3?t`+%5A9f#lfuVA32 zx4ffP&^l4o`HE>qrPk;|Z~EZ+7&|wk9v=h;>sGl!|LBSg^Fh# zR<;B%itw%E7i)e-ix3GeQ}3Qv_V>bWEB6wTJnl7epG=MjRaOc)CJu8H#lyuDV@_K5 zKeL3-gnVa=|JSB(pZBS>`$@X57ZF#J9k4_`1~zOR=XNDoCuR=EY)Ay!DHtJphXe%P z0b^N3@Lz^rglHiY)N{21?TPYQ>$yXZNCwX#i~U0*CkP+g=Kg5p+p%9ua5{D@tdR9w z_DF+jx_b^?FiG1^M!2Ld%{S2Ki+DzsIgsctUc99Dj}j&Cuksl;SwqdQT=kl7F6{IM zzO>-z-yzDwjyVa-nKC((=|iG0Q5{2FFu5b*jPetLSK4u=OE)uh-uddM@BF{5Mf7#; zeXsdv5&GKu*7^cwa(gcG@aC({W^pgMZ7TmvA8%##rLo^KQcReiC zmQLo+hO}+p!xPANfus$F?RLYa3lS;_2gISfXAOi8*{*DrY~V*w&SM5D6XiJtiUy>g9%P*R?00+l|9n z_smM@_q9pQ>T5_ClOeOh0JdHl-UVc!t zzs>KrWn+_(@ni^4tCZ^JUe|)QMgVW1E4a<)EdzM%==%h@Hf) zXGM26uXDh5LvkDw+A1!ZVL5DNJ3d*rZZ-9%^2n-9#lp6gQk&b&!qMlR3NzkOxvATu zud2^?4O^p05jA)Udca&peL_Q2P2ci1OT^%Ro~cA}=aJ{f33P+`0z}izo6pUCi-L%) zz@$)T2tCY|Q+}vx?NgPOm|_6kB*7ZrMZ_EeaZbKsvaG`xfg&6=MShB?$Uj&1XGF4b zLUhZYINz_U)B=aSKI?i1?ra0%u!`=riJp?S8MeB<(Q7DL`bAkg0=o+0*`Y(XY&<8A zaHjDN5qkQCyH8e?*l!`8`VO0Kfe}4YS?QgzXf@IP9Ej|ufU9Tu$B)bFPZT3YItuQ# zC41_+%s_%vJQ9|I1qNm&7Dq;+nr>UwNFlzWDWc<1G+g6EBd`yJ6Rk&6nIV5xi<1V1 z$cIW^4wg9GQ!jZw!`S>HchZ+`wJ}#$l3bk&1-5IlZ*@4HI~W7C%+_ov4{Xc&f#F)W zudtBZifJM;VDVc*-eF0h3JaAs;>rVJ(1Y^a{+ywyl_L7i2!;#R?pg1S#5fuX2kHU~ z7rGrLg&qR4*)=TxjWWOH=A57cdenRLe@c_HO)&RDLY7!eIud|p(LC04Iql>@=}T^K zpxzWi*z(95>0Pb@h(7?|EgRCj1w#}Iy%M%D8pH2;#$Rpi0ZI_^AV*Xp_`&6|R=M5XQ z$5s@*f{=QYjn0I5yQdbr-AJt(77zB{@5H&ir9b<`rkZ(j@MzXr5jIrMKU4Yj7y=-g zGG-z6vFlK9aLJTq2$tqj_`nflQFc@^gkHI>FUdk)Pa!@Yv3!a}H#|w_BRZ7jXKN+t z5E+{j_ukNzH@`PXR2-KM70^?(JFoH0MzX2uO5NtxB3BGAHK7){8)F1RkVL(CY;8U> z7KodocQimIXAB*#(#P2qWQF3mV36fGzQ8;&8h300zTMSD6e8DWc>MBwOv*1gKe}Z& z25iu_zi;C392aN7NKc}_9qbfu9=!Qe$L<)nnE0@hjZclfpNVxwYDaSaZ4yxNowWQU zff{_}8ddmo@5gz_Ie;ghBNrqMu>q>Ofj@Iu58w|A=uuriHHb>XbkWH55?8$cp9K%_n5ah zyvjP;-Oo*@{g=Ic5bq;W9lY-MaqSfvy)}xZ6eQc~N>ku~OzQxy+o7?8zig>ZJ9@lY z065B-5v!?SSf=`9ERb;#U=ta~TfC~WV<8CIfa|_JP@ND1F#tPY3GGA+@R@R6D{BR- zLphNETC%gVI!bcK!ezp6YT5%dp50uTr{B%oOX_|kz5p}y6xr4M-SOl#R)BA*L>gHN zA~k-nef`0vEO?+0XCN^<)FNrwdm;~*>TTZv()_-cD0c?}GZVk!EAru1+0E_jA{2wIlZ{eYYvuZ$z_A zTQSg<%7INeuE?A;sd%qAbqn4a1wBfM7PYsVtwo$}iz_304KKp=^IvyBV|Ak+_oIJ3 zN@g3s<0ML4n*lzfq}ninSxy-BW}y9AEqWaxHxnZ;f7Q`A&~I_B{`pAy0I@J}v1p}t zE?6UJ?8&IfV01wvK~sI!^IuUB%5k%H)vqh>_1k!B_-4LVzAq{?)?$YbySQ_hbOneQ~LY3}pj*gOX3Wnny&3@M= zl)CDq1&T<32qx|)8)0O6#|Y;#WBAsk8i#CAdT(KO)sUCs5L^(EW;eVVC^Q}W-^rL_ zanDfQy^LnMfa`3j6%fSB;CtGXb25?_I$GXm_Hbk+s#vhRMSGp9BkLpeVCmAAk_@7u zS;=#lW}bV*MXZrnA@@X$AgRNoNyKiN6f_-Zwp#R=?CTfHDpdI!mu(n7J}giw^@jWu z2z46SRB{yAw`j_``(pG4R!{5i%CB+^#kmUF^;S`2MB#BFiq;dWIB_PL%8ucfH38-J zg%9O|+_Zk#o!;nJC>gx(w9XA3;ME)v3mA@yz{;%X&pER*Z061PRcM-($%`^Ym|vh2 ziO(2xhy*cbHzaqpl>2t!qCZZ3jU*Z{4DSgodK2%=JOR2VMzW%2Bv|n&HI?hP`QrE}&F)Mi-N2W;1yR^gMN-l2y(nq5~2v?ax@(sm!P5AyM)+LB}8I`8U}f zeWYg>a;mXULR}MFr zK@Z9VGd^RD?sfy^?*aVKtk3c8qkl_Jng5`6(qpZd4%71dK` z2)m{&)12y_moi1%_cja_cbze8w@*p55>m9Q3+cPpVC3uxY{>$`28_jm1w5*1-?m)D z@9^WYf>~ZbDXptcB<$J*X@K7u3Ii`9U%$%}FXS=?rl*C%Z`UgPbgt}y>(50)Jl25u zi0JKF$&-F2O@`X9jWX&`N;_J`N=PLsS`}{u5p9F6{pQ~8XK(mF6Fq){gWk01xlQ{X z@t!DeCY>KljIPjUHB|h`GnvE(2i?5P{jdN~u$ieW{aHd8wefr)tVUKWuBRw$t>`Km zy-b{deu3ezidcWQn{i#)m6_&^XeOG~r@jZx47Pw(EQ|y}5|&1)p8E2(W?L)|kJk)< z>6!rjvXB%?5TK*gSZ-dgmhj4RZtqNvV?Qs2pD(QDWRHIQo|M}{M0!C3{cdv3 zrK`hrl`<-hPb%LhOU-sqi`ympi7xxim(4@lSu-U;B-iOX)wR7gEr1&zhz7f!eFRtn z1F{!JOnKzg)L#mol)I(=e-sq97cKC}^^zHV@kZq)?*WsfO6pxRI=SbToMO+WFcIG9 z^;Sn}B_TOBO-8k%lcZ|vZ&$7CE{8B0Rh>t@{S#ReO4Kkf{$miA%ThN+Kt9#A##%^j ztBjV$i>r*ydI7*a2PRGohfZOsa-!3&7YBINB>VJ2X}NGks6Ufj`gt$r2rdou*deu1 z%9FlQB}@U`u-vv}X;nZ&XibZkEDjl8{`MaexJ2i?hX02*)YpTupo4t@yn6$OMKq%o zC1>WZA4_*@>}bJP)CyRv`u7;oYm{o=0{x4*Bxc%GGZC#m+dV+VvFuKT-t#Q3l ztrf%SxH;<-pN}pIbN1j+&4Fo{NP@roEW5G3#oI=w;wVz$f0>iEFPfaM>mqNydo>soc;u2F>W9&Ka#1BK(cKa;g25TK#z$dv_|L!Lis` zo`kj&D!)EY6{Z`QFvq-5d4SP^(j2OaipT>nQs`|vVH0)f&Md>w0v37p^P$DGSCvBu zK~u*)qZBmMJcCAObXJ#Dy7h;7#8ZZk68?KYq-(kXR)(c!yiF>LzETI(mw4fn3X8yy^H#A*Kd zG<7SX4X|xs5?09t8sTIs3klN8EONIL~f-*A6R+oau zxse5h)5eZ){mUv5alJ&PaF>QD^6A1&ThL`q|5A?DPV`|50WUK%bN>}U*in6ToG<)1 z_34jR@a-gf^PS+g;|bTDn29LQj&AP?3jo`8*;~8G9$XcadHro*z-r1kqf8hjv9;le)%Eb3jv8rHdcW^< zd2gG2kohiV9y&V>3%V6*m-atbi^c5Y+%%(5ouhJ3TgzDk&28Y%B9^(PLhgR6(rVQX z;>Y+~i)FJ0iRcS3YV)Me*NUDu=(*>iK=0U3S^W4NwTAox+Nv>66`abIiG=kvB$pr0 z^0rFTlFs{{&23<&tEyWf^(i|~36({`&T&+380fkkqgy*qy2mp1YRKYK zp+Hqm^0Ks8(bX9DdD54Fzeni%ou~d;+ilWb@Z{C(7mhDIry9hGC~D3IsCZT~BinqK zH~9d)UH;kWfTD3P&6N<+f0atTelN?nL4O~~ml929rOELonaTzNAMv?4c)u$caDxw9v$Ga&1jlN6IO4kK; zxL$D}7Yhd|s`NM<7SKBF=%EOq!NIIC3*h2v($Y4cYVX_`yUd(e!LPaU*K83-2ED$H zHae8G2qhq5bR~3yJpC^NU7T!4%vN<#qCn++mm0B*T)o$3;^FnHPZfnSy~;{3dljY$ zH3l(rBMOFAbrHln_*p`FY7HczwQaXm3L7;NnMp)dD!=#sC%{mTPx51G-(_Jt2*@xW170LK(jahO9-x<5V@EfGwM5?BFC?nfzT-h;lX4iZhd!O(PH8+3^nvRR zk+?0M;AcE?AMW>F3xz$@%8?a!Dth+K{BoEtKi|aa&TmtFzt4*0#vniCsd8q{kHP19 zvV0+adGKUaI4~R|D{9Efj%n27|MFa0byd2{JV_BzM9N>Pqo;IP z11WcvJuqMO1f1$XDvgJL`ABP=mrHk`x`MW1%;yP*2??Dd@Bv=s5fU-%=BhzV=rhqP z%1XR5>|@XVacY|QEiqF9OGH!68D34v%9ev`Zr$$;%x8sV?%?t~dA>4@1UB8E3h)jY zt=tFp8!3In41Em24GuaB#_bYclijTRbhLG$!R5RJ^bquXek zA(o^$k{{Z3!$D1}=1%H1eCp;DTMpA@M&4K6adrAmpID&Cee;8rD$eb?7Q_w(|1VQA zL6oN+_vLs$_M}r+Bfe?4%GH6F-mTATx)fEu(hQtAK*YVjj!R1D1+}oMNFrb;1(YYm&ZdYtUwZ-_a}3V==EhcHgH5x9>~f>q!#f%T>)yxMtU85iyZz;KKl$-zS2I)KQB}OE z#ut(Kx39ea_0(|p=H$@;ZN$NL+`^Q@Z}#EPPquqoemi}lwYwo1aPX>=dv(+hajfE~ zb$;U`zBsJ^!;e#|lWShcq$+c)elJ!hU^#VvH-Ie_I$(V+mwKjW9~2$D}_f z%1XFzc&@4Cuq)|8B@@!DeceO0KVYxS6!W0cF}VCHnpm-rnA{#x5@^(sZRd$h5{8nz z^~GHobz6s{MFDWP8!0^&_i8_IMm3WVb@+(tq6&AW`^aIH@c*vz#R?^*D<~^nzuAO- z8530TRVMaM?dHM=G(DnpM`uq90`9uBHP1~o5BkZ z$tnm8pT2@pnuV2FDsGmViAOHVN(=}t)wy8n*T6L;Iap=QwFEn)oO(e9!c3Z}aeOeI zY$rp(THJ3aE5fG71zk0Kg0%@3FD_raw}Lg4+Lxha86M`td-6N`F=Leq_&aGnN^dTK zFZqdrQ#)B+-PDWWT%>8|(YnobX>F^VqxAVcjqjx|gS8@`YCGK6t#Uq`9HNQvM8o#> zJM$Dqm`$@xR<)wg$?d}_?g!d;m#}1WzSThJp+uI%XZ`6sbHp*=n)A6;(@(HGxnwAl zwr9O(b2jzIsYgTt7<|o4W}#XOKFwVVR@Nmu_P+)`Zx$+|12ly{@o<<^VNb3X4f!wR zPRz0d=Z}dI8snd9zbs(*YFaG9#bW((fHOns+QQ`4ah(p2vFZ)#+2g#3>4}X1`^rhF-Kc1F2KMC@RD@zhHO?7cL zWN*)rHnl-D<5=h@>|lC9CSIyg1=wobk8cv-Yj)kX$u+Kou8WqB{&ftM%VIYsJBJnf z+TZl{IIgvl12Bh~ERX)^VxI1D+9Y&>K&Fie5QklS+>z5d*7I+LnwHURv}h|f)cnND z%wpq-+Y~VxDZ%3!UeNq;3ZQCH@Bh7fwTLR}WB#Bx(9>L?6adA^#-I+wQ1U|==_J$! zo&0BMXnwkwlgaO-z_Gg9C6kQ0?V=vIyb31@E#Pk*VJCcG8S!>t4V<+_L-zch!3K)NwQ8um5 z2{KfUe>u_>LhjLbp6aBri4IZpG0#%&B`6E|5STD&75%Q)I%s_H^iaY6>j%0)E8+7+ zuY|hlNou!X4uedAYneJmA@}yr)-BuEB^m#3{m+Ypp;14!O$^Z5--NXGYr>RU>Tzn z5rc??JhzXk!Ag74VD00`(KIVGAH2~B)~J}c=mrK?N-iL47v6_(Px`T-Sy%?%|4v_@ z6tqUvuBc_ftqZ`+mkG)V)NsLe8w@-BlC+kotBO=IL*`c`h51Xol~PI(qP9?=e8_a6 zj|1G_4*<9BIq6|TE+hT!)&JZ9caKrhN+<@juPnc7_Z&7-LevStAYa8|I;3 z%!jv=a0b`5RRmtuRjoclvL%XwBDDtz&Klbl6VS%A43!~!Ms6<8bie{lbyT6;|I5s2 zs4#WS^!5^d34KO~w`dXvWG0m-uDFVSNUOG3vQ8OIOzYZkiiJ)MkG`+uKxFNN_-y&U zgqs7m?`lS3*1ym-mNnLpbB;&O^5fN8eapV_JWfE*kk8A5D^kNyv;hm2XdB9ue?^A8 zrF%wN7sMlUj9n!swtpgM(%4(XLbR|(>{1Ek{XOS~29)|hHS7RDJ)T~`jLc#I97>^g zflJ)ZIVyz;IsOMb{&6ZCzPWn{>}(@r!YAv=*ir8(xQSR+pQS^EN4zMvA1u^io>3S4 zG-kkod(~*6on1@{)HXC)d=5k?Y>2{j(GtHy_XZE)8US8YfeFY)UrI378Ry*w@Z;4k zRMu`3dKKD4&i-Do!DM|Av6?mg#YF9)B+ zuh;xacdr#sOzC5O9|O-pew=c46v9wQta)mek8~+tTlXaNc18T4QX8aIRx2PpdtM94i<2zBRV`IbzMXkQ}gz zQcqyuhV>$?y!uSZ(R_n31KTi)|EOcaBGD1n1jLwcd?(0yKW$E~5kpM082wM@Z?ZL$ zSvr`BPeC5u<21f6^k3D2=lo)0bwh9afqQ zE`pJd$eF@?1Y3;tTjCi1oD}bw)9Z?E`-JaNx}cv6^8*bQ?{+fcNw$j>CYV}SdUJXX z)*V@(hsm|*64za_5=*XL+zQ^$7sGx?S!uwG5|3R+Ym*X}#ITR_-$T1f!fnoc;YYMw z1Z>*IN-cz_?@#+b=YJ(E>FIBn1mLpHwVxBbzFE=`@$P=`cQkdmW8Lo+5Zk$2Lv2Zx z4Ybm^1CWe0Q)A??$qroT7htw+&FOb~se#YN{Qf!Kegu5MuR|_@f$88ELaHAYp+gln zVu442m{=_y)E)>H94X7cU6VKh;ipXbN%m!!Rl~ezoNu=pLSM^-B8xTiLc6%#D=~8o zORLI;OExM1H=f2y<<2T@SqHy1l)nAR-cpVeP-4!_^ilCK6k;0nYv5{AV9)o^lhgK% zqUQ>Zdpd7y;{^tsR3OFQv+*;x0`L6{t;OY;YtwVVHK&ed%^SGn8) zoTvLkADeZ72Dlvvg<%MPf|Vy4g}7Tfj124RP=@Wic>etdbMHrbDR)Rua#yoy(XH9h z;f;NrtQ)x$?`ZEo9Zh+eyqUFC(gMf>y2e`!fO#z=Py6%aS{yH?9BW#bna@GWGg837 zq6S%oLvxmAHI~v^dynCOLpjft{{`J9I*yz#Jbbq7Ub1lwrt-|<(BG!uUC>*rVqD={ z%slB1)1X8CZaoNcx%p}IE-r%^``xB?q(v~oc8uCUR1w9blB|XX5LNP|xyhu70kJfS z+UB#9(bFosvM3}yv9|dHe`R&ZIBi{1<;vwO_z~|(aZ{a0$O0gdJzW8+!u%c!Hu4JY zrYfy_$40DBS*N59e#~jCA~^VzU+$1GE|6*M%1urAMO&99T}6xH<-j0bhA|U z8c2TT*)0mw0qAMsH4$ljS2e_<^u2aVHwYE%Z)YiW-S`ifo1~Fnrezms2Y7Dk+#U>@ zeU198bGO7{sbq=RWw_zsO2A73vxY!tceQrDm+b4oyTN7-g@rs?gek>H_&NWl7oQT% zzij#C_j`pI-oP@rC9Gfz%DAXs1MF>=qHB>s(p6VRpnoACf5W{MrsKr+PRG`rwCQE^`w#nT)c0X3mYvsYDpLpY)iNvk9_!T}k1OF9V?#GK$X0j7u?yelo(p@XDQ~^ul z(E5TCew^p>8Z!5){=)D)Z+n1MHww3$TCrF}{EQA=#->jmt>yuOX_ZL|dOMbPKD%J( zS}5mIwjytxcgD!E+ZTrgO-x>~y^*1|yGZ#+B z0fCH1SL9+_FHUg&P;VALHg)??aKw?Q*@p6cPv>Scyrg0A>Q4^iNHt7wq8P#lT5It)InGL zAK_AlGJ-s&yi7Q?%AwI=v@R8O^Po&3b&ufvoH4O!p@46($&Y)w&ri}3ButoR+6)rz zVrzsdfg#S1^fR5Nltu>&55w<=>?hjJEK@h+4GG4H<1B01D@<=mBXXWrNOIhLj&4gI zEXt4R6hB5zHVhyPsYGH;>QX|(Z($n5g5l>Yu7r|K3)%j-r*#su3*-Q!^`g!Rpot>| z-aN0lHjCSMeOtCW(|^kebvATc9hkfdQn5t;syTpME&;VdH>hrwV@k!fr6dj{Ro!XU z=*w>C40IhT#5h9#&g%hEGpeJUVge=E!7q4s>o|>S>*ixe>+~qmAU&+>hHkhTM$`kz z#Ggq$)YOZ@KZNU=#uqkVD$$jh9xNiT+bK6;o9UuCp)z((fnOWv7OQ5pSC|0lsY=X;*#`K%|vqH`Es0ym7xNF``QE)5rGy`G8wWzbLa z_A`mClzX?h=SyQZ2o-+siM8ndYoyQW;NdGXxqRB5V`=dPt%RZCJnX%kIj7YP(D*0- zXFMyOiZyHR;b<# z6)OF?;_iuA_3#jm7KrZ1T_gzWF6(YzPCN+6M6~3m8l`-KP*tz9T^-IUuZ1wojk>ks z${1~0ocYfcv$5q-@dWQt?ZYeKQY4XuJlYB5o@_G+$veWtP!^~(v;Elq zaZY%c7}Kz&+`*_>Hnr}xtFt}Ue-|Ud3a>UB*}I+i$l#Aw3k$j)-pegBzgl8FshRPH zxLuH_yA&Fb!wjm8CSn83YpWuD-4(|x=I8bH*CGbO`Ru{1ckGqIH&5S3*CCizn)mWcHoXiplQj1p0>qGK?(AV){{O`WPB5w~6*ube z+VKyNp)vYf_;0)xLhm)2ro~Lz5P8mj;7wwX_s2!jA0NX`zu!0n-1Khl)gZpLH~P@8 zK;_jJ=F(^>#7!=HdG(LfeSMx;!9fR8kyTD)1}AQwEq=d>z*->4&@V`JxaZwMqRHQ{ zUApzqQGS~$rt6(I!Q1j)2SwkE-}U&Cy^H=`>#}tw<;+Oh?a#^vc2Bof1q3^!tF@v- z>sr;H4jisp*n|9EOWdz5L)w+!|BMa3xpatp=quQmDDLQeyT(fq(%frp=YN9fuYG8; zNcl^-AyfzK1NQhsq4DI(j-}LJ{Eq3e+xYf+AoCGHUJfHg=%^nH#&>MdLmK#7hn$#{ zTWJdnCVeb_W}^_!gC&V`UG~rXSYcNh8Dy_ zH(itNq8kk=SL6nGtG+eW=h+p+tp6(y;5YzP`Nlq-QbEo5l5(nko`+x6W6+8S=EXNb zNi{SZ=e)E+3e3Fl^%_Rt=92jjI0l$Ah;OmJ#L#AiJZRr#aOeFJ{0G>KNdn@@t=myD zPnEEapR126|{&h0V81W-p)LCs<~XT;K8l1DC?E>{XIr0t~qT*k7-0?bH6_QaqRy} z2`Cd4eX*1aMUG#4rA_ayn5|dfY;W)HtlD6SJ&K#eHT?IJ%dg+2r6(%6r#+WT=KJQb z@mAe1J!|460Id{?3UH+pN|kt)PB)_ej=zZ^Knb<+`iw?a?x1JN%RcU?WWHGKbDH;# z9%b)=*J0E9)JGF)_32X8I(C+sn_ZscpTQKxiO4&j`|Zs8_sNx#uMxCFTh{iMvf zo>0;ei&}&agzbdN_`o6QMTr*{}+?NIw7wT zbN0GGfLy+2ggN-#JNnfPjXTv3%tvqZKNWCViZs$gfFG}%UL#&yq;X{SK%CH;yJ)-} zUGsexXk;@Exr|BUq=^+xzELl#cT$ZzNRYE55IH7p3h*t)Bp>d{i`Y z3D^{0{a>mzxQ=CmUmsmw`lQr8{tXb(S4AAI&;QOdsRrP!pvEG>$oMA`#DuLHGF&`I zphcrj#h@R#zrJV9N6T6EtAqY))@UpgGEaftc3o&?E0yWM5M%RaBB{YgKC5I;x>ml&;sh z8JmP8sarpVE)-O!arO6CYeEBx9T8ruc9ws;Q{62Sx0t>1g#Iu6=Pd1PigFrb>CWQr zE9Kxco@KDGzC#NgoZH(m8)3a)y=RLAW$jiEXFNo&?H!i#;-k|oN86P;|G?R^IbWts z!xY;sdsf}!Z|qnt1zKL~d3%VnW%0L#+g9WVJtS*`u8n>SXl#e{$li}WT&Wh_ir=lM z9}X1m8N&}qId$Qcm4^65-iT5!lkgYIo*u%?Q#K%;?dOA8q-Bc?mo8)>P0hVDfGHHs zYkHtP&#UT36#(j59Wf^!Xvf+ z5FaulNiiB!6$MN%%Af^pKeCkC7f~5d3Oou{8(}X(==nL>)?B0b=`%j~L^4@q2ZIz!c<6=R5{L35I%-Dqr!T5wgT`Uz<2j*k)loa>F!+$uj~Nv07uzF`vAD! z`JhbzKO!{OMA4tK%YuYlR=J@=0L~@f@XU2l58x_ zI+naJB;U8ItYweDo&Rx+Fh$LQ8}+@K6>0#`Cz4*rI8*S%0z^IsjI(hLwbwpZa38{5 z(ts7-`a&mu3m}L9Rzvatoa*+jq}Pdnt#blCBhZRI$+G;@+(za<)z$}+4@yu#qT_i) zBhUB+Ge$n4yDs7HTb}Kz^g@bHCeuJPOR-{)%((fHeJ?Vnv%7jh%^eV9s1h%y_kz_~ znFVR+$amX%k?(GzS>Y=7_CJ$Xjf2!wU8zk1ZhyzdNO}4fp!dlU9|AUopD=TcHBq99 z0nlz7`Xn%@ZK9>^8NYtDRnN5D-pvww%Til28#lUnFv(T+C2sZdLEFOxV?1hQpjSqh zo&_8Ii^C8&HCHNpnFVCUsRa4+&LAZ6DI=0?9;VkZ13Ly)OBU(j7DAl-qpyM?H=>^iS;4 zc-ySo@jgsHpiq&mmfJGR8mEc?j*SClWQ1gmqC5Ra1kVDII@P@kN&j!p6!fY%82`Q3w1ttF8MXLx`lsHaiSe`dp_^~%;Iit zHA}av=D{;5$rf!d8C?ZPS!lkoH3Z@kHbbTK8+R8O)`_SFPb~FTrdZkH8YBhImC_EI z@H^CGEuOjRIy8p}H2!VSiFcXZy&^?P$`H$<+~DJ-fSW_SfQr&3CToY7Gx9PDPchZ1 zXULZp$%Q7bzu1}YYC{j^CY|)^xZ-t4g@ERB26AaZz`WsLI)kAkWqmnK{}b0BNVHqBSoG^ zobQig&mrFzI{m;IWKI(Ed&mfVbn!(sp`YZQo8FpZ5{2G`w+YA5=P{pblMs2=A^C6|Sqi#ZtSX(L7~H2O=}$ z$FZ@)k%RhpPFw}X|EJYpbJ0RL4SWTyI2L!1r(!J^Uc%g$_wej02XUEw!zpIIW4(M4 z_((qw==lCa_M#5uap~wxlf5w9CwJ>0AmTu?;>WT2h?HuV+20`$Pea=o#qasdF5s~P zOc%s4YHl#6INm$jmvckoN&6#!r|orn@veUKg6!`Lhs$M6|MuvwaTH?mAT^|S-`DrY z`q2GW3qfAjU7KU2VBF``C*3anIV0!lSyyuCN1#R%J}%kCb*}Awa67;Mk;YAi`;k8z zr3t4)T0GV#+kYIRxm`+(eEo~7gT5t&;eC^|>$QqfyW;yMQPx}F{ZlxjEa@o3PP z*T0iv%0s|sFP-OTqswSWg{IRbLlaxyTA;plm5;TS+q3XLq2~p z>uNC$HD2nKVr)aIsAqWW2f)0#?r)JcTX#fuuL2odSvZT{zlsa^w6gpK!8{E&W zN;GSbY)5lfW$q5L4uAUEAXh!r_2?r>$#v3}GqRgS|4HrppO`Nt7(;VTv2Zz8$)H_Z zAi4YaO!iV3>ny9r*mSunQyuZVRk%8a=D6X#X~{RcQySvPP2dT0=);x*T82bKmGgLA zky44RG?2&hC&yN+Avww1p8nGrA(xs&R=-ygiViKeRBp2baXDTA8ESU&X29_IyEU}d zn428C~$z0Z*&D*R#LMmm4O$Y#sh~9E%2iO{x+yWP=ZH6Rj-iwbC|^` zZp8r>Hl_o0*YFD4l43`3h#OhC_nE-8zFInEjK~KPU9P2|lMgsn&Faw!H(Bc%dS4W= zjxeAFavB}Ya&W)v+_&RkN|+vxX}78VV~0ASom9!$?rmyE?-QETU9Om$?2RSM?U?hX zs2&Z#U$w9Sp*F*5BZV+mX{J43g9R9%t>Kh6i#31(^hz%udi-rX3R1jDPw;4SY4E%X z+N5t`_@UVh5DrPQxD{u8n~t7}l|#?D?TLljv0?kL>-6U{&tml?g0lph?NnOC<6NZY zc6i|t6eUMKWTYmzS)U!@oQh2!AYYyL^rnJZkG@VX-(BHB>?D7wQVF{g=QCOra7Gh> za5)VD8UPIPvx;JV2#$}9Yw*KA~-GQhN`El&uwFINCsz{;9?qc{8El6hJL)}==6S>YS z+-m()8*;2|Cw|{>!Oq@&Q?nG5)YT#0&uaqI7S%TyCVR0O$+92u+5m%rs+*-DB`i-Vy z5oX;!W-p^${|ML9EE^GVk7=+nu{4SQ)BB=_sI0T$!)oCD?XLpX`1HGg7Jq_wWA(o6 z?B#!Rn|)g)_fvixOM58@=sWP9dtAp|G55pXu3@YisEGTOPki>q7FwERSLEAZ6WH%G zO4#+_#hDt7l3sEy*Rr84Oc_OjDG=9(-(`9Ezoc2;rB9eYCjmykRVaD%fE4=C1lj3! zda+O{a`#|?>=3Z-41a}atl+%z?2$*BYE~-A(cGxm`q$Nk&nR%iKNrMNmjeu^>v2sd z$o~vaEnpQVl)Hy4(szN7vSu9v^_L}>2#fuYRrvl8Adz;L--%QjD8gKazI}P*cn%>H zLxv^zFwR*R5M;5nwaROu8^z`(06ddpgLSxn_@X2QQN%pssU$1H%=!B`8SzHq`Ft5w zl}w4XJN=ZZI-s04y;A??vhZ4S>gs(Q&?6~q9*95a1>ZbZ){L#i+2jw$_p#F#VlQ6W zX{mK99s*9a3a|&%RNmTBrPy)vUrri$G!Rf<1O0An;f^sedgNe4-~|B2?U5tRkN=u~ z05s$vk1Rp;rkxi0{XTl0q5ZE=W3Rw|ogjBl59l-t%@^DUe8?SJKh2JtjNRAJa91cV zItrF#=zLa5$@or64OfX)cE}eg@X{b(7OREaZm^F(W9BIwr2qH9aLWMtQ+=bzg9Z<6 zJ>pP4N$@NLNLv*5B6Ryya@uUMHogF@6%K>I4W-%#@Rb=zR3Yn z*M*w{{q;wVF(rFmRfS@%xuy4Unh0!%Ccj35(My~{Pg!z!06yb7M zm^fS9{w{~!5nGI!585;>(yMVe&dhBhc6#A_ha9t;tb`Bt4hdBy^we@(%2?7@EQm{7 zOakroeuWw{bd>nk%_;v`_eF8Qu@wWyztcx7?Ytd>HV~F7r+(c9WVpl(olwsTod>cD z4C@l1#(}g8mIzV&{uTCINm&9n2WbAjsuaW#a!vo4K>-6{W^PB!Ha)@JWY2bS_(f61 zn?qUQNkmc-E9de#I#l&7x&~76NfThuX&K_ZSaXkW>}{-ZbiR2_^1P&(TQP{BkXv0lD#htZypfT)wopcvSQl#0vtfsQhPk}_S;lpU)a#XW}geRl;HA3J_ z&zIaGvbBG+I!{*bRra3;*50Qp-20#?;FXl78p;6|68JDusL>MxWh;!J8CzvkuK+(M zx=#cE&kG4wfhVNh$c6Z9fF&P9v;`>Apn5p0g3d!l0^@@|-V3+1skXn!3qlN!Z0KvW zInav*2eA{d#b$%zl1ex={g38+6I)!PpsZodXR2`Wz>q%T&9E$*p#t+;vJ`m5gwaO$ zmtA`mBTyjT+w{8Od}rn1f}neFFO7Mol#8Ar1OKms(?o{CbfqJ_^;R&mP5-^y{%G#x zUKKE@0(0x+cS6<&ud-ZjO7KOC?X^A&+9L;aH8`QgLtN(gSNKJ_jt-Xdh$mrF``wVk z1uZZ+tU%!z5Km@T@>GxslGz)GPEIii#J7-!I~T{kl?=|TyTo4j?L(KRlz_DXzcq{B zD$1{Z;5c@4sx!pTEWwB~+Zyr*doQU4B6GW0${wWMJI-r`od%u~B&y(^R_v%QI5IFF zijEPB0h+Q1p;d9rpOZ>e>0K9UTv*m8PF!Zu!m>^Yo6cAD?MhdMn)epW^K>{xHzku} zz%Swd;oY@taRuw=?i2)s?MJurF1I`o*6V#1s3`8gtUDF%W*C!Qt$x3?>Tz1u#zn%n zhYU1iwV7y&6mZ5yX17zqu5lb{%~s^tHJdV&O}WZ|7o^yTtI9_i3dB9tl>6y+YHocm zDSaL&J>1Er^72v3vYxK6BNU&(Sm}s{QGo47K}Qn4171IlRXa7*Y`MAWp_i%2@xhe2 zhKx$D$9WM;Gv(v7r}n7c9heWLqtlgJr{}&KVYsSv;}7Zs@&2*Fq~-8KJ!<$z%RF6K zugDu)4i?h#btgw&S&)%Rs8DC|t4WnT0SC-yFojApk+Yf2n2c~Oxq97ucY+mlM+8~? zxw?}2!hWLq^q0svk?8=FTW(Tc^KiYb&*rMs9%`mp+goS~4F`6JPQK*>1y2?q<7OhX zZ0MSwMb6#*{jBN!Gly%$u#>ghCw+%jVJlPkhpD$Y;5i}^#Q)C>r34G^*p6F=wsy<{ zgPIJh!*w_*y=nZivr{Ti_*!_qN?6f(tAZQoWWd8iUdf9O>V58Gg< zwXt%x8U18156@YZ1U#wlN%`gH3vbXQLl`9(K=>hCzfXM=Ke~db=$IkT5}W$%d&hDd zLtM^&1TW(GXX=V=dB`1RO6A9fvQYZAEN%c@NwhcJkJDy0WGkzXLPBOJ8OG`_Ums}? z>Q*28I2IhFQvJO@aD?f={e@4ZMQ4K5XC+%sQ<2f?TvTrm0N{+1lJG6|(}TB**d=&R z%q#h6?TuCEW=Svm#Kq~Ia5DO`f;w2D_v@vq(#yw@dld=mrcRUN{^133ujAi7)KD1g zz*}GLw@3jk$1HC#w;%)K*o!P;vB(wwJxOYmZdc$@= z>k7WvPlSb`Mf@!kC4s%s3oQCwVA?=b z?Y*Q$Y2Ompw`jxSOQaDrf^?z?wXK=b6!CYiRJ@XR`s9I8vvsXL>|qwD{ZKh3jRNhb z*qbVdsHq(I|D*D z2Pmc;yCP*8$1PiQwydIj!BLVRUZ@)Hg}@n>R02=m5uqeo(6s{f47$s(TPT@9l4p{C z|16h&z>&b+7< zw9?ZL?X9Rv3WPw7IdCiAi3QZaO3KT9oE|PSd&O#A;c1)J-Ic9U%X&)fI}iK1&ZG;a zY1hX25f{u{F%eovrr8S~!8td|AfWV!MaHX+`O&br-6JO${0^=}&Ua}G0O&mYK$1t5o90yFz9v)l{@%HUwVf}rN-d;NbPyaF zAE(q}Y)PtN#l*f?_OdtN05nG?Pv9?+!?hmBAp7nqMFPLhw5GbOLvlq|{Yl+A;GSy` zI&bp!O2a==A)!uPABUT;)2m*PbQNb&AZG}`c-)n*9y;eShUy+27k8gRm*7h^vW=0d z^KUeC>kuRlAxISTY{zFsAFORT4t-F!3s`@gkA0O&mY-G*_G=xBfHSjJedSvHuOUGe{1t zZ{j5k3M3Ib<5M5x2F(vdFK+6JHgQ`RgQ<2v0At4hz+_hPCF^;H?swzr*qZ5wQ2gty z+`&If*>W#s=W%l#?Xjx}OOURs&ZAwR?9|s)pgkKyuG%vkBOMU`QApWtm}GP59{94A4D5xEA7qIbh?NM_S~rpy^*s0){> z5OapR2I+Mc#z#_%bYsr5P(SiR53>(6ZwS{P=YliKjQe1}3F538D%HT+$BfNfANpJy zt80vP*iTBnntxe*gzzF!lHxF*n!`r3BpXJ)36}u6%9>P=u3B!4VzlKv=%8u=7$@f9 z7W#bvf~nld8|Xub%Z-E_Zwr~oOR(wEtZh4Y2ei*@()i2eFa>MWWUQ=t%DQlNiJX%b zU?N9*Sn_`K=B0K1O;YF=tA(=ZwFrjQsP2OY@YxmTcWE@FDZuqtecpIv)wK*jOO}nX z(BK>Be%n3A+X3aD*+^p>Q8DE0xiQPX`c?kXCx;!0^dpb37kIh#)F|$qc>F(AiuWmo zf!ti~ub~-T2%}nii(+%s{RN-ROULYR+HKl95=#^>Vg6s-s^m{6)m7~yZcb_F4mi;k z+oUW-T2%%%;gvOvI=S`;ZlAAw+O4L zmArQe^Jdcs^#t2Jj}NYtCLYc0LXG+|si5_>06*~Sf^VgYF=QFY(JQ!z|A-Rg_Ab&d z*ehmHz5H^c#3OZt3c^jAQ_trK*x2Lg81Q3(4{CzOM{f^qZVDH}A~%;jg3`CD3Yd_x zW~G+AJ$o~PM#n0Ciuk5iScm2k2i|n?Lt@e%j%DQU2hTdIM1FDV3I|2+Aq-@Tcmmt4 zhZXkVn?fA=cOM!#^<|ffy*E2>j~eiI<=6xAwPG1+(NrHyHBekkALP4k7sEL9*<{Z& z{fgOX9D*PfT{6xCRskA=$5(9Mj+)hk{@D=cRWg_4yJJoHdY6y$eo-7%93gS$%c!Kh;}~kS%~X+prWSbOyHa+* zyAp9v4_0!35;}pG@U1f)IIihR*->H_@wmG)y|2A@zCF(1!-Oku2~M7h~Bf_hJ#ybV$*u1?`)&{mFxDC$T|^k*S|6^2HOEMz~h6J zNi$_jK6v{}Vmc4sQob?PCMlN+=7$hZ$O<=6=nXy|_v$=QuCyZzoXNj6&|mln_vCx{ zv57y9{Wos6a>kZRkg(nLP>K|Ay4h_nTpBjpJ$Q@C8=L_s;7l*)syOM^T}8TL?{X^f zYr<_ZpaqnNVr{Jm+q+j!B&CbaO{6mX`iUn5n@#Zb5x|ipFE&wMXeVbOZ7FZT25j%2 zSe#YsViPy>;hqp{Is6Rv-yJ=Y<7(F@m zqBg=7;8)@rlr`Z~SYAEc$oLGR!XKW5FxQ3RcDH0R^+G%y~RW1+gIUEhvzv{~+N-QL<%>qjrGe+Wc z>v&=P;!2N8EoS`LaSzISm*PoFnTB(~Q)NZJI(L`UbdXVX%B9%rVvbZu$5G!RW!z*4 z_+XNKH3-?Pk1M^29Y&|(7FB?%cW4Y}fPz0;N9{@AU<%3kHJPN*eb7w~3< z#QsIqIr<9ujd7;azbH%LNs62P=E)5m@LsYjEbHS&)ubtpvqv>fjV+HT>v5jQui}i? zBnxB+oU=?^kl)uG8p;F`axu?UV%IoS)j<3`$BsWqGJI|a&={y8Dy~k9kv&m!kGr1cVn)(#burGx?=h_ zZ?YG0C$WNfG31X;$8Sxlk-yTkHbV0uR^{V4jaQ#96fpWwXPN8MEPh?3O0Ps0qjJEs@+ZbNG154FDSs?s88f(6ng2J++E&A1DR%x878n; zEi9_*z(V*G=9Qa2FYx#d^+wMIcQofq`0+BRsqrF@12FRdCIb!lb+gpR^g3zVRn%iI zV?@#=3};8r?G;ZWtq31pK`)jfY0-PlqkVQKstjg><{nL_nK)WJ;Yc&W#qremGkgQp&$AM-a3tL-}#x`9ZEVt%}3-V znFvRk$%ewCdWfY$*kmT;uYf9(KD`j9(OhtyXAhJt5{QljH$ls&T27xtr@F#u({<6# za(*l5*2Ys~d!(o=kL~`0^U91I6guXq^_Af3)otFTK3;_-3oaur1I>ff@C(x_r_5Zx ztO^#p!ha8mPEr=Nu$12o1{ss*rwuPvT*VvRn z<5d;04Y43yNH+A99L)|b_@!y+T@9nnr%`^T*YkfBxQrbKgzcg$%=X4l?;;y za?RqcAFL^{_A#C%pMkqr;Fn%oV?Oa${~6`PbogSnqY=Q$AVT2}E_yp)RiP)|&QTU# zqko5`i(fP=v5Q7ev!Jqr`9OB@xoX;F;t()t)ut!4(PXa%_5ii%e}QGyD2rGp;0BY( zuRuHZhb6qx>j2_dJXf68ehcfE)@x?LhQ&=xMMlc)D7ONSyG^?AKWwNa3FR1d(Vrw~ z1}#%WWXNAoJbrZngCT1V>{o1?EM6AB2bVYR^d`t*UoLM0g!lZgWl++3h_cgyPyz!q z-t`f3=tGhAMaRI<9KFGfgzZ8sc)oa`%u;cyYEW~6uw5dTc$guTaXJ*;CT(puP}+DH z6X~^F(K+mrSmHb-sRA5T2U%)_&Q8yR6}2`K3W ztWC0CzckIDfT;rLDy;8qui%fQ&E8ax0proOJVYwPC5jsb{VWHBH`r{bM(Ftdi?wm! zqGOwN>Jx9;8PavcJS*>KWjEWO1x7SLq@yb;fH^t<{nbELO0BKqz zhsJ;sT11SGk3k^12 zqMH$U!KoY1nWak|o2{L$Gk7`o7~tZ17$a9lLU?^2skv(lbj9A%-sv5XDY8k}gZz7Y z@z8*TfK(n;C6dNd@4WHb))nns%?{GZ8szU(_0JA~x9m;@Z^A^z_E$_NoDR~v3nZJq z?wLw$eQN+V{q|({QRAQUZpEolaSXrhM-uJk%@jkoPxYICP0N1S=SHLcANT3f+Fd@n z&aLTTP_2LhtF^}U2NZj%@>hSoj5eif|BB=*0ws}hY3J`MK%ZFF()J4ka0l-jl#`4_ zt$|ud^00t~H`WDP>LN>@f1Ncl1r4YSMtC2tjv3pe&7N)q844RvQN0vAfndK6YR)?!sUFdWe z6W5(uz0#s9P4BMt!oCVpQk3rBj}0;llXt}8<-25j)EjQZW5)<;P2wIrBWBgmif!uI z7264E6jpPgPS;~i$Y_!?VVJvX?vYZg6Kj<}m*IgEi-m&gHOK)zfi`6F5G^Jlie{Ut z2|O9QhA+Bp4KEQFe2d)%D6-p}PhLVGcHcuFDu%VNb?j~S&Aa|T%LtUo7x$b%g;@sy zeqHLUTjo7Quv$)^t*~W@C6|l-=C~_767DRLrEiY}58}0I*B68*0q?}Uw_3iR5|Cn?wN;g^TfLwPB1LatI$ZO+4Qd zvXsDSmdsTR74fu);H_Ns*mSgXF?W>S`whcotuy^zt>1o^6RXd=LH6^Q+8E5TV*t-KJ-#rTQ=T67J4dhKemw$OaIsrKK7+q0kG3=syx%T;oZ_e9B zE*XcSWVtn)_HfP7ptAbp6qY_UJQSVqPN%x9xxxDlx<&%-1AaC~4*F-x_}VkT--HLr z+jOikGd1NH#r4}!ibtP#drxDe0QPBKFteGlYQGPp&1`YLY#N@ufR3tvWs%L)TC4%R z*m%-IeG<$i=QP8W9taZ?)>sOgi*8b(7)3On`sD~0Iy_jIf43^2s?@xqWWLlS2Bt}O}hsO`x2VHifU*o`k@+i z7{t4@q=e16Lb_e3c}(#zk@oj5cpZiqm{}LnQd5EeQDPmZ973;sCNA6xJyp|XL2=k% zgE$~JEpJ`3QP*aBcw!A$G>HF8rP&I!Fs>f1 ztRMTt0L;Q#HR&Wo%@Bur26=!TP%Tm_l8y!QUjc>j8rH~8_|a~W8L8X+cLDetK^D;F z0q3V(`Njfa5l(j@|JpA+nQEZ4TZ=|7kVZn(KgeZ(av&u?s~BEOXYo#pg%E6Q7xVGe zpT#+6`zwIA**9^cQ1tK6a$wQ})^ELBykK&Rud6U*=YXx!YrGysvuNS%#^Bot(wg_z z_H_QSn5BHHBKtY*#blXT#;1)BC8CbH*r<|V?7xghS{6e zK(`;36!!@Dr4+&e#Y{!biJp6q00(X{0VAUvtO(HOZt%~g8rPHEez#q<1&UeXfzo-h zEr_esrPySjCYrNu+rUA_;Q@{vG`KTto?TY#t2bf_BoqpdP}RVs^5a;tfS8thfRZ2N z?Y$+(pGqFF*Ag_g^o97G(kh-Z)(5;~Ey}H_fb5>eWrW6a4tU z3X&RM-Jk4%d5M?EmJTeb|L=doqx;{&%!N_vtTr3e#HX-RxA#i`NpWt`!(Kut@;drO zngT$<+=Z!I?0~S9okCXDB6`G%RMMr^)w2=1PR`zKDg3!35GnzChjCD9@$c7D8&Z)4 zgtQ(zXcCa|VryHMzApK5B+IEh#0LTcJ7eQexf}>Y%i7KE9;vNTi4q&s=1PLcDk#g{ z)2}T3pRG-QAu6fd1|P0CuFsPZ8D3Ett*Ip5G@|6f_W>-}&gR z>!6+Cs^~9E7liI{)v^7#pI4rVK{rAWT|NDaT;1dr9xIf(nJ$oeR{3&4aF7&~Q+{nv zD;Xm5;Tu>CwDu$|`$NyB%23=X(j~s-LxD|gn1{{^d<4mrw0AwZr;*saF&#T`6SH^Q zHnVOK;+DS~BJ;)Cbd`0<|J^~>$8{8X^wR1#eDcisU{OwbvFVHBf3(kkuPPryt68pv{9*Tq~NRc#w3&@L;yBupap zaPCv|tPqLZ-O{4}Hj#=OHuXje55fdKG3}XSjp8dZz)Q{9W#oG1QZaC1d)iEO)haud z_rw@gc}2_~%{kj<6Y3J;(_=)Nq&u&ul?St;b#E!CnZpc_CNN$3x(5}Fh*yYOYHG^v zO~?hSmDx9uRifsNot_Qz^gpYb1D)n8$g+sbH7M1DWgqp)0|ht>NSeK_YuKPNK?O6f=VBea?MuBuJjzy^wOi$` zW|wG(YmuqEN#|9LO=4}JH?wy>6wN@Uk{T9p=k0v9rUX1k9P{uVI z9(n_<5Wa0wbF(PSvZl z$?^0LquICBB$;G*eL14r+o*S}1MYz=m8(j{`n_U3!Lz7Zj)~Bo1i8p1{ThEV3Xs&b zPhS|+;O$Y%r+!aF^CGh16*nT$A^syJfHi-Oio>f`x@H+g=q;WHvZ+AoH%$D1uOK*7 zDW+nCF}U{()#CGKcMdZuH;c8)+g{mqJV#025Z$xKXm3JYoWb#R0^(4r4TN2ec-bBZ zk@sH?8D$C~^yDW*$+qwbSScI1W`foZ>MNXkKCK!mUHWqIxi7LoBl!BHv*OxPAtM<1 z8?DXRXzU{p?`Xe*Z=tGihw;ZZg;BzFH-Ar)Ai&ktaTS)?!Zw(qEZzvf92}tM*qMeJ z+WUmC(U6jc%WvQcONC!oc7f`=Iqlzal3d=ikABO@DF$pEPipIoR&*Br;fU~703d6s zCU`p74c`LrlNp0QvxrC~gY`^se6Lk57x31Jf5u4zp|0I~x|KtR;2Xq=XRj7Mllc!z zu`eIC9z-?da|2vf3-dEFK34^O(@)F3&1Y%wPf}-7t)nB2!?;YeUw>SOO8ms~LvP-# z#|3SSS5k2&?$h*eAy=X=&N-4?-07^?3O_dCkg4KIj zvg9{-KN(8QQ-KGcT8cxFBJ{bZGqg~$No=L5>xv76_5UOCQ0s(463(zCU#m9d`Gj)* zlqp!zswoXx3VzQs8k{G3cX#XHS4oz#+kf{#Pc48txvQ3Uw*ySP{DK@zf>{ac?Mqt@ z(hx*kJZm4NB<2<9pOfA0b`vyRv5!j}z^0sad4`{gC3gX^VUJx5e&aAAk1Xr7oEU@O z6imFZ1V81y1q$7f2w2EVXIE|%yhPsMXkobZBZNjF=n!dF2>sGo_PIG<8IK$7Ise0 zRM~<AVXv3?=Jj|y3&+X42tNq&SfI`r*1&bi1j@3f))u+=;GHFP7T7r6Xg4&2A5 z+-K{!W2Bm1AZawM)0qWav&BFdGPtjQUb7!B6VnLK`&UO(z-I z07Mi@ILt5t>}H9Z`;B<05q@&LbS-Cn}ouyLnId607O)t*LqzEWi1TJ zG6-s%vQFndHSx=ejZudvRJhI|u)hjex7eGxe;LD@OOH6)3qeJ}q~9zr2=#>PfT*~d zhhBHw>J@M*dM|%5!~$QnLsvV{@=}?8>}1ZR)7#72D?>o`2OkuhYgZVHiBZm=XP~gw z8ipErMG4zntLK@E9U?Q9!SNRc_kd<@+4Au|0ESgr?YKBC)Zh#}g`jWb&wN`#JS!bE zl@<_dZHfzKYxUhkrl6-xStT)#fTE zPdp7lB>4C)j*-s;(ex(ZVWWkWOYFKhKfnol{#c^GF+L!;v!3UO$8W$z<^rwPB`S-x z;(-v2xtiC(gz>>5*cI$8ClkjAFWCcrpKB5`VHMQh=5xF#+lE^dS(Dms~UJLu|D>45j`R};RD9DJN}5}jTZ5A|E56m{wbop6|3%on8PO#+y`;@vTB(?w7R04CJ(|Cg%$s#jn~iP{*(D=4{EP>0Q7ftvwo20QXu!^+>+ z5wHL&jki(`Hz6{%dGPqs$%WC2v(Z0}MXL<&PP#J~m;D3GB{GXrNv!1sxLLr7@h+2q z(9YjrXDnB}zJ@a}|6kIX1|*qxf4{kBs>!ChHO+E~$y_qCrqoPRDND(P+z=DDDbo~E z#yu^)?rPM@QgT5PQ*uEC1am>fjmc6YA~(=n$=o&3+!bN|zj>ZFyo3v`AJ;kOd%ov$ z&ayiZ-4zk~hW+dB%k4NUW|(uuHm%xh{d)V}DFTM*Pg5C!`awp6I_S8n*d%0=_17-) zO{bNNSZZx`>TuNY)Hlq`UdbP=ZfDNvkp^=_|3C60H+o@t*mqF^fwJRTVy?&Q=1tf- zr0*zPdDQGlQzfs_eik>kE-``JgXtWKZB{2Qb+fAd3Wt^>9@l^7KIF{j240SpB)^bO zD7XXWcBu_ax;^N+Sb#rbU~R%_0Mvd15QrLqbB-2(uUhJ`X8>V%sOSt#Q+4b5YVusT;ex`UHe)HXlTPS`G?72SKtJ{g7UG^x1|;u~2wMf|`-MPoiq4 zoRd7|LL=1hx(D11iC{kDq2RWj4hh~g=VoTUYZGT!eobG(%K_%x`w0JSWA-nk82FnxI%IEy1*W}TmC z>*{>UU8DMW>l(-E9=nMy>@*gH(_39$?rSTL=B=N6_Rc?JEC`{hh%tdDl}Gz>X@l7D zgbIJsUG%+HD=;Y#Q+8HO;I7yia7lO|ODbJLpl?r6(97^g^y?H2*qQag84%?`G+npR z^4~-{{gV2%aM*Q3s<*wBE`V?L-ovYTK7BAs{v#}O5CbZX36!pS_8Tl zN^836iJhUDW56d+6>~K0!tAv?yBkkfEOU2EZZn*zuH_w%>ugTcZdI|- zBuMcRBmZkX8}a^P>B`e}8J^>${rs{gBnfl@$%0C0F4jh~tWXP=V;7R<$|wLCM1yo7 z^QD@ly)HCdRNSuR)({#|f%_=aDz7d6 zu!TMZUJSa2*$d|*zdpBX zIz`WWYFCyzE*L&R377YHH$0~S`UqjXWj$9sh=G}l;WJ^`)i@rlgB!$^-L-HgOBiqQ7(u+7F3Y#tD5N zuAq$Ws21MXLXV{7A@gv1j5?^51a|PGMH5h1VDUFA7!0g^MVWS)rkG#A_%HrzahF3; z;HzFN&Lulg<&hl;zcsr;*vn1WGponH3yqD2cqfm-IhdZICk%&6HIkOXv|Kf!8sYkE zud*)j|3yh=J1VVi-n!nm(!{6nllA6r!b{K4l%-|&k1U=RwNL$dDhzD>@Y9+d*cGqSbFvuptZkdX@Q#CGd%&9#L&lstJjgJ0mYjU& z!@O@pwgO+tAA5)uiQ6iSh`?C$zFwFxjGjtb*;bS7s>9KB_2+~}iV_Z7-UH4Tf`s*X#65?wIdwyMAgX^- z-|OJxr;~`Crl}dx?$i>Im8>`@O)hQh>M}?0ErpGOM&^S==Lh~8&~eBbc@m5~wKZ9F=kW$0tk%QlPq6myeC2pl zK-&>~=g9a=u1{9ptfxOYnb0xnu%Q%Edm`5^)6Nny*Z@4*1_<(VDUnH0 zL;r(c^8`%(l5sS(`}HXPE3?WyasH5{e?R$a%vh1nNRSVvg_*_{S}j|*yYEGq!E_eU zM_-eF!>`4y-stjw3;v1V1Q&xa84=*SgbTdi$Lj+2h$5R3!suZp!wNqv(7tGtb#QM>Dc#G5fO^* zzgdkVSk2gL!Hr~MKt0K%*_GgDO-J%ZI$uyeXj61vzQrRO0=Hala@H_@Aj}n{NT8JB zt}XIfMLi9Ev>@wEetj~!AR)gt(I_8xnE8Tn{fN=cbQ_SP|4pgCci)9{0eUQ1%?kO| zmqfMFIPPy1s~H!iuDf>jk;ojigtGA4W$UliY3>Jz<20n1>}twvy9xbQ&WEg{ylp@cuh&fYIyi~2Tf|Gtb8jLVhZxW-wL zJFlYIzUVBt{|Y(LrFCh+t^+*)zC%LwWOCWFO|N(V?7)E#X$fHccuDn!q}PpItN-Wc zz!j*%fuUfnU*VflRFq=h1D0Wi$T0n(*$oxVcccx}HJW<8ipEZG-jxCoFfsH69x`W? zwN5_2uoj2y1ckoqGCJeiaQ4B0iR=?n;W_NXKIyWDt&RCF1Z7(%Up6r>^G z%8Dx;oo79WNzaGkmU*AS=;^oKak!}L+T8UcbX$CWuHBwLkiNBBV;<=c)#%xrZE;J% z^LH`ovmIHosbShj5l}b|r5Rlx!#HffzPqFaS}cHF!NEP2a(0(LSAYRHbc*k`j}9O0 zOOUKq-yKPC<~R%dUkuM21E@6e31;r8Fb@~=v3yfO^Y5i&X>3DwKO+%=X1KvdN^79M z703ts?0tRn?CZK!g_V(2enzb8nKN|8Gs~(04hf< z=LD6e$d;<(l9mjLzx_=L;nHINW=$j`)@2KAoB)2;_kk`Oj~v8K{khNAZ~2OB_`aUf zE;pu@OfLW4{|IE+5183M`p?_p|10~!quySla%BSm&%e$%=`Ot=c6KQ3Q1*%?Bg!u{ zrvKLGH^ynY^Pli%5S@ADo%|^0ixS}-t|>JYCgXcueE}xDrFU{X(>C*>c+!RK$a*>j zsqFjIk@q@Hv4kJoxG4PFz>;vDr3eg@gR(sbS-uv$ouUw|hy?QW?IvKRJ5 zroLP=-*1Aw_~hiXFu9b#3Xc;-V&8c=(zBtyv(#&0%e|C${T9N+`&z-Nf8M?cd_MTg2I1{RX0Dk??-j0YXM8-mWDhUdL)iif|0;(XJ7Vs~tdZ5HQMA}BfZb!=YNE?+El1kWCfxJ|?9TSDa7XM)%-^f!hUtzBRejHL z+tSje{*U7l^`TrEOtbf=n0_%UKZvTkkkrd7)RtM5e*>bBcG;Dp{VnB~6k>PamQC5q z5lS1$|9txB1As7w?|LZc^C+CYy-nRD&D>q_jF@cPMBQP?$$xu5S4pB%Z>%dyP0M-8 zjQh2di1$lNRVnFqid_BMvj41h4nu`%`&lmYh~SR3D$hpx?Qm+tVQ)|Jn`Y+Vtb&JB ze4H`&^a9i351aHTjRNcp z7e6wNtZajw;yZ0AnirS|W%ZQ2d+#6MF@LapgJggn)xN-)$(tt@`BAbJlGlu&iIi5^ zd>E#wG$DxRg(UX&xYrBG+3K!V_lA-}Cx|In6Cbd`)mjz~Ki{#TezOvwUT!3OdF$Td zS#LlKaX@)?pECB|qqgZAad+-g^lurGg>|g?p|4uO*!gb{n3&I_IQIq?V^r>^f5{|wzwk=2jc`|N+H$-j`miTw^m3hm(Ry@?% z_ct&0Fi`#l;`bTBWhp6J?HhgTX{Nn#DWVxmgD#Ir?^VkF+I>Ut3riwZ_gHKZc}ZcY z;kLu*Z3bB{u<-B*-ypyC$BivlsUwhnHV%8b%QI zfiY2+PR!5IjIc#8_5e8-WbtQ4h_3lv*ZDgYKV)fCtlL#6nE$-e04>xb|Ji}@rW{Ct zW1^&z((xSWYV$nMiTp}e?M2rVRYA}M~Q*@R)4xlp@SImjgNS^0V< z#kJ`9;N_zahDFBf*snHIZ*4OG9f=~sKF#(4F}a=b*KI-p%G+m=*#~{4t2f60WRk1xu-w(t{}wf!*wsuk#=NX5 z0)-#q$y)7xA+wh_13(a>wsrYt(k#g<9JHCn{u?ce7p_ZeB-HMFwE2u6E%mpj zPi~ne`4zkblig)vl6sl=a=JCrlq6bICo{391Fo^KBeuolVd_oBuirjSGMV1XW~4_p zx=T>4J?PGd)@!bGPNh6!$b{On_bKPuk$1d!@|<<7D;Ctg_kd!}2@ncZvP>w7o;Lez z509hdx%I^kYxFCpQSQkcc8!gmzwXYPZB~I8{#C78I*Pn>%ZtLpH#PC|XulUI$KQ^0 zFu?97#MKDW0cPrBC%8N9=&Qd*U|XBlC>gXia2Ffu5z`QM7*`XO8oDA&OauO6OKEv90hJ=!;Pw zt`|)CUgt*1_@?+Ff7hT-DF+;L!qB*=5`(zqFqc=XSj(W)eZ_38)BZ7gPQ2SftogEj zsXB7O{RigqSbGAzrdqRsAiZm*@?G@MEsNw`|0L8NT|wH)LI)U;_jllRGLEI0C5>!T z10pX|yZ?Zj8(9s8Xh?eRyLo+AMW|Rbg(&*Wu7`NucT;OVo_lwnolSja>MIv_s^IO+ zrTxjxSh1PDj<}<@?y5v6+OQm|RH<7CQ^`?}dZ}kRdzl1!n)wlD{TbucCJF{j7{zbc z#;q9pDb2QbSIpX3fX()QKh&H2)^$&PpJrK9`^}eKd@varv{p7B=I!)hWVMzu>v6Bl zFNNVT$li>{?K`i{qY5Y!&UFp6@9p~NEa^3dTG>PQ=RECMEZ@aNaZ`*t|2^%+pB+f3n@P4tO)<^Q5J{z?_Q z&whR-`}NpJ{ZqS-%bq_SRNCszz*L=a@>D2cbj?^ZYApf*>Zn95krhe`61@~zY(Dq^ zNbWKVp}5_5T&GaLpki_eBl}rx?a=tF0^-aT3z+S^t(Cn9P*gBt5T>)e%ouYa8J{B> z9l4PiYXLNv5}xP$>Yth079DFiN=-eWRW6NF(gK1xk*m&*q@O=H-qFY1A4hJ7^f?t{ zMFE>I;9Q!n+wAf4Yv0$}G`Vmtpi5aSXj@q~!YUbg}6*X2S;mNG956VK-HcG9*H~ha=Km zHR$GyV0#mwixVZv5v4`M9_xJ{BQED`kZM)~ps428suGdDpVo&@G(h7&6s3wpnvF#9 z+;`w@*6f1ZF6|brafKX zY#d@Swb{M)3%_Ic9H%5MJaassj&R=_H-+cB%q!Wpg2D#vBl~gLEpEmzx|{XwEa}A( z>YU9nNd`j86-bkXH`fCtR<0>yV2jEmq+}bVZTrsq&UY7IzJg5+Sp}MQjnZyQZoK&F zb9&eeTI;#5EIOKqKGACP+I1-B*aaYeqaSo^&NwYQwQ;tN>Zw+n@0=`3P#3}sE4V2K zwm7z2rB|C+<2i@ouuDI#mU_onmcC6`63q+v&QrldEB2#}}-Q)+T92)x+ z2WXT_W?;;DAcqQ3=QJx(5&M3TvaVyRbYxdcK@7%A{cw6l{+{7}?z&`&&UeAQBZzTT zZklBgzYcHvOi*P`tCVPX*o5{JAcS0beN5&cL0J!b=fKvpf=o@!10@B%#*mz#!OBuV zm3dPPkH#0p#C18fYgssK?2G^-vN-~V@kpt=1Gau)`QunhNrIeDmEiRn^Uo~bqrYF3?aC*W4NE7%0;_S; zraj3?m2k;Q1J)!n^B|x#xoPzorQ`%y&p7yq%ZI2OV4?jVU<{qM8ZrU3ruq>bNi#VKf{ooR8HR2&`>y0~i=GL!7 zaYVhch&k}dLN8^Jb0Mwa@K=1*4$%-jt1-=V24ngXp5zDU#ED`l?$hcKPHfeN#j<&X z>_nE-6gzghP`b!RS_S=JD+VZi*aD9JJ@!l0B1soiU#^jE#sz;{3>nDEW5jgM!832& z-vnE1-X-M)-!Rb5nAQA4wXtKJUb>i@GP#T~`=795;AFHWXT*Qdi=0@TDMDJH9JFWK z{&XRJ`oLZKyyEi%FHp+ZJ=h4GAa9RGGGeA$4;;EY%Gs}hA!s|C8J}#v+qwEAXcd1E zP`#P9GqU3wuQ$@|9`nv-ANyLbrKAB`D+6PHE9DzUoeRFSO}=40>Z{I%g3Ols-gr*h(K1hw2}(c)?I z$2`_}J$7;y&WLqb?0ftB%wlHo6jwE!JFoTO_kVV@T%6w$?k(R(u+$sKU)=mwBr~kK zXTxD{^}&0M1T(UZWsC5-#l}K*Sq@<@*{8cXKIhGX^v!1P?Pdkoutw7fA>qpI$0UoG zoEH8dDPJev3ped<_G|7NC5*%F5^AwDXId`)>OI8~HC$Yyt4=rneja7id3Pz(*LNM{^*MLl>D8-ywz^^joWz~3Vx;@_7z9(F@!L6{oz`z9n`7N0E^XlYGBEQ@|%Jc z$ac&q*%0{MiR88D|#T6216wXSvxe;{mk{FpH2|>RQ2#s-cIabo8otu zcKO2CyA0fMRr=89n)IYWmJpXNxwX{;RrmF>%ThnnZY*f@61M7Q;I-yp&S@FYO=+5a PiN7QLJ|xFh{L}w`JP$y< literal 0 HcmV?d00001 From db768bb3097beb0485f5dc89b53856eb40c21460 Mon Sep 17 00:00:00 2001 From: Sumalyo Datta <39642083+Sumalyo@users.noreply.github.com> Date: Wed, 4 Oct 2023 02:49:22 +0530 Subject: [PATCH 4/7] Update blog_FASER_SumalyoDatta.md --- _gsocblogs/2023/blog_FASER_SumalyoDatta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_gsocblogs/2023/blog_FASER_SumalyoDatta.md b/_gsocblogs/2023/blog_FASER_SumalyoDatta.md index 16a4b6ee8..ce52cf2bb 100644 --- a/_gsocblogs/2023/blog_FASER_SumalyoDatta.md +++ b/_gsocblogs/2023/blog_FASER_SumalyoDatta.md @@ -3,7 +3,7 @@ project: FASER title: Real-time lossless data compression for the FASER experiment author: Sumalyo Datta photo: blog_authors/SumalyoDatta.jpg -date: 28.08.2023 +date: 04.10.2023 year: 2023 layout: blog_post logo: faser-logo.png From d815e402cb44ea7a452a55f25a29429de73894f2 Mon Sep 17 00:00:00 2001 From: Sumalyo Datta <39642083+Sumalyo@users.noreply.github.com> Date: Fri, 13 Oct 2023 18:46:12 +0530 Subject: [PATCH 5/7] Update blog_FASER_SumalyoDatta.md - updating broken link Updating broken link --- _gsocblogs/2023/blog_FASER_SumalyoDatta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_gsocblogs/2023/blog_FASER_SumalyoDatta.md b/_gsocblogs/2023/blog_FASER_SumalyoDatta.md index ce52cf2bb..d78e4f010 100644 --- a/_gsocblogs/2023/blog_FASER_SumalyoDatta.md +++ b/_gsocblogs/2023/blog_FASER_SumalyoDatta.md @@ -36,7 +36,7 @@ After exploration of various algorithms, the next task was to __develop a compre ## The Community Bonding Period Before the coding period, the plan for contributions was roughly chalked out during the community bonding phase. The development setup was finalized during this phase. A Docker-based setup was planned as it helped replicate the production environment and made managing packages and dependencies much more manageable and streamlined. I found some issues with the existing docker image and worked with the mentors to add services like supervisord and reddis to the container configuration. To add support for data compression, additional dev packages were added to aid in building the prototype implementation. -Code for the new Dockerfile can be found here : [sumalyo_dev branch on faser-docker](https://gitlab.cern.ch/faser/docker/-/tree/sumalyo_dev?ref_type=heads) +Code for the new Dockerfile can be found here : [master branch on faser-docker](https://gitlab.cern.ch/faser/docker)
Merge Request: [MR #2](https://gitlab.cern.ch/faser/docker/-/merge_requests/2)
![MR_Merged](https://img.shields.io/badge/MR-Merged-green?style=for-the-badge&logo=appveyor) From d572bb3fa82d10884fe55b56f7f63a4121cea218 Mon Sep 17 00:00:00 2001 From: Sumalyo Date: Mon, 5 Feb 2024 19:54:25 +0530 Subject: [PATCH 6/7] pushing fixes as per comments --- _gsocblogs/2023/blog_FASER_SumalyoDatta.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/_gsocblogs/2023/blog_FASER_SumalyoDatta.md b/_gsocblogs/2023/blog_FASER_SumalyoDatta.md index d78e4f010..cd477a894 100644 --- a/_gsocblogs/2023/blog_FASER_SumalyoDatta.md +++ b/_gsocblogs/2023/blog_FASER_SumalyoDatta.md @@ -22,8 +22,14 @@ The [FASER experiment](https://faser.web.cern.ch/index.php/) is an LHC experimen FASER has a trigger-based data acquisition model, and the DAQ software is developed using the DAQling framework. >> DAQling is an open-source lightweight C++ software framework that can be used as the core of data acquisition systems of small and medium-sized experiments. It provides a modular system in which custom applications can be plugged in. It also provides the communication layer based on the widespread ZeroMQ messaging library, error logging using ERS, configuration management based on the JSON format, control of distributed applications and extendable operational monitoring with web-based visualization. +
+
+_DAQling: an open-source data acquisition framework +Marco Boretto, Wojciech Brylinski, Giovanna Lehmann Miotto, Enrico Gamberini, Roland Sipos, Viktor Vilhelm Sonesten +EPJ Web Conf. 245 01026 (2020) +DOI: 10.1051/epjconf/202024501026_ -You can read more about the strategy in the [paper published by the FASER collaboration](https://arxiv.org/abs/2110.15186). +You can read more about the FASER TDAQ design in the [paper published by the FASER collaboration](https://arxiv.org/abs/2110.15186). The first part of the project involved __the exploration__ of various open-source lossless compression libraries and the development of a standalone compressor for raw files, which can be used to record performance metrics (such as compression ratio and compression speed) to help determine the best compressor that could be used in the engine. You can read more about the exploration of compression algorithms in this [medium blog](https://medium.com/gsoc-2023-data-compression-faser/real-time-lossless-data-compression-for-the-faser-experiment-part-1-274025eb4079)

@@ -67,7 +73,7 @@ The logs and the python-based analysis notebooks can be found at [this repo](htt The approach for finding the best compressor is described below - Events were divided into a set of 10 classes based on event size (Class 0 having events of smallest size) - For each event class, the average compression speed and compression ratio were calculated (for each compressor) -- The resulting points were plotted on a graph, and this helped to visualize the tradeoff. The compressor configuration offering the highest average compression ratio at the highest compression speed was considered optimal. +- The resulting points were plotted on a graph, and this helped to visualize the tradeoff. A compression ration of about 2 (or 50% compression ) and a speed more that 40 MB/s was considered as acceptable performance (as denoted in the diagram above).The compressor configuration offering the highest average compression ratio at the highest compression speed (in the acceptable performance region of the graph) was considered optimal.
After running several experiments with recorded physics data, it was determined that [ZSTD](https://github.com/facebook/zstd) was the best compressor. The __compression levels 3 and 5__ were observed to be the most optimal configuration for implementation. From 0b4c22e103f2e96ef70a6cd0858c312014cedf33 Mon Sep 17 00:00:00 2001 From: Sumalyo Date: Mon, 5 Feb 2024 21:30:23 +0530 Subject: [PATCH 7/7] fixing grammer --- _gsocblogs/2023/blog_FASER_SumalyoDatta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_gsocblogs/2023/blog_FASER_SumalyoDatta.md b/_gsocblogs/2023/blog_FASER_SumalyoDatta.md index cd477a894..4c7ab3860 100644 --- a/_gsocblogs/2023/blog_FASER_SumalyoDatta.md +++ b/_gsocblogs/2023/blog_FASER_SumalyoDatta.md @@ -73,7 +73,7 @@ The logs and the python-based analysis notebooks can be found at [this repo](htt The approach for finding the best compressor is described below - Events were divided into a set of 10 classes based on event size (Class 0 having events of smallest size) - For each event class, the average compression speed and compression ratio were calculated (for each compressor) -- The resulting points were plotted on a graph, and this helped to visualize the tradeoff. A compression ration of about 2 (or 50% compression ) and a speed more that 40 MB/s was considered as acceptable performance (as denoted in the diagram above).The compressor configuration offering the highest average compression ratio at the highest compression speed (in the acceptable performance region of the graph) was considered optimal. +- The resulting points were plotted on a graph, and this helped to visualize the tradeoff. A compression ratio of about 2 (or 50% compression ) and a compression speed of more than 40 MB/s was considered as acceptable performance (as denoted in the diagram above).The compressor configuration offering the highest average compression ratio at the highest compression speed (in the acceptable performance region of the graph) was considered optimal.
After running several experiments with recorded physics data, it was determined that [ZSTD](https://github.com/facebook/zstd) was the best compressor. The __compression levels 3 and 5__ were observed to be the most optimal configuration for implementation.