From c66f9b06a407c3579a3b7fac0de090085528ae7c Mon Sep 17 00:00:00 2001 From: Twan van Dongen Date: Sun, 9 Mar 2025 18:22:52 +0100 Subject: [PATCH 1/2] Base Reader implementation of .ARC format --- src/SharpCompress/Common/Arc/ArcEntry.cs | 60 +++++++++++++ .../Common/Arc/ArcEntryHeader.cs | 83 ++++++++++++++++++ src/SharpCompress/Common/Arc/ArcFilePart.cs | 41 +++++++++ src/SharpCompress/Common/Arc/ArcVolume.cs | 16 ++++ src/SharpCompress/Common/ArchiveType.cs | 1 + src/SharpCompress/Factories/ArcFactory.cs | 42 +++++++++ src/SharpCompress/Factories/Factory.cs | 1 + src/SharpCompress/Readers/Arc/ArcReader.cs | 41 +++++++++ src/SharpCompress/Readers/ReaderFactory.cs | 2 +- .../SharpCompress.Test/Arc/ArcReaderTests.cs | 22 +++++ .../Archives/Arc.uncompressed.arc | Bin 0 -> 101015 bytes 11 files changed, 308 insertions(+), 1 deletion(-) create mode 100644 src/SharpCompress/Common/Arc/ArcEntry.cs create mode 100644 src/SharpCompress/Common/Arc/ArcEntryHeader.cs create mode 100644 src/SharpCompress/Common/Arc/ArcFilePart.cs create mode 100644 src/SharpCompress/Common/Arc/ArcVolume.cs create mode 100644 src/SharpCompress/Factories/ArcFactory.cs create mode 100644 src/SharpCompress/Readers/Arc/ArcReader.cs create mode 100644 tests/SharpCompress.Test/Arc/ArcReaderTests.cs create mode 100644 tests/TestArchives/Archives/Arc.uncompressed.arc diff --git a/src/SharpCompress/Common/Arc/ArcEntry.cs b/src/SharpCompress/Common/Arc/ArcEntry.cs new file mode 100644 index 00000000..a67f10d1 --- /dev/null +++ b/src/SharpCompress/Common/Arc/ArcEntry.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SharpCompress.Common.GZip; +using SharpCompress.Common.Tar; + +namespace SharpCompress.Common.Arc +{ + public class ArcEntry : Entry + { + private readonly ArcFilePart? _filePart; + + internal ArcEntry(ArcFilePart? filePart) + { + _filePart = filePart; + } + + public override long Crc + { + get + { + if (_filePart == null) + { + return 0; + } + return _filePart.Header.Crc16; + } + } + + public override string? Key => _filePart?.Header.Name; + + public override string? LinkTarget => null; + + public override long CompressedSize => _filePart?.Header.CompressedSize ?? 0; + + public override CompressionType CompressionType => + _filePart?.Header.CompressionMethod ?? CompressionType.Unknown; + + public override long Size => throw new NotImplementedException(); + + public override DateTime? LastModifiedTime => null; + + public override DateTime? CreatedTime => null; + + public override DateTime? LastAccessedTime => null; + + public override DateTime? ArchivedTime => null; + + public override bool IsEncrypted => false; + + public override bool IsDirectory => false; + + public override bool IsSplitAfter => false; + + internal override IEnumerable Parts => _filePart.Empty(); + } +} diff --git a/src/SharpCompress/Common/Arc/ArcEntryHeader.cs b/src/SharpCompress/Common/Arc/ArcEntryHeader.cs new file mode 100644 index 00000000..01243c92 --- /dev/null +++ b/src/SharpCompress/Common/Arc/ArcEntryHeader.cs @@ -0,0 +1,83 @@ +using System; +using System.IO; +using System.Linq; +using System.Text; + +namespace SharpCompress.Common.Arc +{ + public class ArcEntryHeader + { + public ArchiveEncoding ArchiveEncoding { get; } + public CompressionType CompressionMethod { get; private set; } + public string? Name { get; private set; } + public long CompressedSize { get; private set; } + public DateTime DateTime { get; private set; } + public int Crc16 { get; private set; } + public long OriginalSize { get; private set; } + public long DataStartPosition { get; private set; } + + public ArcEntryHeader(ArchiveEncoding archiveEncoding) + { + this.ArchiveEncoding = archiveEncoding; + } + + public ArcEntryHeader? ReadHeader(Stream stream) + { + byte[] headerBytes = new byte[29]; + if (stream.Read(headerBytes, 0, headerBytes.Length) != headerBytes.Length) + { + return null; + } + return LoadFrom(headerBytes); + } + + public ArcEntryHeader LoadFrom(byte[] headerBytes) + { + CompressionMethod = GetCompressionType(headerBytes[1]); + + // Read name + int nameEnd = Array.IndexOf(headerBytes, (byte)0, 1); // Find null terminator + Name = Encoding.UTF8.GetString(headerBytes, 2, nameEnd > 0 ? nameEnd - 2 : 12); + + int offset = 15; + CompressedSize = BitConverter.ToUInt32(headerBytes, offset); + offset += 4; + uint rawDateTime = BitConverter.ToUInt32(headerBytes, offset); + DateTime = ConvertToDateTime(rawDateTime); + offset += 4; + Crc16 = BitConverter.ToUInt16(headerBytes, offset); + offset += 2; + OriginalSize = BitConverter.ToUInt32(headerBytes, offset); + return this; + } + + private CompressionType GetCompressionType(byte value) + { + return value switch + { + 1 or 2 => CompressionType.None, + //3 => CompressionType.RLE90, + //4 => CompressionType.Squeezed, + //5 or 6 or 7 or 8 => CompressionType.Crunched, + //9 => CompressionType.Squashed, + //10 => CompressionType.Crushed, + //11 => CompressionType.Distilled, + _ => CompressionType.Unknown, + }; + } + + public static DateTime ConvertToDateTime(long rawDateTime) + { + // Extract components using bit manipulation + int year = (int)((rawDateTime >> 25) & 0x7F) + 1980; + int month = (int)((rawDateTime >> 21) & 0xF); + int day = (int)((rawDateTime >> 16) & 0x1F); + int hour = (int)((rawDateTime >> 11) & 0x1F); + int minute = (int)((rawDateTime >> 5) & 0x3F); + int second = (int)((rawDateTime & 0x1F) * 2); // Multiply by 2 since DOS seconds are stored as halves + + // Return as a DateTime object + return new DateTime(year, month, day, hour, minute, second); + } + } +} diff --git a/src/SharpCompress/Common/Arc/ArcFilePart.cs b/src/SharpCompress/Common/Arc/ArcFilePart.cs new file mode 100644 index 00000000..7796e5e8 --- /dev/null +++ b/src/SharpCompress/Common/Arc/ArcFilePart.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SharpCompress.Common.GZip; +using SharpCompress.Common.Tar; +using SharpCompress.Common.Tar.Headers; +using SharpCompress.Common.Zip.Headers; +using SharpCompress.IO; + +namespace SharpCompress.Common.Arc +{ + public class ArcFilePart : FilePart + { + private readonly Stream? _stream; + + internal ArcFilePart(ArcEntryHeader localArcHeader, Stream? seekableStream) + : base(localArcHeader.ArchiveEncoding) + { + _stream = seekableStream; + Header = localArcHeader; + } + + internal ArcEntryHeader Header { get; set; } + + internal override string? FilePartName => Header.Name; + + internal override Stream GetCompressedStream() + { + if (_stream != null) + { + return new ReadOnlySubStream(_stream, Header.CompressedSize); + } + return _stream.NotNull(); + } + + internal override Stream? GetRawStream() => _stream; + } +} diff --git a/src/SharpCompress/Common/Arc/ArcVolume.cs b/src/SharpCompress/Common/Arc/ArcVolume.cs new file mode 100644 index 00000000..8ebd11ea --- /dev/null +++ b/src/SharpCompress/Common/Arc/ArcVolume.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SharpCompress.Readers; + +namespace SharpCompress.Common.Arc +{ + public class ArcVolume : Volume + { + public ArcVolume(Stream stream, ReaderOptions readerOptions, int index = 0) + : base(stream, readerOptions, index) { } + } +} diff --git a/src/SharpCompress/Common/ArchiveType.cs b/src/SharpCompress/Common/ArchiveType.cs index f9c7db09..dd77ff34 100644 --- a/src/SharpCompress/Common/ArchiveType.cs +++ b/src/SharpCompress/Common/ArchiveType.cs @@ -7,4 +7,5 @@ public enum ArchiveType Tar, SevenZip, GZip, + Arc } diff --git a/src/SharpCompress/Factories/ArcFactory.cs b/src/SharpCompress/Factories/ArcFactory.cs new file mode 100644 index 00000000..469ee136 --- /dev/null +++ b/src/SharpCompress/Factories/ArcFactory.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Security.Cryptography; +using System.Text; +using System.Threading.Tasks; +using SharpCompress.Common; +using SharpCompress.Readers; +using SharpCompress.Readers.Arc; +using static System.Net.Mime.MediaTypeNames; + +namespace SharpCompress.Factories +{ + public class ArcFactory : Factory, IReaderFactory + { + public override string Name => "Arc"; + + public override ArchiveType? KnownArchiveType => ArchiveType.Arc; + + public override IEnumerable GetSupportedExtensions() + { + yield return "arc"; + } + + public override bool IsArchive(Stream stream, string? password = null) + { + //You may have to use some(paranoid) checks to ensure that you actually are + //processing an ARC file, since other archivers also adopted the idea of putting + //a 01Ah byte at offset 0, namely the Hyper archiver. To check if you have a + //Hyper - archive, check the next two bytes for "HP" or "ST"(or look below for + //"HYP").Also the ZOO archiver also does put a 01Ah at the start of the file, + //see the ZOO entry below. + var bytes = new byte[2]; + stream.Read(bytes, 0, 2); + return bytes[0] == 0x1A && bytes[1] < 10; //rather thin, but this is all we have + } + + public IReader OpenReader(Stream stream, ReaderOptions? options) => + ArcReader.Open(stream, options); + } +} diff --git a/src/SharpCompress/Factories/Factory.cs b/src/SharpCompress/Factories/Factory.cs index baef3b85..426528d1 100644 --- a/src/SharpCompress/Factories/Factory.cs +++ b/src/SharpCompress/Factories/Factory.cs @@ -17,6 +17,7 @@ public abstract class Factory : IFactory RegisterFactory(new SevenZipFactory()); RegisterFactory(new GZipFactory()); RegisterFactory(new TarFactory()); + RegisterFactory(new ArcFactory()); } private static readonly HashSet _factories = new(); diff --git a/src/SharpCompress/Readers/Arc/ArcReader.cs b/src/SharpCompress/Readers/Arc/ArcReader.cs new file mode 100644 index 00000000..7d58b8d4 --- /dev/null +++ b/src/SharpCompress/Readers/Arc/ArcReader.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SharpCompress.Common; +using SharpCompress.Common.Arc; + +namespace SharpCompress.Readers.Arc +{ + public class ArcReader : AbstractReader + { + private ArcReader(Stream stream, ReaderOptions options) + : base(options, ArchiveType.Arc) => Volume = new ArcVolume(stream, options, 0); + + public override ArcVolume Volume { get; } + + /// + /// Opens an ArcReader for Non-seeking usage with a single volume + /// + /// + /// + /// + public static ArcReader Open(Stream stream, ReaderOptions? options = null) + { + stream.CheckNotNull(nameof(stream)); + return new ArcReader(stream, options ?? new ReaderOptions()); + } + + protected override IEnumerable GetEntries(Stream stream) + { + ArcEntryHeader headerReader = new ArcEntryHeader(new ArchiveEncoding()); + ArcEntryHeader? header; + while ((header = headerReader.ReadHeader(stream)) != null) + { + yield return new ArcEntry(new ArcFilePart(header, stream)); + } + } + } +} diff --git a/src/SharpCompress/Readers/ReaderFactory.cs b/src/SharpCompress/Readers/ReaderFactory.cs index a079c235..0cf4c2ea 100644 --- a/src/SharpCompress/Readers/ReaderFactory.cs +++ b/src/SharpCompress/Readers/ReaderFactory.cs @@ -30,7 +30,7 @@ public static class ReaderFactory } throw new InvalidOperationException( - "Cannot determine compressed stream type. Supported Reader Formats: Zip, GZip, BZip2, Tar, Rar, LZip, XZ" + "Cannot determine compressed stream type. Supported Reader Formats: Arc, Zip, GZip, BZip2, Tar, Rar, LZip, XZ" ); } } diff --git a/tests/SharpCompress.Test/Arc/ArcReaderTests.cs b/tests/SharpCompress.Test/Arc/ArcReaderTests.cs new file mode 100644 index 00000000..45efe754 --- /dev/null +++ b/tests/SharpCompress.Test/Arc/ArcReaderTests.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SharpCompress.Common; +using Xunit; + +namespace SharpCompress.Test.Arc +{ + public class ArcReaderTests : ReaderTests + { + public ArcReaderTests() + { + UseExtensionInsteadOfNameToVerify = true; + UseCaseInsensitiveToVerify = true; + } + + [Fact] + public void Arc_Uncompressed_Read() => Read("Arc.uncompressed.arc", CompressionType.None); + } +} diff --git a/tests/TestArchives/Archives/Arc.uncompressed.arc b/tests/TestArchives/Archives/Arc.uncompressed.arc new file mode 100644 index 0000000000000000000000000000000000000000..78cff2bc17992b843fabc35d2272cf7673ac7167 GIT binary patch literal 101015 zcmeFa4_qA8xi>z`4rD`??8bmWCAx`3iC`olQE)?C0!xU7WC;O66Nnf#E-L}L%#fr7 zBo4F;<7#?u|KHwTb7Nau``+tq`})S#s}L*@>s6yx)5hCkueC!rwb-PDC}!U8b7mHn z4Mgqj{oVKXzTuOzGjq;!p7T7AqS zRi-5s# z5Z_R<*W27wv)k(^_0m1t}!})kh6MS{ej*adHaj!Q} zb5FgOAnL$n^Ku6Oh92>eLW^m%!)OEK+OSto`*AFO!K=PEj9I`SDzsxv+Ejaz58j>y(n|VlnG;w z$H(yqSldh4CXC&!J_S6NM1x&&Qjh_gW&=`RTPT*gP z2ZGay(Ip6uh@B`=&%oPs2cxC2uGT@FL_XxU9aVZa=?=yu)B2-9c!pyeb=q>rKA$(> z#l!7zQv>2|VX9xErWSHVnAlfr@;2NHKQH%Uha{>Bc^ZN*(72Czr<=w4`mNqQXs%(m z*S&wYw~4&;v`7zwD!?hFOZbnPon*nW4$8y?ALR*Mvf;eIz3`_Sgiq9FM5AlrcsW{I z9cgL$l4C_44T9xN7|X-bSo@bywvlviizsZ_v$dw--j6R7c;gP{N$Sd*J6%Me_6{}{ zS?SF;qi-iA=rr_wl3XJrJ^iC4${60kkXAWzNqwBt`zoUAKJL=u<5`yf7HjceJ2XG( z@FPL#<1fRJnV}DGL-#V+NRH@>*@e%Rh>jYz^3W{~X$CVl_Z+~|igmH0MqoMj*0p#W z98HbQbu>^NY3u9mb+{X9>uMSzbcL+Obs zXHT;?!iMSe%ve9XXk)B0SwuG*hM3BqZgt6hBbqlh2oQ}fnKTmPbOQ|HBIFfisR#$w z_e~g2nGrom){kYk=IVX216ZmYH#jo)@7XgG+}gFdj_jEVA`xI|xAL!nWYu2-N!Bb# zj0G)mAHmN@t8}xkF(5=bBBT!=t<(tI2=x)GW73$*NAKOg z>+6L4#)cMe0HHL5r7(I{-Ws-SG*&)IuQ&Ww`bbpS9}5$vt|?5qOlDx^5>u9;%ZNo!%~_v7nP)Oz|L-dI^;ja7 zZroJv-nwbyhN5k>QY+rFc?(@VTefb?TffOYH7;ft0jx7V+RSA{_SWoU!0`XD9kU+# z-wZ{WHs5XV3M@ZOSDT2rjx;}y7M9q;YC4b>Mlj{=XOJtNK}%_d!EpW~2M;vv`suNL z?AFxm@kVV#v2p*`<$6!ue(d$IA%7EXZ(yAd&Tr7IJo8S z3yT3qtKy|yFOu-|>glXwT&iWzc4ZKvUiR9b52mRo32-wg_*XN$B56$;x} z+M%j#2|q2*aAaSMZ*mTaFx3%x(=kLb0%{O+O52TSQ#kN5*<2=amQdg;Li9QZQ5^sk z!QW()QBzq|KFGOfo~&&l#wO=TAlQ8|o70EFbPb){%yk&k&0pv`U7l^QF+REB{Quc( zLnA_;B&NDGO2_`Mn`=G>&ws6%22K5C^9&7Z`kTR=7kl@XdIkLu2c5Q9OC7Y%vDdp- zcc1m>lzv~&g6I)eB&u)81fe3F0Xo01)`)Du3S3l?h>5C9SyM4$nAJ>#c`rudbfl-( zMUX(%=x+vWluhL1)z+rzo_%JtH6oA*dldDElE^uF2I&Dci-J#`gPC@Y#Zl{}xeUi{ z8XGdA&&V`4ihBW)WyPJ@ZeaZwc_cm~cRnq}P6ahhn>BiLqq5-R$e zfy=_ifE$!dF*(CwpA1JHJHbS!e`?rWL?=a&I0I+wz)wUCq9m#oW$BpN@u0tqpQv+6 zdCk*U(T9O9?+9X|2su#at*;HAVIsnvQ`YXIM49jN?!Iqxqd*%=dTWjM_;L2jfeZX4 zA;1pr;4snb&C@6YH0@3|q2UaZoPY9#*zPcuzdtmkA zV33G3WMA7j9X^T{LP40r)peo_=|@q)nuB&u!NV5J!ZN|q-we%B z_7n<4Ex_IKX?SL6H^Q7zefl#5qW8dxtzaTer=G1(CtHZ_ZK_I2#;Vgk>U8-~@hn8& zgDUrZJldwQUH&AM;i9ir`dv!vS+04d0|sFP30rR z7A3AvuHGM^qm$In($&*+7Ay2z$Ml>CxifyJI(+(MXb@huu|ddMwXJb7{J5T?CTSuK z!u_+eZEPh>4(2MyXCrnYsSoKd9D>~Mz_~~S9K%b-jE{mvMDb(8W`7*e{b6*DwrBzA zq(=J+1vu!st!}T^QP9}T?i<57X(Y0hw>s)5Bf}AXBH-EOMdCc*tsw)*>N#$4tXa8= z7Nt4a(ff`BySK4{PIwr=%NX!2j;vJ?#1q{FT8r~Q(*c*w4CsT8Mv#oHTO6x0S4VGH zvX<)_M8x^SaLX7R$epq6X7BFC1~Sw-QUjRUhixZfr?iie3j?6D54F_=x1zXazaAYy zxX|DlcAbKUj4@j3Pe=0E>5qihkn9Yyq|&e~S4Ihs%5>pHmrOGh1V)xiXYpdfKbky4 z@HqOUOLkIf(LH}ryJ4Mk)Cy6=3jyP}JCR3!Gl->DK+n(+4WmgTL1pLy$spb{97G#( z7-{g?Sbs)OA|Oj|L;u}fBkcA~&-z%6e*{{?q)g*^p_OFHZf3@7Ibm6~ z=HmAnrbw9HapBIH#j?V5u#q-O>}z$J)b4*Ir0O+z!B?rn`TI`M{s6S2IWUF3$d zz@nyxO<`H9Gjnd8$$j5VL6ZnlN!E-ep;5rgI~P0dhR2r1Dxy5n`C+Y2ZNr53U5q&J z^v;bM+|;h#B!cHN5k&wI5?H|^wc)*S9P?szA~k?2MA<__A6YvQJYS-F?rChSXD7i5 zv34~Um|=gDt+X=qB~q2)+s)oFG-J;uQz|3BKY}KrJ}hdsB!Hw@gVR?O3?pb@Yqs#> z^k%&wM8s!!6XsHKpMeIVgAA`uI`BvB}=`m1m{g{k4_EBC?q&gJNt;k3!-X)OeEPOFxPHZIj@^xR4f(%NtnWHkVmB-i$3ZuhoPt28i~#b zZEeu?_ahaSszqsgxa!A|5%ug0Bv5u3%}0soKS_b!88gtJ7yQ+!2p=^doq;LAzpL?@ za_P1e?(J^&nlkqU$L-txm9HH*L3hQUI>ebNA4$_V?kKMG=VHH?{ux5?{Of)^pZn3= ze_L|YwCUfLY@=6$n*xpZ(krsNYZ@9F@$x8MQx$1j*HN&g6zi&5?}~(k_*4V+++Qrb zulQ(Nb~wHGXmfTRp1<{-ecAWon)r7O*#)e;H9L{zw`A|ab!**jAJqv{=mB$^OlGcn z!SC?$wf;BE*-Z0HaU9o#=MFt@?n+$k;b)hAk7wea{=!$h%B`0nkL1H1s2){j*U1ZI za>+8s)v~+4@=piH`9R8Se=7vrDIIcJ1@$&6u30#)IWeHrCz-0+smcV5RT$aFP30#)I zWeHrC!2b^J7zS(<`0Sl$(<~TwGVLt?LP}?vL?veop(jaJQtb8$Wut7~e%_;;Q%*cfK*;>lKPk^| z=^KeT^DPhlSXGZdMtRz!lio7>MjrvXxA9YY=20yvjZuL1hLAJzx1huK81A0h z|63QQE=$B?)AcUSAFm9lFJA#(ht#?Ron>(Q%r^k~iCFIH72EtV9*_2O+|6N3hL$kW z7)c&2DFp=K;=lzU8NQB5YQC~ClA858HK(i`x2w8phxDAi-?wuT_P%MbSL(3;3|OLi z8^As()ou^EKCQx|eg<74J!b`NtJL<0#)F$u?ODAgg9WLHBwSpRJy*Cmxga$K$)P3j z9j-}A4~73q%Cp9N!^!9o>XyM+7rHSMoiG?%fV&uWSA;t>%E@as;Z9!TVZYnh?{@rZ zNvS~X960hc9&DXY0#pGp%C=N%5bEkF*{c2&c_7+3AUKr-0y{#eNSS@qVu{|I-pCZ< zBh-?XlnCtAmB%ccl0;Q2lw8VT6}Rd%>D4I~B(IsOuDzjF&EvSkREa@*BB7%j)85#{ z8VO5AzxGdmJaq8%6R42i4R^ z8)fP!s;DJdC=amDz8oIk!5{QNbowZlh13+H2F503W@5U({?sHi`aM%Q0owP!h4ys# z=Y1x~gwd}hc@EO>5|*lecR|y9PoqWk3%HY>FL4eNYwpcD|rUCl6AH`kTBT# zJ`i{y|1{D8gS|CYFoZU8fFZHOA2VGr+foz#ypO8;dA5(*Cd|xGuM>24Wn$vi)bv^(*pv%5zFqUe^ zaJrE%g@LDMWG}^q^9;li#{0V$FT{#IEqKI@Y);xIKRmsqb2P;hzWRHJJJh4ajBaB0mhX8lxhy{ zW*%1#zr6&;;BM4pW6?%+d{ifP<~m9eVfSg8cK=o_X?wWd8}FmucB=PpxSOFZ-`%K& zp24_Kzem7p3HT8mIIEZDPh+&B+xc>34H@_%v4ENG3f*?=Hr|X5*Iqwd3-3V5-Nwe* zVC>y^BC8?HRT94cPv~y#4JBzmn%oMb9%25q*Q<~5+%$_`QfAQR0xpI&>kn{<9{L&3 zm6lihd$nlG%45~EJ9!Hs@`ER z=>fi~%43OBGLTN=tF(IWkOY(@l5Ezgu2*aieG?*ukNNCZA%bU!|9|}v?&Q|g49o?o z7&R%6&~tri8t#*y)&-T=t6%NU;Yxf+*_}wfgXyv64jf8 zn*`Q+FEq$GL{3Y4_EX;n9%sLB6&OrWu5gx|73bsDu^#L>lm&On3v`lQQeUR?SSw9< z4!A~fS_1Wo5(o7rA^KNoNd?5;eCm`*M(=d~lJKGbMS=BumM!FPrXt%qrJWSt_J_S?GRV_2t(*XXi#{!F~iU#rW80YcQj4Hwxu zPoUrY8m31!sFE@vIB2tI30H~G9HxBEet9Rf?jafV{*@{{L*pl>+R~b+Y#zt7k?bi& z2V_HGq3;P#!8_wH6}6@&pLv{A;xW6hD`#hFhPW)J+S=-X;4vMq1@vH{1t>YCaJaN| zD~uiihi-@BDCOg&B^U#%X$%yOqq_@mCs*^R0oB)(%@`wSlE%o$&j|&?_n1SNZ$Jzd z@`PF%HVKIb*UrR+1#9J-q!gQsvVb05Vl|s9)3)>rRgtkRmvyK$2_e0 zH)yoSIs4mVOmX15-2zgS%@*g++IE1YHU|}7gW^T_gXM_#Y(iN*~@d_KhyK zbzb<8DG>C~QlkET0oZ?z&+3H|t&TE~<;r{I8XS3)D+3otiNie@+$G-kei4E;d9X zOrpk>lhOy8;ORQmzA0&Cvfc!*CvNHdgZQ$2*} z8$dMjujstNgER%g2$ctj2SW!&;y`t|k32r)+zpPWhLn!nztSV~K{Bwq6qGMe8-^Jqjk-e3r`CMb zS`O|&JL938`N}%uN;g%4W~HG8R_c4K2F^X>Q2sjUzWU1qC?K1^i2Jdibt`1PG=AH!JxVjR^1k9b>-;V`24b9&R_K<~q~6Re;)wH%{4WH6nK_nb=EFq% zdXGLg>T`7H3iY8;5S>9pcj69Bsyol2>lV`#X6sxt5jI*@P@Mv*{U!uzNF$iH$IJ{( z54y25TtPPf`-V7L{xBB+ei3Ou41szrwP&UF67}|&$%%9jp%(neAo|0|RB6f@xe`Bm zhTrs52l`3f6pN)QvV2cmPk14=N)|eJs+&rGjZ$_uax0FvMB*<~PQ%2i6!*f6xJQYr zP+YuuK-!UC!7#@ir_fj4I6)U! z#tA%st460$n!&LAW(IX;Nn1$PHG20XQPYC zM#=yWl`bj4+DUnjFx-cRHLO*})f(I>CzZHL%wj-S8BBBrt(i(eCLH&cx#|7sgR*-f z#FKQ!@>1i)^@@8!E1tm0DI0ge?IuI7Y)=+tlt5hSS~xK?X!%`K>D0axO4WE5bOFOc z7j?MH6P<&?RFCTegESV3m}(Jnm9`0Ga7$OO+&0mkxgomEA=sc9+T22IYG^aAl$eFi z8^bUW4)tt}#R#{7F=eQz>v;Rk!TlHUw{w=Z#Meplc92@AFf81N8$U;1q;CF&4c+X| zR+m~xKZoSv(X3u9rQ8$39KT830Lvj2PiTIVM~|-$LxSksu%7k%{AoaPH&yO0f2IRg z7lY?2%YJWn;@L0trhe&17sZUIBbvPV*p zjVYFwT2rCZeS_;$Xh5_k46b(&j&{D|&Sehp)qiw?*oh~0NSCrs}6qD6k>QP?ou9{H6f22wuB9*4@ zms>Mam|Vlsz|fAc0x3lKOKJ-)lf&#^V8p^!U}}I8#*t0bN?+FTLGJr_l#BR5mjz=R zcUHN`E*ClEqSQfG8d<>sR|cLk<)Rd3#;|Oo7A(xpY|&dFGXs+%wWn}{afDDvP&V_h z$#IGabD*8<1(q|^0JDVz7zF~)4Y32ckQd^lJ(dqJ&Nf?k1Fw3E8H%xIH79M()CS{T zKm*JM!l-6NQqu=*1Ha)~=b=u7mTJm{nUfXCCfZxjGk3v!l`vB{su$AOmfBZy=$7k% zI25Z=kbzVZ3U-Fj6`!57dL)essXbE@FtuqOUTevO75TC;2M7u9R|N}EtPD{9?gHnq zIVwp(dP&0|uL9C_z>nLlSc7#P7i~(RT`o+P3saQBM7hwB)0%1(7NOu8r7*===xAOD zgJDIrx5hP$lI_gC!x6P&#GrZg1#0{`D}w#PTgqT)m`ojOR01~`2^OU=&GsZ0Y6gl9 zk}0F37*Dh*0y@@9?G{eBCg`RyNEmN~h65vv+>N#;-C8IIgejZt&b}5ty^q+!+7DpZ zI@7`K=g}@f$n92hpS(F$-kc^EX4sxI?W#WBuau-Ic^S@^o6YIR`e~v@@04P9BE4UE zPe>>d<`ju({+LjV-?RfXEd@=mWkOOZxVBR>58GKYWZ=xwkXF6pm=#elDBh4(p={1{ z4%s^UPzj^4+G6Ya5pI=sh%(tZ9^et&h{@8N9|*TpcuLfNv@%R!*@0!xft+fGU|tTf zwJn+Ga9W2N6*r&xpB@3CXH z^8`QE-+@rj<}{@|!})yk+>V@h(d5btof+$o5lpUgCn41e^|&r9;vyE5hZZ3EvDvE0 z)v0oInp~Yhy0U|`iz!#U)Sk!*SpA05^f4kVg41V(O}3eb{9FmlhN_VbnG+5|U;vQu z$~rC;S+zlK0>cFZoK_7qvJ>T^WQ=8fh|5K3a#6;`<9Z)-eQG2P#t{znHW~}gd2=mdP`FRQU8qJ30!NdRqGj<@5bd$zg zsZwPvSNiYj>c!{~)+lWj(m`>7q49HjY~2>EFePNSJ!wM@K0H;aP0m#lqPH`Gk1UuiuF-0^wz=99KeNH_Ksde>MGHt2u z4|Y=~qDIv7G{3?S7*>__O`)BfUyu4j6jhSS$c4090mH)MVwDRMt1)cQJbsxkYQnBM z%!=l*qFd0YQkd#2OlzJ;g=!J?*m{M6_$EKhAfQNb`FXve4C<&-WoN2YyjCg9Am0|M zpWavGDak8QS3%1mA_$;6S?S+FMj2Ab$xCgv70G#NJy4Zyi|v`d&^+5Sm~j2-I+4G7u-xZKaZM8W-ig^gkg~=^UtTzJ05D7E`;_ zYxfw?{iqBYpe3e$9XvgO>K>t=zVk6bYqzXpDM;mIlN3uB`F=)44@Nt6NaeYcMg6`G zNJ8a+4qd@&iwXW@^$cKCnVrB z$X*qj6dj0uzS8rWoHR^M%Fw~L@YVz;C%lQLzPBvq=jDWxbgSBryoRfvQ^zsYSArjl zKSljIU@K`9sq=T!Dj0o8Bbh>KBL^XtH`eZXjfVtYdZm zSYd)ouxTxJ^*h&c+_{sL)z|c5cvSbp@uRJwGg~yaX^^M0$?_8(wT{M*`{3w|?9$IFW=4w)(WBtMNX^*1HYjClLfwv>q z@{S8TTCpSVpxypKQ}zR>wvnv=oD%hMETu4D;qCkfxSsSDm%!;XW)-s2v<7oqrCuoA zM6Cie9H*FTkFcxTLWX+xgtB)+8#ZkF_R7!msoJn{Aq<2+ucV1=WJ z6J&~i;{r-It#?vCREn)~9#37yLfo}rTz^%a%9Kw;PiFSt1qW%`( z*u{|DiKwEu6P4dq(I}TrBl>EUyrOO{07h)mX-#&m$wCa_N|TsM;|Meu4X*~dlJ_JQ#&4$F z3h}#>WjE$58pMh_MRu!-8|0p5i+=A}tn0_w+8*S+3-V;|S$Xexn7Wg}u9K704Z2@2 zQE#}x(94S3F1ud~x?lF-S<6H?{C6&lZpr%sLJ1R`uxPUHl&X`HVnv|FeKOpcFOZOl zF_JH^phKkLJs3eYP&?>KrN%Ieg^K+qWN1w!Q83Sbb^h5c6G1i1A4Gr*X@4pw&VyLc zLFyl9sYoi5qTJ`ub|*9Mcn1>{w1i?F6`1gqeO6_cT^W!?a5mAJBVB+GrhYdSycXLx z2l*#+Hc5Ptm)c^TMV9thDz*~W&>i;#DiNNx=V?`3oLDHYREm>jlXHW0AMYG(iB)TW z2RL?B1H&Z0WprxImwFp4EjrM%j^nCGf1o_%EuG8bVVF2}s07l$Yz^PZF2@`-BbSU1 z&DB@d|dX zMJf29MRlRJw(Wiv4jd15yZfn)+#KNbMOF94T*N8#Hwty=9E~(SVmiaX~|DK zuo1@PTW19zFlDvb<+gFe9>h6Wy(5%|Eg-8u zrlLf3n_1^8X7j+9i|^3aO&C*D1)APwv3>4$AOt20CoPoXiS%Ntv)JCe9Jg?id**hW zj~C}??$H4*!PRYXDMP_85oG%F2hVe$xAg^OT(6rx9(13DEz_SWJc?Oc4IA<_lai3H zxX+s0c^FjbZmZL65Az9ie(V^!i$xh= zos~AL)MiHO>2^T^Y z?IldGy}J6{t~2V7t#tN@NmF8z6PVm6>>!QrWqPp&_a5~F1UxE7ZXkNiO4(Uc*?15k zLZ(m9j&Zby1>M|^JK{y&%7^tyE|E#3-OQ#FS=$z!8?_YXgO`@rMaU8nDDtS?D)(vJN!91{(LkcU_NNub-kSgiwG} zNu5v8eP+G2I3c}i^eIwx2R&W8S65(a9byh$B1zqn|W8rCXJiLc-&e-JbpX! zr4P)le}_37W?V}e0uudTc7Z-MviT7fzXBEn1IteCN}qDVJm9?0VsVb!9@r20oEwDU z=EOvt&XRs(md;xO%g=mEOZ`%}3nUHxmD@=y}{H|7z4E38*mQaEDbW`FH9m2Zk&Q;P$vC+Fp==>NvK0Q zzCu83pppkCOHluQv{#Q*i?kDI8`37E0;IJ_O2I>K%LNa=jjM{QitA}yPvbg@>nN^g zaXpLcIIiQkPT)EbZ5mKq(899(pjVlBpyUABCZM^!V&$4Q*cejH5u1LToZA%m-V4{OqLbDDqNp<3jpa6-elpzry&T#uTjyzx$E8k-kAWe~s~D#NdR~a@B+ADT0gTLcB+9qsS43X?vlC>W~_3A z90LRalTmqosk)l-u+sTGNXXKp3&Xb0_u{rx{S4xlidxzA2V3WZ$S_(jC@(Ej{qU*a z62igal@CJ8%hgA(0_=Dt+nUdxC~^)2Vw3?-X@zl;+41TN{h#4gR&)d5_WB3q#i z{yZGDj=-`*$Ffkz61r}B{n9DEhru@?5Eo0iByTL3%hew^n6zwNi^1y10{l?m5G%#Q zXVF1mB1U`Jm-Yy}tVH~%FM>dyogOh6a_X~ql<*!HdyfvGQ#FZYSSf=-?N${_H>kHFXj1JOVx{W0(Pc@e z@oPR&?tH#2DY$xLI?mGn&;7`fZh#+cy;D4=aLSsq$jE&N-@T!Q06j=R5NgUj6p?k1 zvZ`{iZkmMZq^vu0|2874i?VLZ#Y{U1^#En1<~|&e^*PE~koz~36|cA0gDi~^;+Z~0OB6^L8#O81EA zItQBh9J}~u9005iT7#4e-yT^4mNWg>^vzkULS@S<5Py4oDP+5bHY>8Uo;bXPcE#FU z!L*@Veen+%&_N;26jFoyzw)5iqqb8(Vzd$m_SVo=2G%ok)rQ{zPRS(<+1CjN;!^!-$CFN+O29k!l{+mI;u2(n0=jiyh>w4sHgGbN2R=& z(8<^CsveAe8p4_djR%p%>W$-*E$1NC*mDp?sDT z%ZhvKF58p89FroE#P%e2Ut5S)9Ku|*GPmRXx#A0*uZZTN5H@@SzGIJuaC9=)f%hyr zharz1JHf^hoY@t6kLAhsOVnZp-E1Q{>r_YfPLX%zht3g68Dsq>aT!Iul7)nh z{idZsk4fZ}V<9twKM+RND>-G!wl5x&%aTuolvnSf4eER%WFT&5p=P>EJkw(bop(xY z$sCq#Amt8_BHS*uVHbG?0I!N*F;16{E*o2f0L_q^W^#>ehiztDLSUL{WDz}Tf?2u| z-A)?_8dud{QgS#2mYrVHxe6uY+VO&10AyJ^=+NU@VqDIT4g|(?{e+QNfyuRmp`QsD7h2R(-Y&R zrLNLaPdQ!}#JhiZbwPE8gjHqgl{jKTLk25;;ri0jG7pS#DxkDC5QCYI2fO+l4!>5? zfpp9T_Hr$09QY8CD5WLvCg%raGQt!KYqPIY28DQ6cCz>Z{fwm#x)ilc{b%4{!&$`n z-O#+UigGoZ9j~`yY5gW4G)~V{?SP|^)$8ZTukg`##B5*e#f)TyOuBlHkb@#5saxlh zQHPIUcq|r_!rs7?_rFk{zbbQker6`t2-0Z_V(VoSv}545oO7`tyshg2NDE;?w&O8@ z;V0)$D9u*ovlfc5*95ICQtQLmV|SOA1@E(K+aBhts)1o%uaLEWEuc!(xhn0V@+d7Y zRoAfx3#uVljCGOPhYW>(SkAYit_2lPq^y28boeORuH{3w)6DYIa|koyj7wOyEp&`VzKAw0CchpjvWvYcP0B3l<7SqnF2 z>r{aV4JH^3+B)Ar#=-ZgRa@tK_ziaLL^zdMM-TiPW*$*tp^=~11hzn<<32kuRHzGJ%;DVxyY9wV^PTM^tbY%z zdIsK1e`NB(H_A#MMuzqz51w=wkJ^SDpB)Z?fn|un-3XsndM;yE=!T%%5@Z!=L5z#N~50P&H4L^6x z49yYODlxa4#1-+q!VS0Az`Do3EiA@Sh}-jG#H*0G;Px7`XvZ!QUMh@#TYN>qM<4nR zUDJDF*wv4<(Kg&Ii5FzEC-i8*zf? zVD|3jy~AQg&i=%f8*@v%Ix~_M2T6$Xa%fw!$GzcINS|vFfkpV7)_I5I>>z4HmAob=?6`NbPpB zSf10KD3;IxOz|#dP3rHUcw@HCYiLBL;lXbzM=XB8ecGhHiW4L-7C3gKb^~h;u$(7i z2#cMt%wt$$RliYs$|%KqO}GPu;TN}!2Hh(2d~nhktS77Y{)Q}DB2HVoC!B88CMi_G zd4H?(v;6)0lzi+#S=cM3*iUb-#Yr&5Wex7<73e3-bNh8#ONw?I`S4C+i=FPdS}Pu> z0I_@g{e5Mx_u8^yks)Soy~2kX&+ z&K2Sz3-#_;2%(Z~UsEQLPna}uGztyzj!yjfNL(D=>7ug zze(x^SwtTeJ)TGcsX16R;*{7NNDO_K&SSC-Q7b0YN~#`^e#4FFcxrxsSyNbI0byU=r^QVHuB;skF|* z38+li<{3{wVW*5vKq*xgrP(5jZ!2wfr|VXAG9b?zf&UI5|K;U;ARVv3_gq}4}X zd@1#)+prj*bGf0b(Yxv`kUl$}#E$B=*$F8yqT1?FpbmXoZpIK9HBL^m-XsI9aQZM6 z%rF}x#Xt#~r8WnhNlbxk+N_9QKyB!NzWO&zd{C+k4v(U_B7{x13|0Jh%tw&tpP)oa3h^)tYPqp|OSLON&` z(K+H(I9qBK7arWN*NT_+V;u72(V^FLCEGrm)WS-J-IP4&kF8Tg1ElD-&iinuwN0p#UZnF_D&J^#x3e2uA=c6JUN*h5Gtr&b3q#=e6hHI0y|D zkNOqlR94D!Mrehih>2ryCLHdrB3#YMYR6>Fw;@f!)ias%3iVA(BETxtvENd^SaI@~ zw{<;3T{4FV_z~`~7grwoiqxLWg|Ujat7(&1D7-~@R~b1%J8)7RYW{r`R#rmHU)J%5 z_Neb71Vr2kWh)MU-r& zl32AEa$uu!`tYOf!*Rlqlc=Hhp>O6sWM{m{PGAw+D_p~-QaWX}fO@J#Yf4ss`wIvQ zx*MglS-shAtL;m@teH=v8FDLFkO*&$mEaw=u2)(Ul+~*+Gb`5l=I70Q)BSf5LtWb1p<`GtYS()rYV$+|6aX zLxO#yVA&`x^!U$)EFS-#LuQYEOiOx%yxBRDH51<7Y}?_H4tWX=iw<80kK8!8KUUDk zn}U3wU{<*Pna<+$`&{Vasn9IB&scK4i6tja6-&!r!wn}bJ4qM6>B!5tf@l0B{`u~sc+aQ z2DAb3^b^ma27vIkon^@ZIOz*5O6x*iX16?UEoPjmJYWGa$_ITKzeUpSXfgZm*o7FE z^cLtkZR>gjDAKX&E}mc%%4OplKjnNLWVXc0;Q4uT)r9f^5KwjJ`zGJv{XL`Yl_lGzs9(USH;Tj5zp~_u)2J`u8A=PztKto59X-qdUX@nL z#-+B?9KNW~X0>(7Xa!a!Xgwc>qqHy zSx1|V6X*Yg=u}>MH3Xr}y=w9)Snx!_+~m-524oLz8D=FqR3(q+aPM?7y60vq5UP7r zzFOY7a6&`8nJoEXQahR!eobU1ynrVq_as!a?=73T$odnm18Z5%1$T+QH^a(V6+<|4 zJr?$8)O6XUN4u$ub-aqpexWE|2Pm?49LR@Eq`UbGEJxapBbW8GSAkQhZ?G(!)|?t2 zv`xg6UP)pq&v*0<$0$P#FnuVvX~F4|U{NAw%lVk~VPG-UX$dq)oUz1Hi&;_=l?19P zC(vLD(Z=u*Dw5X_o6Lb@mO3$_nbPtg-%$}<`v8DxY!oe$-WtWYfU0eT%D2szUesQF zS1QJmNjw{ZYdee;b=KIcDju<_I7}@mC!N2Rt1Qh|DR=RT^ZMfP>o3fE2@9S6L}%3m z3Ie~wRXm{l(s`1=lBR*h0xa~7^Q2e_pymbAXW^7vkO#=nAE@39;d%+IjKRMP`1xu! z1~h%w5THV0srpMiRw{SdWfRsyu!HQJmJONmVn$`YU9n5=YjW9ykf=O(h`LQ_JyZ~; z_cle(YAU$CZ2WrhEKMT8qJnv^E8;vX8aB`va9QOYwU@)HiXX6o44D}^GbX=?9Y3!J$)DW&C-QC+A;8} zo#$+ww0~j@k{S$Vx>a1FM5qh=iN)Jvz=oHU(1_g0tT+ zN~|~}--4x0#2zu`;YE0VQ8r0 zMf2SKJTtS(&tCogxmT8WEK2{B(W1#6A!a(oVL!hW8b^)_crDEi-zEq ziH%MSE`-^0*dZh=)@%>$0#(@Yuyt+0jrkYOGq#7_xPxlw2Ja4x#+Eq$9hJB$yLjg= zOrJFKUpG0|;Dje8|5umnJTy7^U&W@+iy*$i>`8d?ujG|27NC^rhF9*VK?Ywq{Y4XI zdb|-}d+2+R3B9LYY^9kzxM}6Yq%%-;Hkg7b-mdIm^{ec1B@UAFN+plusKqt0C-Zh9y5ApHYHGbya8yEQKNYAS@3$<|46U zw*r#i$IG8)lHX^MKaD^KR>ycZ!9K0kDQovx5-fGqT@bhhzs|dugbi!Q9F{n~84@Ok zCBnp6=H^UE_(hU103e63l_Qtt03S3Yyg5R`cwxjW7bH)xI1u(G53l_lTZz!g4PJYh zg3RIdJDte4g#5urQz1H>Z=nT3h5kl>VAEd^aE4zHxb(XL*W=xQtG|mej`ve>G2RV0 zpoJ2G2QGvx!2=(L%)tZnGJw^X`TF!`{nzuPEfUQ05DK82LJNxQI> zz2*?)gSSg;oqkfjQy9yg<#hMT(X{VkmpxMm;43xjbCbVEOEC(jVzccK%rD#WO9iCg zmDOAMY_E!}Hq|6Egl8WAp1k-um|olG{s2CIPs8@5 z^O)`PI99-Qbh9m7SLod-lxH3fuHFip)AtVlz2G;qK~aa3Q+_67^puz&4{RTsY)`)L z9NdS6%S6xLH~?TdL}*;j!InSg<#pt6;%h9riuY$G_&^`5tD#2Vy>gX89y;(8(omedm>S6H zW!N5n{P9pi&SDpG5NpD@3r_t3ekfLn8DlaYC@muhNcDnfAB?4YB2Zh_%|!j-^vtia z%n8wUxE_F0;B2LN^P|`f5SB_RFD#PO1i@OwVvI+59*f|kSFm3mtK2gf(B)SMyxRR8n_ZcF)yEFDQw#ZyKzjU_8 z{ilI0dUD_$n%hb%f@NoHPsZDx>~;3-TMUQ%X$G2i)PX4|xd*RH9zxuk!F)(CL|FM`F<#xJO6p=T%U}>t zj)q~cIva3*W}7KH@#(!FHMvJwfY&61EA_6o_k1z-G#cqX)Qd(!DR@&tuV45*$#)LhD?lPhq{{2!_rXsvQEmNH0J^n)!0#C(Og-ggpF8ZGHTXbSDx3->B( zI&trN0ofJW>j)tbq~P&At!MZiqwA3(WNNP;*@Vksx~IsH_A)IGg!zXl7a6golmmO3 z98NfQLfD|ph>M2C*=ch2zLm8CKIdo3OO;@p2|55uZ^0o6SULNS>RtW%Noe5;s%q=(0aD{^^t*c1dKBCx zzQ3bdH;c@!ZWR7mH?47D(|RRN-{`M+{R*Ze1E%#_!?ap;(<%KnFTLj@N*F3;n1J;Wo#op~Hpap-l!oq%Bm9>2VP+N=WK&!Cry zUF=Qe(Cv>&!s>F>+m8`}FM$j}+3C&W&f_eYiw~p50zPyFwzJTI^E_(T>nPZhf|cH& zw8x5`)3GXX#^zxn3w+NH2fkxR9uHv?)uSswqDS>Z5Hy$0#cV*i^r8s8X75|qNNU## zRXalYIIu|iwiq04lSt(1Sp6dyzTt8t@9hGMv)5s8mZTuI-$MMdYnA&eLOSPW)a5xpv_i$cK;*h%L(Vbz#B zffrmkZ7H@+n*5w%%Kg{stVLHrP^s%-fWZEGhoZvjMuTDmjY0F9a@8=S`HD%J z@mUiJ%cJ#Q3qQiSIPvW$(m?PxKu<-5$X8T^@WnBbb2+}JiB4f$O^~!kDUR@IOc=_* zNIhM);Q$QAVAm_RV@ermH4)3Xfc(Q>zV{x>tiLh&KDskf6VqHgoCst6>nYx zQ|#fL$k4lp&Q6NhI$?E2{s9%3(oj?)rz&|;X_9faioLpsx3(jcCRtY+yxEOUb?t^5 z7F>%r6?EZ$6SEH~%vo7{v!b+IosVOV2&RSRh5G>K$*2!-l59D?+< zB2bdz!=EH|A#TZt1iddr^}4=q0#hdmiyyNHS7|L4b>IYM=7W2z=RSb%DaXl$_|OQ? zR`;~9wJ3u{MM5P~A$dW0l4=&#(%nsx8Yd(d;nPT1tJ8ahm=qzZqx2J6t*q&w2l@%! zsI2Lx2l@$JU7@~2z)cne0xCoElr^nXMnBR86AO?%j&kV099W?AS8-O`Z>e;i7vd#t z9=*EDBmB0Qoo8J}znt^DSfC`)p;!GpEV+?#nS}+CP?mO>o#stor+M*yW81a(@FaYt z#4oYKyh}Ohn02Fg4&RS(5UTl;M`>TLtPIV^?2cyX3l?a1p`^hWQKR?_4FZ|eCO&41 zbKBF7(hA5nj?!KkeUvsf$HR+fr=O*zJa(8?TlOP#9OgRrD83R*5#f0xsp8Yvk{t2= zNYna{7Ioug*{hzVXzL6xc?_nBVE+6JMwmFNw)_}=P5;raQr=t0o3Y+pst3(ci*)E- zg8m_(K}+%I$g%&WX-7vX?;nr{k}m&UmcV5RT$aFP30#)IWeHrCz-0;iUnhY>aHEG5 zj%&bmCsHfYO-RW|W5|C8X&vt4km%2k=kFnX9jOy(Ez&(m+mI%DI4%{}WTb{5$6bNI z?X^f-4{@9e$$=D)l!^3vtXE$^dLQX~NZ&+y8mSv;KhhVGd`R1o3XpaJ-`l|7ifa$j zmyy1W^aG@4kX}am4bq>GIJ9{y>Ufqv$tVkV5 zF5p6W{Y@?|km2I)yxGOA!1bSRad9`TaB&?-i_=})Lr8td+k~V7{zvebofyRIXJcFifo3@me>N)htm2TX; zA>xrM*ixLgar0Ep)>|`IWhcbn><}Aj?y2`WghoeQL!D4pQ(yNPufyl9X<}$Ng1e32 z8X5(Mx1mwI*XL+%s@d&z>_OZ0jr-~%D%J>fjSW-vZk@GWvrv19dTXd&lNj(iTIvFV zSX1xVBR1?N+>YHf_4TX)qHFc6_;)onc=y){x6}x9aR|iXBwZ_WsNNLcjZI!4Zft07 zgdA$UEp@viU=100_cwWW3*K5LnJFn^jNO{KlF3Iziw4YIv0kVXd;xDwEhM!2zG(Q_ z7&0dG#4eYIJm@el`#?OrX<86Qh8yog|8wB73 zt(lCU8DVPz_lgAA9F}k9Dw5Nl`bIR@aId4Ov93X2YJi+tZ>=uR;=0{|#^%O7f}^~y znYt=JJ>9X@P|!_v_XKJJ2cV8zJd`q=?Iyil5+Co;nYtY+%&l0lf?FHrvY`grEjHZO z(73N*9o0sd3x9!fZ0jL~pXoYY;i3!oIG{^+>}_kSDlO!-wiTy)_! z;#!PEaP<5`BmW<8J%Y5sD{QK17V@BeEnZJ!lL+I0JpH+%uA#PZA6M*cZmzl4yS{OM z9w#mdTB)b26Gop7$^k+GuU)ckGcqBWL1Nmfv z=#T2?cd(bRWywgzD=4SCLP3=`Rw02kQBv@DU8j z>Z?)tgyXSU;0gB&QSd~|Nh2@&+b%%pf06BTuBN8NLMENx;$HpCa(uWj&7-MEnq)mKJ=sMV`w1G5nd# z4)`7sd5=7Za^yYQGX+PV&q+JTafc%EwjwVPc{BZ8_PrpLhyUw+uQ?`I%6u^pz^qbG z7r+GC7&wr}aX&R}oOCtv18_PptCyk_6Fhe)rqnCATTp}Jer4L^t!eQ_gK&+Uy8#p7 zMfulq`Sp#>-lCd@+Ilb7A5&WI^)_)I#8lMO35AV;Vw#ql>b+a;@uRV3j{7iNQi}O4 zoX-_=`Ixx{?>07pbKGjT!FXVD|n4!oQ~T9XTx{`u1^`br*eEcM1FBi1Ev(9;C^j_L<|75C5WK>DbrT( zy>-nHf>A&X>wKfi52zHC%4_OHuN#vR*GV}{ICpsuaNnV)644ttFa`1Vlt;t?fU4vb zl;?RihPlLUdud*&5P+PvHRjdU1~B90ac0Ujp0+jW#d+LSl*@!w3f_04AFpIN4dUL- zUSVHj;67FeE-Fe_?FzT>WsY20cSEhm8>nln<-X3I@2ab>*OlS#*z=Tbe2G1;hZGu& z8WkHi7Z0p<$mr?;>U`ji{96%HM{<-SB(O1Bd5_X_TDops-{^O-Q*yOfGA0VfJjafB`aANCFc>z8Oa$z1w?{m1p&z*NhD{< zB1z(q!yq7e$O8;;_nX;#*7?5sqz!KvfwsAzBQAPv-DD1ctKoRgUu0F<5M(zc-Y2-KhBYGyx6U6>lbTtKtm3IGIX zUcc7aZ(_rFFLltF2Y?AoO?%7pMPVxIVPfWpUTB~o=W+|9`>HsYy4s#=sS0{t;CyKU z&~nKB?LGb+TyV^r|3i&7fPtlLWomZU(%4DE;e4sdc)FMYlxY6{oe@C&@9Em$j_O?U zduGlqP7aMS?;bzR z2Ml5;I?EWFo)7B-7bl?ae6Bn|4*}4L#-;B*0023(bP!n;G_H=u(PsTM)6pyPKIj4e za&AFuRiUr>A5Hx2=M~YD2Yo@H=V$q@gQ?kh858p_YiT(AHX$&HaUZ+~IR0K#z|@~* z&`MTlseaa?=MyM}?Y~mMHvgo5Ebxy7{;|M67Wl^k|5)H33;bh&e=P8i1^%(XKNk4M z0{>Xx|9cA%-vZBw(V0=|FJZ=cqyPzi@Hggd!QU%)_?tct(tfA7Kj^<{=>Pc62_6ii z%joC?y^OJ~vAv0z6TS1#&?I=CW@Yc}0-m3mnSyP=AeF7@`Dvc%d4%$JGjxB>zncCh zUVn4?o6j%WAB=vBfaduxGJ$1--<4cu9$<*-4|&dyV}A>cJ_&tn>}&>b{$h{j^;h)x z{2UZKy0rtNx-Mpf=sH_;RMei{+}O(28BKT$hV_1z?i$;(xX_!NM|bI+!Gl>dm-9Y% z9qjGFK&70MgB>WxIj-RV_LTwqq7fBi4;e6g=5A%`Vu`-Sc`Woia`&4vcwGkzK+z5i z**-8nZ=|lPt|6;p@GB|@as{JVV36Cz;8(!b`7Z4S zE#W{ZkOO%BD=DpI<=`y!vjm>$1^&d)bO$gLXl878UiWY4P(S7V^?#q`=4}kFtGTO3IG-IKhF#4SAWWdh8P&Y-wAz4`(F|!SpKug zf2lq{Q$)AObQ?Y;TI5+f-n<=WFYhaAq5DfK!{eF0)$i`oDGx$ zs6m(uLK+Z01)&EB9YN>`!bc$V0^tJ?qCj{bgy;t;#6XDtD&U`q2z>SfoiRWn_^jDq zYZa{zT6VPk&@zB_ML%-};DQ;g16o%iFr)QCLo^Ky(R!il&|~ns4$T+c7Y&KQjOL5h z8%;y&jn)~R(R2ndqv-;_%F@5ecYl>1fDqkB?H67B7epTep!w^98GUVAFr)d{fteo6 zj$lUH$_dP9SEF|-fQ9rQ>H7bf zzhByUkB8s{c{pw~P7grGt;hNPd;7uB>Dfa7;Pv}0*?(*D58)pR{9}QCEbxy7{(ocv zDohPobqy}12lAj&*y&}-0N}2Z@Rsl`8ao?3n^TAZA5t*~H@k{#=MKXK;1UMr`A2p% z*n=3v(XPiQFkc37^k-!im`O3P&RrG^5U0X8|7VoIXAr0Ug?|C@Tff?%KZg0hzE?o_ z4a{ViKl`HTR>9cke9&)Mt$61y!gr893i<@}|8oM=A*!IaaZmj&r#8O;paAwlOYaY{V3CWW3c$n9!-IAYFwc8nV4(Za0*Qe?^{@v8Oa6ts zf%uJ(zvX55g`0vsfY*5E?imjsA1~JHpZfWM?XiF1(IAcy^|K8Is555NPyX5HHqnIV z*DeBaoamqQ3J}MO{&_95&GCQX=t~j&!qKiE;ji`$V0)ivJYW}eZQ4N`c>hZtULGEd z_kWKM=KG&EehR9I^$SP)MmWFl8npkFfp;zs=yd=Xzi_lwFhIWu4bchn4;We#|G@8m{5b=BK-pCOpsW6YV}P?Q7L?^V*aj2C(JPDsoF-Vm@L3SY2JxpL zJr`642gK2vkXzvFzy)!%*P0IEc)!}G;Da;l7jBOBxPQ$Ca0WcZc#m-||1FS=`3pyH zh=4SZ!LNkz2Y$}@cLg|m=s}zd91iqMLOcDc=%LBP10I0D8pOfJ3++vfolL>vd7=m3 z(M|9z9nr(f3!uY`(KUdU8VGyNpFv0a@#q8t-b;#szvVp&y7L{d8vsTG^~#*%98dvJ zpB)1;uo9j{M*t>|eh&ee{l8CA=&cMjKpn~g@@jP)b-Vz+gdBx{)(ZVlK3G|(H~JbC z{*LHf2Rd2(1pgQB|Mxx5FIJ3E0Qdq-wpO6Hm%wir0PlegaHGcF%7m_#nw+c$pA!`U zAi!fF8r%zQ0&t98aGXuhV~u{@>?gjd9=|bJ4<>Nl=x7;7`>nKuCRvGxdeS?enqx$R z|7mAcLRNooG!(m`5WLf30_s5YBW1WgLIb$xp|+&v z0$-9pU#|ZX19V*+sC5Cj7=A-=JZ;=@t!?ds~thA)?K~|tBVEp8KhNDM` zdmsEp9$4!6fc*!zU+7P!J*xmF>|fMZa+o8S@v1Jz7(;Qa;U=?L<$0<9AQ_PHek{(6c9cpIq(SHpWy z4pH#>gW&Z+KO>+5T+TZHKo7RX>A$q%=;*itz6ZnwID+p?!b|~k3ZNFEZpD|u=L;#YGId-9GI}N) z>#d$x*@SYf;4N_*v5aE+8cT5*VPR|aKzdTJ9gVtt-$=zu8BtH*Z{dHy&%(cqFM{EN zk%RHEN4kd!TLs9tRDrGA6>HE^bml@5Xz!KiPAs>}}aGhr! zW=orM8>4j$W;3ECm?D^>?HO9s|CF#&$$6C`-m;oNGkL{ts}V(5;$0aaF2{Klhk4Wb zhN2+GsmovWtR`#!QvW~IfqgH>zTKf67RzNv$-vm>dG9mO>-6#38P)N+heUJ8Y>v{J ze=Vk}whf99itKKTR~^#YyJzY``V z7A87jV_{)p;b7z7;9z58`;}Z~GxC~%ofbw8tp``(9e9=BGHVFQ5z)K%WaZ=)6qVF9 zG_|yKboES3&CD$k&-e-14ZZ;UD>6}OB~1j3{AvjD$4>o( zSD9|lF>j$&I@jobr%>Skl}3Ll^p`$op8*nlF!cN$3xff`B*DNU!8jWSh_Jx*K!QaA zNCHR;xNAp{m_WJ*BiyV$z^tAFvoOc^A(psga;V}c2_(@}$tCM^HV9_Dw@1KD@ zYM;2j6(2+JBIBu%=T#?ZcPo$2pYq(o>tB(9>+`v>gqeAO#rd_`FHz`~OW{TY3SnvpYrf4fu(QITA<(!dzHZd+Jf7C>KJ zW+*#7hWCbqDP--w$!V_t^63081l2b~d|E_r91-uIw!c_m5Ppi|)qIA1K!v$9C)6|gkkJY{#HI-9>GqVYbDhv4|Y6Yz4Fx*CS_nKOPFNik#i3p z+iFJ%qtktfxlcsmsrHbn;hj_(_`%Hzf@z_3j(qkdb^U~XGzbo&AcdAB`bf@; zh0!a5LcE#7J)mCUCv*&-qkaKSYnYqgN|@Ai8O*Z_WO}-24J_*(=BGrrb}GGNOpiF(^FFmG^s(Qfec?JsJhm~|GES=d z!(p~dXKho7sPD-$)dlBCr)RN~WxkTdJK`Bl2k~CoFHxNN zQ!CknEktHkTnr&!Ln5iMTOTb1Ilhm0_s&uF$x-sucW4>j^CBMum;8Fti%K&(Rf8&r z6;GSG^Q@Q`MEl=j**iIIHhF>%te5q5YV zV@tfWbYRyzf_+&UkLgk{7Cmg}2_3h%jk|;49x9^l_CyAy_`1b5Z+5AQympL2&}5&l zXC8L=LGtXEIZYkk{=g}DiSqr3%1rsRfVpGMGeB-|NT-#c^8y9iCGTiyk0NiCnLdxS;#xh>x7fj2N(Rx1OKk?FrytlNvn4Ja>R~wo2 zaO;u#e(B1zg8uh##f?#>l&=KqMs5U#6D9is6Y(8TM9W-I#+F4pyL;}8ep)<4V$Q@k zB%Pv}n+1zP581fijdZs|9Kf}b-jB<>U#!*ba@=I|_kzomM0jf8*~|L2OUufT<_qNy zZc9*ye%KjLJm%h!5Lfx&o`+2`Q+Wm$73)t<>OcEl9TKf7Pb5u2Uukezp<|?en8iEw z%J6{z&Jf1EbfHUf^4OQeFM6@G)LS+cj{6o_>G9-W1{@#IV$n%K{Ph-H7CM=xgOd{b zms)x}`S)_5$hj?O^TX8!x-D3X9fM2prS2P|FUkVptExc?Z?7m5Mwc>`$c0j~)$(bW z?HK77pzb5BED)uN6$rPuC+R+SN2cKqy>kzP#wm2j7cuWUIgq4p(DALyIO;^9?$A;e z8yZ`ix+V;-s9s7RR|_-g9)MUdmlY*0Hp=xXafONJRH&+zC&V~FYj-z%WU2WFwP-@oj>;NP+1+eb=H^MpWI-Z?YUuxhwYXx1~Q zG^lq_>E+sd2qx9B>AG;-(L5*b7uw`f!^-EJg{Zskc`_qTDq>+=%!F8C*2o3vc7?Bw z1oP!SDGqqSS*&u<3x3{R(B6*W{=#);0XzHNq-G=9_)WEn3gx6I=K7AYIZq3YFx^kU z!|1Q>k1+Zp#WZT#U*zi>SyI)9S~jo@C;G2{**$b-d|t}pq?-G6PP;2wDl;?ehEw(D zKH9tMD~r5|in(L^JA3X94%=p$dBhfDrxq`KWRT$nJ`c7MLVWZ;@aj*gt!JC*zs(6^ zF^O3yTO07yfBC3Dk-9|7p*>tEWYkJ4#xhZ+J8a}r-=gAG5_fwaOli9%iXZY>z7;mi zEF!)+?)7ItQP8O6HZyI=UNJ6;dkZ&X&d_8Y`pjj{*DigfpSh={QSee{odOy1={)W8 zNTvN_or%_X#}(U8^-HKq3v5(Qpx@J-9uI*mtp|Yx$7evo55LOhQJujSr2@af#;Fs7 zz2Zwg;x%=H>lu}i&Z1&TUk=GQ$T%QV4|ht$p9(BMNl}mtqm}+;QL$6^XJ!2hdYSk# z2Cp&eTP*Sgg?9~z^)_3YnyL20m2+;6PwZF_WTEW0t_6mp8c0oYRM_5iqt=XSgR8I( zVO=w2l5PIiedM=j15D=2-dR&Ir;g5BG4gggGQI9wQm7Z=iINhg)HHy7GkcKtaOGt5 z)E3!rmnRIDN1UEjQNOLrVt*FXNCCL_<+hpfv|Lu0&+EfO z*(_(!xhj^zM{}J7KP`#(J=FJdoveuVe656tmnzci>*l*e4995G9E-b`Xq7q=ypEBD zl0Y1+Z8s9!CdjDTV!C=Q=5DT@r_3U|jn(6b>5(0$7`Bjw>7;7QZ&6{78CS#pIjnGz8@SSkRiG6V?5f$8vC6?`sL~IQ(W&zFYvC4 z)Qe-YuDDSi2T#p$cb}0xm_)6Hz=!WkvXy1AH>S)WAS6NF%Rc-#wYL*0U$5|gK6M;L zl(rMFM@T*o^z0*FnZ~PY7!YH2&y4%lFzD%T?7VN2?`D$}GOvrv;8-nP6>uZoAiR#| z$zk8+c0#e@dQ@fg{-NoOC4p0HF&2& z4{4GpX;dH0CMt=0cS;7I0XJ*?w8TZr3NK7R2OF|-8%T6~E+QRf8zTp2d_-Wy0*Bl< z!7p5Ebsa1|hG3>;vISzA%74+mGqnB)Lk}@^O&;dQhV0O*>UZHL9$WP)+?LJqFi{QY z7{3`cOgcWM;h5os>Xma#afarZz}Vw(6ZjWOSBolq4}|j|Ni(*`%KOq=(+P+!DP+kU z-PI;bdzel|Kp{7ezt_hv(F>l~?7)X9h~BGorhIo zsaa0iEiA%n(Zk|?4kmlkSHl`|lg70xr+bKB9o3!E20ug^KISwXzQ?*hPc(~Nxn#?H zTpO)yf|QdCZP0zybWLKn87;U{}8)STVA*jn_x|{XH(5cIJCU0l6 ztq%{G@tG>)i_ z8m3G;+s!A0>E%wYQKSkd&ReXvcB&mZ9FH1&xPGPNax?+s7wn*U##{mO>t7u&UGjp- zB@EL+W#r)%UktlCr zu7)5Up(&g2@zUx=cPu%AIko7 z;dk%xjbD6xU7AX6yjkHA%s|3#AC5m8QNHdq{o(`iZj(Rp9^F->Lz@K2$ey=yZK0se z==TUtxo=9H`>*VN5S47;TnLntruq7M0Amq%_G6zM`9AdX<|tkB z8E|FpnG|v?-($7OYq7p!uzA0NuT#7?aQoh1ZhiOzcJ2gfzH98H8xP!hCk#%nIyzKz z^ww((={xzUS+R2qc^|Rw3H5B1W)~ccd8TI3;+;HiAV&!yb+_*9+sCx4BPUv@vNIg= z$8~!gU;599)WwBNGv@Iz4P5W5%f0);faKj7Aan+hi}B9R;DX*v#~c*fLm#dkoGMeF zD*vf0;UNihqQ{Pl>M&b#A_&SG&-59K(&XD|QyZnY7#D50is?{vJ!q9W5MZ~Q^~Ep3LZd_ zEpWQibDq4FLw zWkf@osrjIpd1Y+A>m3SFi$Nmt(lz#@;1(sqB3-=~kQb8m_8xCg8hKhR2ddEU(A3i2 zfVmTQIA=$2o!R^p*_`|{*Xwf47olyUZLyVZesn>K`vMECj;DL+cW;zZoI3KgY{2$j z&OwkY&~?sZVIPsmS-f@MImwG>K$EoOY=Q)PWsJcf$`g^6IkeaJtkRt%2tsPP-%Yi_ z?xd^dv5rD!Mjkw;;cM)Ej1b#f8CG2uqLg*8IDrn+WiM>27qXnvoiJPbbQ~M_b<%Pn z?;dlY1h@7QLQb#y*dZKVh|v|GZkEKiGWA;zPFmkwx;y+(M3J+I(;}+mb-&^TMkhWA z5k$I2?VRM(EadYPs-e?cC}~3yI|0KxN-!?F$7Q9=dL9L){(SQB+Byf$fn<+M@W_iV z!YzW{W!Q9XuOz|lB~4EWP0?w;Gkf<<6=HfYVd!791m2>-sFR%}(x5?jz}1^>%%-`K zNKER;#SgP;$bL_`)=q0jwJMCgDX;BXY$TR1GUVj@%^OX}bP|ojKH_t)iUAMj2guS7 zC@rdst>b&?dQ!$b|5>&0$f3C)ri$l!VA#%5o3oh^qT6u;0*fm+ zP}A69>NUBa5CU(lah4m&V$o^?p+K@c{Dh1`7#;1ah@sbUCOV43sXZqT%<_vRmRG}Vd}R@@fOVweXAPvN9vGxLo(~}{S#`NyhD>S0B7zb z%)yTjnY!bLHA7GAHu%TQaE@c5FpN3}F9Pm%TpYzOOD1%6$gpyi#%O zW`@msI2?%xBTgC&UCXHmLp`ns_oXbudPf5T6UsKMyIr0nv^payGnQ-;$Elm&-xWCu zQ_Kq#&TV2=6wmcQTX|M$JgQ0`vQH?rIOU2=o&jr7-yUsxGPvPn1#L z@_`H53mwl-FI)Rl-#}K*<8Iv-WeKni+sW$IT4bu0I#&7kJUJhjB#-4~iW6asIeqA% zJ#S>)SXSa0ORhxWIrxJ7ngy#?QcRuE4C#~l#E4b>07F>CASeRnnGW)V-2J|r^L}6 zo%g&QS7|Qu;Nk;*ai{r6LtTxo5=dDFtPZlY!DCMuf0ex~wWuT1#(Ko*m*`j(c@om1~fy+k%`<-Q*p{6G$=-xzlEX7 z?N@hLQH*)3SC7g!gM6yu7(;EqA&ZLBxY)XJiomr~(MpD+UoZj>FLXc0iil2;%?|WV3%_XgmunpsWwRZiyYpSxIX0JNu z=3R-lMc;i|qe1WnBrbe$^f>aUmMORF+k@4}NBi#1GVgJ8^k;J2j zmPI_KN4Q@omO>AAIwU{&H}!=iih04BBd<(*FjpBEc1H_jG{!k&w%rUGK*`}NAQTlP^VJ|^WgALB(> zLai7^3wl5BU^`3n$9HAp5(u0|n<7KwuB3$wIJ)^~9Ht?g^e;f!^Fo{a2|tA;;B73@cu4(z2~md{3BU2N9+R2H#np5f1`7O}&CL3KrIjL1TGM+jA?4c89!(T5wd z&A^G*mS)#2?tMhm9ffHfs7>j~nu&jTK;32GpX4=%>v3_R*irEeplXPCkd?ZqgM?dl zjj6>EPR(2|XSKTHS9cKXBc5j|S{W!t zDKb<}ty8C*Jt^zxMjo$g7HnmvXvmXa#ZJUK&&VEd#CWXh!yITxr`J&NGI7Bq>?y_% z9Wv-@W1uDjl%q}2HDTVaLVi1v67E?N%YygGKT+b!8v`F!*eMP205Z^6NvDv=X;^T7 zXQJr6o&9XGvFG~N9?}x*YvFN2G$GIRw>l+qp7b zqeHy%w@{7hm={kiI_4QzWhV?Fme7gd{k)T4Ki1;NQ!?GiS2ePWuf8X99Vr_7DqZPLDq4Rp zaWDL;A?XUql_cHRK>pO#rTtqcMGYLM!*rOpA)zUZNPf6vV2xWzPK$HS_-bVy>xi)# zb{&Jv{V1B`Vm7Y1L6II;WI#w9%_Y|Mgfe^Xsil3N<$Oifdiq2C;bq_P$)gD3z(TFt zE4C@e6VMLzrOk1UCbyawlMUp9K0>a~YTzDI{ohQv8C0h|urE7Dlu!BK_PciZ2TWfX z^0^YZJq7+``lPjVh7sdz5%v^1DA^xgMOEc>k zMV6=R$XAHRUHAKw3@Qg*gX@PJ=nY?G4W|Hw9LIl{|tB` zNhO9i3k{vdsD<1(17x=3lF8Rdg;cgmFK!8cZjIurd5wRgapGN&QlZjdWzEctX$;EV zkGE~i)mp@yDjXV0GVEr*4sIoyDpBNv`;3TS6xq`L_?CN9WKhk*Vj;poYhVp!HaqC) zWKlP`TbsUOYtQ76C>Q8q5pHT*+RkVa69at<6S{_ZQ<3W`zQNK#qwDdm7%ktE9v5|^ zok%<4C4=dtuyJ2W_2)e`P<`kRH~sG)9m?z#rto6Z^t&y3HTfW7Chp{WLQhe=^O5)z zyCF03)rjr@0Ye!}=O?bd{I{k9-aX}0Xurd4Wb=d1QZsfkudp%ON6uJ{RnPY1E^;V^ z4KZCUUY5dKg;+>Vj>#lbu^*h_j6VY;`()*}7w~H@IO+Ig#8DJM=B}aG{6kU+eV)ui z$lB%xx9&DoR*Y*<6=f}ojW@g%C0%F4=B-1N*hNQNVM&O5tKuIU8)q%X9o)+ay_ z%)0GxOCyyjq5kWDlHF$aJ73itHDWTgIKwL@H-7MVdcU#_Eo`w@VTQTALx;wk|u>?bOS>d_h+F#NKS7Jrl<-CzeXL>mw(Sm@yi0 zT1UlA;I_4Toes<23f$qTAkF}IM|0oR`tZIGS6via19|_NBZH{@JJ^a(NWy}yvqugc z_|I8A8SUwp2K>Qo#?ui$ab*5{6Zl^mv5h<`Kf4{Q!VT}X9Pr#2H>z)PVC9;9q$ham z^l|JsL3lu)(&1z%gr^(f!Aw1%C(e<|&2O!}5$m#2)K}kUW5wDztyj5IqCXG%@(i=} z{4I@FQHFDNBJi!N8M%G=qgMM~E|xXa)Ng5pNeDc?ud zUV9onKL>kdj2L;v+4f^(bKHZ5!X$)W`ue+2ok^3}ScQ<*57C*XrxTHL3G$T6qsnn* zQ@hhgKQ>)0Yu)XQP&B;sVW-w@ zGc%*drMUTAVdbWD9JAp2@oU(5H<3w zbjVv&fAd(9fsk4WX?v+We`0XC<4xF$tRJ|lx;x)efWC4kQjZL!Ex*cQtG<)uG|R;M zw+`atITsC71gGgeUs25B1TZsBetmlJbK)rh1O;5v5KMPdV72b_L9$b-bh1KR6NE zaRKryZB2li{Gx!s$>YmaI%hv;lvpLZ}WUY*wbV5ZuIU+r)u*kf^gDF(uO?eH!97V>pNo{w5lW_cFHmfF^Q+EkS zSSgFBD=)#+9Y5lPO-T|l?=39DlSY&`T=G>aoga(gjE`R}JJyu|#2~+&J zmx`MAMDRG;y2y-Fwutv3TbQF(BcizZLLpR&idD{3#qn~OH!w$WUOpb+CH!zFCUiH~ z^mLqd{jq#)O(}hPJNnnehj(Tdb@eLC=hmS0@|R!@ zDbeoHR{H7I%X%w%t1e!Y;SyFISFpO6;9n@EhWh#(S}+GaF40PH>TF&z8%?a6X$84Mei6 z>2_{hbq>p_8F_I^ykxS+Cm-bg{FtAEKR-ffe`KgVfvzQ-YDijOOnFJACjvk6IbCZv zdC(>P#KVcX;J}3~^7^du{qnhFez}p`@8eYicLHlz{vnH9}A+#hj!p}1R> z48~#?yanf}>l64M*7}woTK7#<@e$tE7^ywIb_Ou+vd=B8&CN<)^|{lyB@w(urZ8~I z_hXu)T!l_YKll}-HhAqzo(*-hvOvyFFMdb3pef052vfQ>VLs)05)sR$hoLBq{8q5d#s+qsiKvY;Wz8S3a1`D%hCU22F9G2jz3`Qx^wH1nXsF&W*VThOQUx+qmr{D@P z;|de}e%t2R4%R#3%l&77F$6;v4kht0(Wt3KBs}Lf4?F|zjkshg7N@y23C>u?-R)TD zq^XSoMBjX^VrV)c6ZpzH&&H|&#qw%M&@WCd@I(^nXAeSQd8=nY8E)_gADS&Tk5pM? zeVUaKWp#Pk^RW&SQfo5s-*6|8Fl0oHVcA)9M|6*g5&3oa^-5MGe3pDlN3<(`qhpr4 zRX>%&P_A-(Z+`V^sQu!TZN9XyE1Cvu?aq~p3on_bxv`Au#9xSHeQ6;O^e{UZ=lVc3B#8!|SKaaV9eB3sM2^ z@-SW&4;7D*H9-mdZXogQj!58p9Je;yM&MR^GxyAdI?TUTDJWBYv}0!+MWQx&Xt$7@ zrtoM+!pV=cLR~HBQEt<8lD0!>Lw^1A(weRibq$i>Va_GRn-lJ}(aQ&}JCe-)Hc%Q5 z<)%i2w&Y7UFT=L__y9ALY@|dd?ITA1F`c`2TDu+f?k5$zdzakaD0&9WmL@b%p5#k# zB1tEjXoV1NS(!-g<|DVLd_`lAN`AeSgKMSAoJp}?3p(vTti5HvAB784u#XnXr;^Z! z(S8~}(mew{6Ul+6Kz^AkUw71>l2Xf zM>dxlVa{6xExb8K3H6zMN%l)ZsaFIVN#w6r6vbR@Yv`nLAVYk>3afq)%BT1}>{#2* zIoFz0_v_<|AP%f@b(S-r7B4owgF47l)$w zzE(8jQI5{JeYiDgit%ymMq@h!XQx|EJ$32I*1J8CCuE9^o=!?Vx5i-)Ya>FJr^Nf- z_vE+DS&H&P>jD>-KTMxiKz#jnCM0LW5^t>1U6UKTR@rn%7R;*udO=H6o1}!X&j!K{yxT zXYuF~Mlq}k>!K2ck2pmo%i5s3yU)Nu>g4XB&TgqlZ+h%>==%OP)U(#&m>orzdcUT8 z5C+G6DJE^^Ub5wuMGyyzs=mK)Nfkmr8)GB{j||fGyNcLrD+=F=nJ1sFrPSq|-rgR3 zNYYg`r(_^q9m5bL({-p7gGPuS)KDs$1K<6gm`dwf21&QNI{T}IN*m<@>6OaPQ1=yZ$|$}z zcllu?ATfLjMJ(+Me(>mMow*EpAL|$P1FC998bqyAm>Rbp46k)5I^6DIzhBxUW*U-A z)QinGR{<1cx~}=izL$#W;Ja&Q=d!%m-Dw~7GUxNfJ9b!H6H=VJSOG>6dXst64%2#) z8lIG~)hl10jMbhj#jdO|DLhK$a(_B%OT5#k^aaL=P31bN{AAxF@haBEeuWMImc8q} z;Yl!kAmR0GH(Bs&f8iXqf)i1MghkVA%+au&>M}>c;xpw?xMx$7izJ(K=grCwHJN4? z_3cvCP+Z7L&|SY^V?=}4D9x46MG2?0A1D%wex$mgz!cN{e7!k&!$XA9(L-3E*{XqM zNWhS>W5jDxG;F+nFO$l%VZ?%%L6#5ywC|RytHMx3U2x|zbV&}ch03K=sj9~1ou+Bh zgrc*ATk(g*nwX9L*)zaKJD!#&kJH3;rL1!5+i~zI0oh#gT{*-|J2$CK5W$|s@W9B* zA}bcbf~F@8q8o#g)ufO4<>wwRp^ifT=JB4&)?*d@V<&N6?y@|WgqMth(F&E;pXAx& zr)e@@#Azxti*N|zo#4!Qxw4wxu1|#RI=iDN53?*(v#q#o*XlRxqy`IcsavQxARnX!lW88!^fB-$e9CXo2^qpvD!Jr@PosU3=_lkdI2%!n_|!L- zZj*kjHj-6Q9Sj*~st?H*oj{GsakQmc&8{&;&8+9n-}oR`L8&Xt)X2DItYp;I4sktt za|V>c*7dg>^pW}gc5s6DF8Qh(cMKUHn1ydB%e85FY6!ydwQw-6*IgX@vgXH)Tx#FU zo1B;lv8|gRD5v&L;<-9vg&Ky=+>QiYcx8GqQUdyzK00G%o;)?d#No;2AiM*vPu~98 zV%!=?V?;vJ<2&KbP(_@9^eiCN zR&SEq#h=?z%rjD4KLgl4mw$R~AU5hKWICT)R8tXaZ$Q0R%Q(czvEG~K!dW<59TyLW zYZ_*Il1mXSAtM0FUCcT%xONzs{GdyrCa-(W%W;u7{O+V6If8>z*ET}Kh|uyo?ABJAI7s$LKwJWys zZm;+nvJ*~e?_-kvKFNpF<7ro=SaiwO8IVQ=K1{(Uocq1(&_B)}`V#5(1az}KJC3^% z+~cqZHC01mWF{3~;a{)cT5+C$@InL<-6F(pHF3U6!S7}NQXpov#dZeBe?%I8fVdOC zh_@VPzthK@ra0`AyvjiM4M(0$!6Xik{x$xoCA_Y;;u>$Es9Gg|MI+;W17#XvELq%v zf0D$~$r~T-Iqv7vx3?Nx`vf5cRO$IGw!93H+gH# z-JN!va^E@LGlZD%wy}9=vep`op8>DajFn3A6OPx_zlY-F_w;t9;CHQuW<+EjJi-R)`D4h|QLC(WomzyAp@_?o?r>sqk4UBAa^Be~MLUM!+pnVbyQDwK zP3#LVI`5mY-yC41fASi@jhQX}?0dJ_PXZYXuNG4QM+9FYN4RF7PH0K4MfoevV>jT+ z_AJh!qvxb&aa!@SGFVLG%(p{p0sZ>E4Ca9~JBDfxnn-&2cjv#Z#`x-tD?Uy9(P6+1Q5CjbxR9>cmKXyoKl_*A-nl9v&-%YT^##l z9pA)jM${mPkS+P>nVqG?p86lg^nmvcaKW!%lRjJ(pGP&N?x?) zTOM3?7gEO~awlo^jqvql?Yh`~SYb|>VYDi?q*muZ)_X9rzldYON8U?lx>M!a1HG{^ z-Za#1knZzgGC$yGShun|$!oe}bRSAqW|PEy5qY}#U~r(j{Rk2=7tb$HfJ`Ony406= z70)&_XOl}+L9Q4$$@Vdx<@B1FD}Ig=ns-=V#~oCO#;$&<$~d50btx({RfL25g42|0 zv%B`8)m$p!yyIwxp5k`DTIhr>Yx$MU4<}PagA4KdcdBBj>cfUP&Bq%v6dPk=yjK@} z3qdDiX2g6z(v0}J-b+Kfj4i(`8s-Qc98DsE&95;~ZXcyB4l*CUK8cguae)E-&wHf6G+GxyR%1l5CpIpu90?E$n`nMr*s3>ZQ4e z%%#Tr+Pz2Gt(>Y~+K6mjE~-PS^`F~}ku*h_e#KP-I) z`z;(?Y&*c27{mg6b+>Z%UnRizOVfU&P$9!}QS=D;kg^|y* zP*(VK37?{Pz(ZdmPc3|=S~T7+E4vY)`(u$pRcCu5k+(k5;3VF)9!nijl$L>nz$5-2 z%FZgPtuK7j!QG`ev{;Kf1PIa=cbDK!aCdKUDNwY*io3fP3GUV)#ob-o;WumkYt~%O zxjifU++^kK{pNYzuk}KHEkOG8RN+U95eBIonW#GYs`N|`(5yA~#t5VOWA}wpap)V^ zEk(XQ%#CEO%YcAeD%l6SBm+p!hRQn-K$MigwgRnO>@K|_*JKnGXK!pioV04c_g_pr zXe&I;3-BpvY*V1IfTxCpZ-(dqx>r#qTd0-&%jIGQ#E2K2_?EwavEh-{Gsn6rWd#jCB(SmM+3LaHZ;fjjnVki10mppE`(_|Z_I3i};C^0H9~m5= zSYMAji29c6I-b8scNOZd+@(|y4m-dP|jky_8+}@#>=|tjuaMXt;V8Mc=CB0ZTL&= zG7KhxSIl=*jdeiL4EF%8iTp0?(TjX)p^pu4F-k2no)y)TzH>-_?8++ATlU#pBTigK znKNh4j-c)=XS!VJEa!IbF~Hu-spRJyd!W^3fXfV^KL=gpY&8E8NqFO(vvHb8GV#Om zr4(_J?Txf_5;c%4;ZJ+{iTXxNm9$s3f1$tMdGoK=t+Gb~f_IXkmKb9Kp~0$B=|6yV z_0q{S2??@BSsD>T*+!CNFgo0ojP|NI)Vam}*O$@_D)Ts(JnafoR*qM8ZP8+WHOHf} zA|Z&UP_3P{;WXLT*!ZaRw)t3cYn)c{p0?VXMoIm5qe7+jomz9OIPb3&pD@uxXzX2e zx~OplR&^8w0~Q}7%EyDw${#xzO6X0^`ts(N=0Cs}dC-H-cDKgEWy%}2O-FsmYt%Lp zWK&HEwi6SzZMaOMh^5e~EY%xH;bBPv;LL}JMA8g)c?}fqz~UM^T`vdWf7iyV+1DF` z_&V|;#(oP8Gb2?A>s(nA^j2u;Prc68@&6&$6eQu?K=?~au&O(2^8JNi94GU_4~>S* zM=ZkBi}aoEO?PpKXO@#x)>up0mc=n1<6=rIkF&aSl}?q0mJKP)CJPm~lCgWNlf_%c za%nqj6JLcoHp(eQ=WqI7+X-f>&Q8`SW9*aOwSCQCz+3{9 zvgjgY<%MQTmOaj20$W&qsgqr;EFO?Cl}Rc-pAoh~`29MSEjf=*^DiCEW%ZOLK}Vd1 ztxcp>3{l(1WVppgQZ{xbg;v$(Lu&^{o*&o}u~R%I$tQicyBNR+X)Zzbf8J5kF}RGj zxUrg`F-CMv;Td3Fxe(lKj=vgZv~S=x6nvMjew_Vu=fIX6DION?RlF}jVxm#Abun=` zH(n~bC_Y!v<9sty$Jo{S>hbT5HLkY#>mcIcjpcGn3f7>)UI7fw?DE)KQLC)dBe=S) zSHaqH!6+8j%J0i%@?n~cO0zVz37q2_@qfQx1?W!zd@O8SY)pJy99%*Id?K><6lA2N zWZd+O)bE9PL83rjAwdaQ17(TNI#Pl{st#&8#%9(w)?!L7KF${22A0<5|1E+*KuAbN zLdHo!!D;?c=%e}n_w~O8+gHCl7zyFs{|L7Iuk{)L#Q#L%|B<3!OIZFBhF`ttfBgW^ zs~7z$MkAsiqP)t{sQ+~xAp%}K;{UX06ry)(raUghA78a-RC;xiTHfC24Zc?^`uu`H z<5SYi>&MCekDvU1*ZxmKMn-wP#X#`iz1P)W9}ak}X?eX62oMS1B5_NqArqOtBj$1W zf9>Db|7l7s7JfL31e?ESLTfd{_HoP_2+alU~-OEys zhc8*$&wGbAtmts~ic5xIyo{WR)ad!_b!76HTG65my`B^!YHO`Vz1veiixJWi~6s!tw1n;`v-qo_Gz21pRLD9Eop&d2px<6vH>xh?N z*h-F?n>BQh#Lwz`2E^I&jf}RVw*u)MWod~<7cWHvSD9f|sT9v#;c}ME`XvZ#*oQ7kb+gU5=I11F_ z6Mj$QOoay(B#d(8^hC`!zfV8^esH%#Z>+gNqy6r|Gx)PUL9kdNl(V>_4Mm>P&(+=$ zfqKLLlafO(TcJvUNywUWosYGWb+w$sfW4R=+}AxR4K6wu(5`~i%0;1w{g;6Y?WoCO2I;&%Ek6Q&tyIoTu zxzP{z>i3qDNC42h6;fy0q`hS3jkcx}fjK|aw$TwEvBqwNV6C(vg6KvHHq`wGNKj{T zO3ChIE;(I-`x1X~KJ62wdH0vLlvH=z+#Dx~cj1Hb(;JUy&#QQsC~#&!Q=uk{i|C)l zq_)$nMLThVl+R1~qI-8~8obB+Tvk*p%?-+hT4*e~TS-<8k8OOZZ+y>lsD?L^fl*yA zIrZc6N=^18@y?xNd%p|nwU;o7=$SX&8`|I=xRk>tDgg7?PhiVH1**Z+DEOY>e2Q|jzld{%g`|2Tc7}dOOIz(Y%#AOjmXf3GLVkEhJyT`llZ!mgx zGI}ySyQfONHXudao_?Dho%R&IQY}G>CZjg1DLS`SVDW_4QTgd-&83z-^7gtp5%pD9 zp`7yJsdEVaw_HDq0h><1${$O#mrZS>>wyX2s%aD?vWNwDt|MYIAuC&Tf2KA#uY>DUeTn!^! zxg!;bEA3jzNXfO;CeVT!aDJWjh5i7y?osb$KLlvk1(G-ZK4$4LjbJo$(vPrK)y^M+ z*$jh81a%9ZanI$4ZW^U{kI_2*h-KXN0U`5{5)|=_RwlCwpYe8}=^)doLn`ueI}!kI zl%@V<2bm^dFEGendsfmRs@oYZEpd0BaKIN;EWWzj@_Y^5X-&f{PMon{lgEzxy{>G` zoM!ZMl)n0eT1=giID1NYycA?-3cbZHPZ)a7LO#z(sa^TI0&w{tv+YkQP|607EN1SS0-SS}31C zI{QZdww4YBd25Rhsko}bH!H%xuUD6R@J6GVwgJ(B9AyX;Of(CeEaE$fF;{Et0mN1V z-^sI^Z$7uK97nQf z=!1@Nk1zbiAoe|SwrmWeisWM1Qizs}LAJ0gykJO+ebPXluTfS{*37qmB+^@Zc;Tn zae74pCy2p90KF8mP8?i=QcGvIInYny&xQT;mQDcpK%vmKL2LH2#ZB&lnTN)2w2r5i z&|y&3ql`M4&}(WX1UWTr{GOQOV^;)W!!lj}YhtDR!(*AXfda<7Y4-a@gU=NRn9Tb`m=Bq(@$if@5T+<13M92{; z<(v?enf0*KFQ>JxDwPL}y~D=rm_HEK6Tr#Aq-=?Es%5z5^?fXarl2IZPgjQF_C90! z!K67oWRw#*p~x4QooWz+r~g4Ru|0W`Np1FhU%NSd$Qt6|xI-t8#!Ft-^GS^Qx`}(t z*^@iyzsQ>2&tAiM7H>Jzf|;3*el=JI&o+mb*n7?1HwJBg>*#)RA0 z-9JF$H%W17!r^JL-qBll*)Cpniv>$IKD ztA)W`KzjOW|i?8KQuI0Gz3Oi;Q|ozwk}pLx@o zIkWWFw6a`X_gqGUA>=z71np04WD4ZQPsM0g+;>TbWLG+OQn@Rm|_M;c8+>}`W@#G|AC-hGz+^}wwo%vu$Fm>PRr zuO!(7z_ri7Ui%lD+A=PTUUUN3m1IE8PgAiKpHAeP_95Sjd}Re&@~ab9sw#qLz|W>5 zoM!w8l45{)MV;TZj6e!zZ@SwF?gGgOlmI)^qb8|!7vJ0HR6)SH{qf{Bt>v?B`v4fzWUEVyiJ2NUdzwKs}O zje1Z#)uB`K%5~qkGLqzk4BB7(4B;%TXJO1=MRUE32w^N-#_=LjXs-U$|js-1iB5O*1+mX)BuCvgPlgDlUla z(;--iGb&^&wgwKCAh*S(kA+d8rR~V(%pLeBwDB*W>k#N?G$RXXCu%|b--vO)v7Bkp zv||h-+AQIllclpK4m$e|6KXJPuZQZM(9AU4ao1>nDN9Z=%MI&2z|q3)8>7cs-c=z- z(^0cd)vSz)YcZ&zq`8nR_jKk>(xE~}V|%`V5i%DeySl*L_M(^@nq^9O;fPEIZpj~J zMmP?d0Wh!y@y87-_y}h0oK2#scZ#iM-YyG%~{G`BF zr@DaDb0QearqPk$7X(&5Mr8Bc3 z6gp$|9+a8o%b*IG^GK~%OW#I^Gp99MWBX=bSR(iciF@~*&{2>}$gF;a;+&P0ga+k{Y-Ijqr75fTSI&tIHX8&M97Yz4p9*u-kBKrZ08n zRnR|xs!h@0uj^A29*HA9N70sgaPh_(u0`}sILD16Z#$3uh9^l3tpgVt>Lc2p>=2Wk zRS6O^@W4fr&4iLWqg^0*CX`y{#ZmR=v$6#mGJM`xWYbxT;AeFg3GkXABo0Q*wzM0;;S( zTK@yw_dH1*pHmEvh*Temv=H8gF~^oS?oNibefx9@vm$zP@A2f^SbEogy@OoMrf3|K z>7x_>nk96#WAQ6B*JS9Ql`b7SR6fXN_b+r!ImkcB1(H7*3tuV(usZtJeesx-)tS@K z9Rc*;Wk+2%W|tLTM}s#SfD;2RMVuFRm)VZY*~NaiuO~lzj|Xe?-$&WZmK~fbe-W|o z4e4`XOa1q3j}R}av2H1cr9(8mwnmQ=R+Ev0(X+dFTI^i6P`us@F|WAzPG+sXu~Wnk==yHl|Io1^-y$PyLMir;MFgGHu`Yg-rGh)OW)}Yvehs)_4aro zEpvxx=te+u(s^Z-TWNW5y2X-~2=yxM`5Hmd_$IWsQNN9o-98}HlFyzFp1f}Jb~Uu1 zchqCamP$SQcn;7i7dRxhaY?HDn@Zr!5$W91w<_d;VwX{I zjw<9)u7;mHPggUh;hyvcW6C6-4Oc6JB!sBnR#l|&N35PD_^?{e zZfDD$@Kd0Ki{(?EXHnX5IF0JZ)=MFf!Ud5+{ghMmV?MB@Ag26PXLu0paLZ{bOg_H4 zcZ@A%sB<`6{>i_np($T$AuV3f?B}RnSW}$jhyK=vkE?v9M1smAJJ9D)#l2bYZ906f zlq`6;nVgE|?bp`IVWe1#NZ|{+686N5HD8N;E2O-aqA)|sNC`F zh}$37e>VR#sOniiC}BDL1AOohRYo&i`aAn^;o;?{*-^khKvZo&*F_NpDQ!kIU;Kqy zNuAvV=P~14-^Z;p^k%Zm*XN^Bv`;S~mhrA!$8im{JpGF4%)M>{)Arl7kLRlAe_zAh zUnq;?SNdKb>PvdSy(dWdw>`6`i@<5G>fMin)wq9v+8;D}2li{V;RCH8)34Ca2uS(p zQs#d@-36aJ`wbaLX~i=Lm?0rYNrk`LoyB-m zV^q)*l*V=bM5(~n*1ICDn{;)#U@VT$6iDz1vrzG&-l3GGHXrs^;tg9s2~9?H`0kLb z4~+@ojO@;Q`wdN9ssyi=S72yvccCT20Cq@x#z-ObT~>l77l}ac zSGN}p>>n;7!MxHVrkmuOA+gs`_gU^;T!DTJf+^iDFwwGC>nfg`Xx1pQ5XUbg0gXE* z&SM{%|K3x`KB!@5t}P&{w2@NwK*QP*fxbgMjkO?9oGZQfm0IyyB7b#Q(4TKiiJ;e0 zP1^GZONp^tv^=(`B&+Qh<(yXykccvu3=b3ANm{j-L%&zB59eJKt_-N~cv4sR>|;Q_ z?2UP{$S76ATiLYj_3K!);&!FoCVEnY3=h7R^7y0ywQv&Lco)91SX8pWi{hVyiBTxr z-E4ltI|LZ}&54{tV$*TqMl*~&q|aiwE@Sm_AU85J_{XUhU9~Vi7GMObZX6eW@fyA( z^==D~g&Du7Hu;xoZrDf5-H$4&yc|W$*;mY}J(mc{c`qaZZ^pBYC~VCBCp; zpsKnp@N+RYMy{J7WQ~b%_V=-6nrgFijlphXdB}JTGUvWwL*?nx&4Lw^@>}9;*z20c z-x$rJ6kNtB+eyj=n(?-OoF}f~EIu$A2y_ovF0HIs9b)b1NCRBSCFR)I;`S0o_?uq;&3o zjiiW#D5ZfsbS4i-Oish1dbX0TZ(rktB2&#%0B+YMWHa=M+`hQOH3#qNjhI>ZEvl_3 z2MoC$rT6LeITi*iDT@tMp|IMpTEKJPiSWG5b$LqT?~x~L>29oz1v+f>+u@AA!{zZf z$UfR(tKKP4+uGCFyiH-2>v^aA6!WkN7koQ@x#y=MHPgAa)9rICk&3DAKX8E)YA{H9K*^oK1*c zoX0i}ddp0t)K0$o`)47LE0nUhtPHfsZ#D?49u~8kF(C?m|n5{kQ1P zqR2-V%72?{^p70o&=Javy`4wU1={bSF|m-y1C4TV=^{ZB<{AT26kpA{exd@$M%Ks^ zD!Y(1FPe+x>`b%|`oS9go6BLz=7E=MgGkdZK=B6IHbP}(v8lWi$b|51#$~0f`9v$) z0`6xdI}Y;I1UO1oZ9^#cnu${l)HlI@RJgm2+|X|i@ZpOJfjKNKXW<>gMd4oM<@_e_9)v%4?|Z~j!f(y+>Vy0t+&?!aoZlZT%k*LvMLMMOmw6GSPj5)2R;=zz!lN2B z+lX$Gq#~f6@pkOiC<>6`7tzvXXnp~0!JppoO|F=!&5HT-FSnN-DjwZ4heDoBn~8Q* zadEzQJShm&cM5fXak?a&NQ*bVj`t2vIL~G*nTf%|gqDb%<0K)nBvJ%TeUQ(aI8C}; z7#~gs;F?ri#|vi&>Tn**Tnb$8T2Rzp_tJDkSz!AqF`+w1UYBedXEZntzV=6>+Bpwm z)4Ze17>j)%3lnkaP0K0X{6t{bhJ@LC$hXH2mo^!fidVN-=&OE$l`Zgb)cigK`Sum% z1p_uB#&l8ElZP_3kwl%}_4u)KY#^CWO7mO7YU({ zy-6`)ygxus6MGgwXNKM-4zYh10`8kRZI^w-+{Dp!BA=ukYm;RDrdV7O??VI@3wa)I zVL=-L?HUcR9w5^^OKk6F9^fsbw<(sk<>q=$MCKdIHIT6U+Y`Tda zG2i75UnW&;3eVfqtm9@CCfiCGwUxm*_Z(AG?aaGEX6NpptI_O7kQ{yj$04z|D8Lt_ zE&r=gSz6V}Ydij)V#PA}KFen(a|^iQt=e+TzzQW8OA+E2>r29TauXJY5NXKLg~X#j zWYqn|cANIOae{D09r|mf^N#EY zBP>pPm6=~DDxBJ^=rXryx7V|qqIaP$SUEz~#V~?JWyi^B!7k&z)W|_go*?WSlc!Zh z$WZp5fq#JF_Y2|8a?wsl$CPKHeg_=o`fZ?(nR?IU#bN9p#OEGM17=XLS$3ui$~^V@`;6y@geQOWWRS+_NoxPEn?Xb4XG>0 z_Q3s7xNOD;J%Q1bQm`shQ3@%k?k@;y}SbsAt~rB;z$6kRZyu5>|(h{QW5IUAJZki>qGI!0?3 zK;n$sQMvHI&6i6pP(9iN25|U?=tVqoO)-%TMXZ40GC&ufrzLX<<00!G)l-IXJ$|Im&GlTGVxs{r=)Cvmyui1ik8LeKnn-C@&Cewh4rFgdPqs~Bk zY-bRx12>n&m$Zf)V>@}w{3G$Z-)14lGCpx8+t z#!=nCE6TgC{Eqe?dSHR)A8T4Cg^sv|7i!ch=TP9OwX1_JW0;q++g#gL)?@E_h}|C& zY_81>!6yODoFXbN>dK!o#{^9zgL20t|#}jd3v<6T`ey{ZbM) z3^NsFj_=F{Zv6?L#krZ^M{6F=P8;-?G(=J<+*1oGRJo5oA)et#=(+Z*Fm1V1*>w|< zJ0h>kIIqT-zGq6QG|LMfg|Gd&&X#$M8BBJn$fE8YEt#;WKIzEx)xXZt()_q#f-t5=0e*v7V{3|s^JrX*jAP52)*=M z1pJ`%z6m)El)DbC)|8!--Blhse^g) zsNy5?j4B(mM|Aq}>ei^j90(a@a`yF$KkvjSz4ki`M3a=Qzw3JP{5ewLyyCe3QR1kd zBQsOEX6`9EvG*)}bY4q-fS-Yzj7OuWvI$sQFO;Id1-PR^C%NE%tSll)qHPR?E(N$AcEi7uGS{J8BuTzKWl*)=~29FNINcNPe z@Yf(G1(>?p1e5clj0XRPSrbZ%-3>IBMj~V0c3|Eo;LVc6fxALc{g|{#zbALSdtX~8 zUCpB=>Pg6q3qNu64TfRN{6(TjOu$B+LERHqw4It$uQOIyVn{HP?_PFivcl_YhXZM+ zDS671;713e$6JatjNdIkromP-?2?aOVT<>14ZCIE=3Isyy9>In#%{A$Iz2P^7ETld zw_=f!ur&=7NGyjzyl{u3hO9j{6_*9V=--rM%}VA~B4JUxtxiR|p?nl+eU+rb*&A{M zCjvP}sq@?WS)Np>ORjDd`TaNiCK@G>Bek#6WleI+_jX;+_`pC%YZKm^!wYT(ea9a4iSr4Zv=tT9+OX&p zOhLY^zTWg;UD!jNl!VbYABYAvt!ibODF0mK@TQFV%ee0^heX#JMPD+h_hTVIa4h9y zSvL<4^pm|BiJ_*4+L{(zSw8#^aB*o6|AM@OV^s9*KQJ8G%DVcowiOC1nr%O<5_os% zz2b-dxNoECFjwn}D#r{^VJ-ZdyNHw^Jw4~JYp1q_q-V5hE}Zw=vi^70FL7cOSaR{g z10l1u{iM6j?byxb@FMAlr=X#GM>P@P>x9`{cz-`ZS3PU9Uz*`yExy_E58y`W5{uN& zFIUp+r|VGPPLs$tDo7tc^Nms^*FzM2{yOXRXw;r=O+HNYM$dY<7A)d+Y;vZtNcN5j zf^MuwbxU0&)gHe{4(r(AGJ_{%MF$fu@^*Y%_`!lA@6-i zsdq9m$q02*40Bi$cK|+}lI<~!t;#gpY4}-uAMz`6h zwuUpetO&C04AhL_C0%LFK~E@^M2_q>6%10a;MQkeo9WIG_}#eX>#w&l0S0~_9he<8 zgGHWTrA3(&SBH+j575dvUC=;`+ynhn;)Hm%W}cKf^o~;q)O(*4N_?lAF3H^5+>UmF zLCnVT*Iy}@S%hFdIraMvB=0w5r5R$^b-lB4`taCQsQkR3W&Gt@1)3pK@mbh*Dpj?s zX`?%llzLs+pkiegviYC9zSm|02fc$<2c`|LlqDyCfZ|f?`}Voa4mXaJoJI<#uMVtK z4+lJrW6MRx z`Es&J(DFj|``(5;kqKy-h6568808`LE|vDw0@?W|gs72d9Y15%9777`-t$wp9^+z@ z=9SLsr|_q~2`bcbwY*TW#qmgz5bYPouzZXmhNDQeAaB3EUC1ceKbC%znUfqQJU!pc zRP)UKH35=wnK;Yo$WqEt$n~~LYWE;zFRa&l^bNdxR)x1El`N1TQ7a=;`~DCWOW+FI zUE{$xro$~)D;YNH_k#M?xqXY$(^|1_cNAB*TGWt}7SL;zn^?*(0m5{dN=`Oi_vpb& z;0giVM%7;8i$sbUTXkq{U+du@=g*nw@H?97+gSKmGoxbRCmNNS?0BnOG2WL-kflNB z9*RuE&H;-Zhhct~+-;UPY1O#-+Y&svSG8gxO}T*yjm za<;+Dy!CqJXqs1bVrRV&}H^0qhSNz8dFwXFBu^r zBquL;hP>f861@y7g95CXb&6{p#FyNad!n-M?+OZIN|_;-j3;KO2$MdthywZ=Mt`j? z4iQ}^XFm~}tF6ZM6=2pQEoRIutDP6l=^0T$x0TJajxo=Ri_8bF4u4cK_S&)Z@MdRF zGlJTaDTO^UXB%zH)O;T)W5Qrv zialGPxKGTGuXSY2e6X|RD++LwbZA6?V;B+ZD=?eKxGIb|og#cP*H(m}4ILj+OJo4GaKP`6vbhN;7Z`hI(Y z-GlWI#o`2n!1G6oCJ*fJ$z_iyu5=Ex2*T{M%XXXl2;nDHD}qm85d}*^7rolXpH$M( zY-h{GGGHnrtl(|{%5``owPPumvOar|K=f%?p#H<_2*CxeCVF6P*_s4g=xohu{83ku zU*Lyknu)VCn(RW3o>!_q3^^_g3*PjskV1y2FH4CPhfaT;pH zU}`RvF$hwV*QM~U}1}`(H!&pG0Cli+bni^ykEI6M`Q_>%FMXYRznH#27#nMstUyA z?|(fJy!V8EXhE=qEFC1ypuX_SC_^;i6+X-TEX{X#qBNGey*0U889ca<{f7CaLRL@F z7mb|lWvyG?>l}8uNqgnBtOc0W5DPBa*jgj$345e)iV*a1Q)>}3OPvyn*B(H{!NYXD zMpx-D0$EwOXvq%7fQ{B4lMQcWREiZ3HM?QQnj^aH-q0(GQ+t znq>ta&uRvQSD4_7_OT%{S-hJGnhFYb}gk6wwz)R6~#lFZ*P>eoikVCj2!t9#R z9OlW&0(F(Zi8)k8AY_Jdv&4SpyGF!evCyu&Ov)T{N~LczfFyD_Q~-KHhj78t^Vi&` z^-s3jhx%T+6DV6;_FN|Ecm3Z{^vv@;F`b7!NU`sGHcfKtdKyrH`*^y78ekIBP~j-H zIWqP(=sU#Tpr|A*e88A4t?Dr&Q{CYKq}-uw)dkhFQogsY|B`X?li6ms?3UO}$2^ei zXw98Z*gXihZIRkr?bK?q*R9A}XVr!ri!;d{`lj-8rxZie-3xI4bo^>NJ>~rGA&c+iqrfQZAX+GR9JR?Uyw8#SZCY)e_tI+>$=< zXx%NP<-U$`2DSL?Fb$kL288{g+PcXytd2$e+)#p)3Z!2HA73z9MHYI$CP#@4J=)_^ z%UND{FCvP^L^%yvLR9Fp0~7OyC@Da-DV+SgvAqNPy0#N*X}b89eQTd_?>-c97s7cR zC5Xh|;gi&@+teo&D*DFfL%?YR9WN6Tv?F z?;zK)5Z?6@Zhi7bW1FFK%iic)XKO_v0f35RhRH-#eo1bjj*r4^c93SO?H|O;`z_aG zkyLYiC7W&a;<>&nT2r8Y;k4~iiFIo`V1*6l9IvxGp=_mch3?}Y5_0k(d|`cpoy|Ef z&GR21$c9Ids&+VTX~DLHudS4{#Qu)J^g1~TQiq`dQ)542bDK(>94pv?t+_*{S(a$# zu2`P$#Z|`YAw;u>6cIyW$#atU21#g0+4PT{EC(DbWo)IbX+t$;jsR~rYr=e@evx>g``(BLo>|o^| z2Q+0dU*`(Lg8R5R-?YIY+MjVF!jYwIC6(lK_w$LYvAKK*e;?3D@h#YK4tQ*dKBNCl z`)sWIq2@88DTQ@*kGIjG(N@C+Gxu-u#PX)6SpB$0EEND$EDC+CDxlxUm$N&rw;9yg zbpP;N2N>FY z@=5*O!C8O=%;?QLVLR;ab@y$Wg$%6v?7r@et^LSt$v#SwA7byCGbygaQXY+o;FSSz zScNXe@)Vm`(wycJ+WhdO-WXWF9VxF5H{A1CEZYB*vY~>OYmOQkYmbom^>G^7Ch-b}HBY99Jtf z_UiH=-m;C&>{&)hs#pmu*+aM6?;Zy0*u9~9)NS%NTobr!E6yeqPh^jp=DSLFnO_6V zQK&=Khl{WmSa88PrpShWnx>z}zHo)sUvQ)s8o1NZ1{U9ClITEdCIhWPLza{PpnQ#Y z`0ZQ(Do^}JnJbO?8&0&pwO-C)*~P_UmCS{!4~&ITv-wa3&XBXnx+P`qB)?xD=-i@; z^sRMhRUe3A@+7VDb*xqG`wv%gL*=ijt$BMjg#Bo#?S;PC91t7t(x{jSM=F-R_Cnw+ zZ2^(EQ&gLIxv9l%$LGA`JamU81jPK@V-iV9<~7^$%ucICxh;=a)i(K-vh~{mf52N* ze#(xORZW|Y|8emrXoimSwMeYl*5V>93uFPtX~iVdb|@enGDMcx7N9|r5byxQ0R^I% zm`a7Ph##niM1H{SbmEc-)64zQdYeg7;}Bht#2qUmKFg0GlRhMDO};J1yo=mO`l`Ej zzsF?y^u2U3mMaSfFM?XWUGR0v*A>zHL1vsp!FqOwLfQ#JC0S_SB{pmZrdnWeN|P%R zf8|v0EEYH9Fi?XF+Bhi2%r@yWr&1bL|60-LSk`vLP{f50oq#JK06*3?o%ai&2_UG{ z-=QaCKsX~kS5VpdA(}?`Hz4@ntLBkB#7?ynNKG%d+1%91T2VGfX`?Fi?!#u6$$Z-q zs@u0fdiQ;rL)LjZ^nJ0!KLmWf?^fKnwu=me0NCHGQ|7(nt8RN;b6vh}^5xT6`F_Z|^HvDaO|R4P`(5~4*VB^I3hx4kHLF%PcUJIra{ux4uI)A6 zu6As$Te1+a&%z~g-uDOxPw7irvuJkGFhK7$0z~3&CIVk_KPl0FbzYjllS{!vgKOGp zl-msolqHzFD^h=JtL~MI|MrA7Uls0zW2)DuyTlA`xjJUW_{q=YJk+Wg#iG02YK z(2b83DVfkvB?D5juflyI|7DhRHH2?kp$erbEQF&&5Gnn2FpaE}(%bI4UmANQH|lR_ z#xrspXf%Id2GX(4A;sgJ;B+G~aJ?|qX4!BsZV@pqlVdHenXXNapdy>ulcc{N#YY>{ zYXnCTzpZ(?##eS^1kWIV9(dn9*)8~BYepFMRI70?C+TuD-5BJ&&?n<`jj$=k=B>wX zV%N`Y{Mx9U%C2J{wSCv)MN{B{-3ACB#1s2F)s>=lMo=2I(Y(?Ayh)w@mds2Ngq;@y zCT<0N@9*IMxX+>*peRV?KXxBqG%($@CW!sYt1wErL&{tZ0Gp^z#(c!uZ_`b3A{#TU zW@nof!(7Pi@Jwm-Yh&Huc4{w`{9mvyW)#qHH*_9d`SqBCDu0x6$Gxqp#(6itx+_>H zqX7&XdyN)5u~!22j1^qx3rsz9A>LxyvqWe5_2`aT3r&y8bI%zkm=PC&?+V@n5@G!U zb%hIpo5YonH#21G9dEw2u{K5|3Ed`5dSefk=QTmFGWI{!JMBHdFI+5IEMF$}7E71N#tC-|t{|sE9(91rp})Bx}4ZbD*x+Y}i5+~|P3V20`7fSq-k`_!8Z zNjC}}2~=G~8wL<|sbzUl3{#}?dT0r(G400|-IOXz+0g6{?c znT+5CZ7OEv$uS`H&y_&3Q0qo9(cnFZlJ?3~VZU@sg$KQEKduDM7N7*$1`2MW5|hJS ze|)?IJO%7T;|Js6Co>r^nwFxwb_9Nt8@0%mgu$tD+(_E_#m+{|7>UPHk-v$IYUAdG zY+|k?=wQX~YN9@gmO+0f$PLBpCqP*j1UVMgpRvvHh1;s#G<>7;XW-j_?x<3`QF=sl>dml1Uqk8C zRAZU6A;z+k&g?!O zKMMVcuc44XKQjN|+h>~g*KNuU;&*sCYlBt_Di&7)9|+>+gYX*0_m;s2(=7HK)rGkXdozdv%ioc8bCCqvrQN;wrBEthYi z;{O_SJDBzZfIyC6)rSl9$QZPi^;SMr-=W|BgomZL-hxDJF_OM*<{)z?L5WP2}u1ekhUWnRCbhw=u*RQ8P8DFX2>${`aFDr+S(aS=UrW~JD8}1OD zCbnqK82}=?iWlSvIIV~D!XQ>i`ZsjR`C5W8FQrW{+cN$VvQ$}+@Xyz&@gcKZ?YWhU2I$#sM^WNgTz1U%^dU7|ue;RsJL z0C#4V-a$W@Axeq9IPH}eyfCuo`ygGyeri~PH{k-i1&EVoAfNfAo75+d<%i#2giZ*Zu<^#A3m>kMj*+i83iQ`KwmRwf+g z>y~sJg(A)unlBKPJ##i0HH4Wl*`&=o@z6FMCxzD+@N#hl?jiz6?01?%!4+PTxpjxs z5QFGNHpY*y4ca3}TsOGfCp0+yLnS%~YRxpWdHLs8Wiv|~O*JNOKw?2V9NPwqVhg{r zr`1yp#!x<|kTa8$#oJxq?MITLylo>G;%$BrG5UjT#~tPnA#MtLv2rqMNZhW(Y^?RK zng&YtafuE3o*m+$In zWXH9FuI3O*5&tw2U<*&9qF(-jBdimvQMUX~JGTpBRcsaIL?R=FR z`pacnYeNHaz-^V1l%8zCLEGAA$l)P!I~N_^w|9zSYhGHV&&p|()CeG#-WT)hgQ@^7 z-|O3Bt$%=51gj538-9(Q70CDYtO0acyMe2TzUs(k;**k15NcqA2%t-=~hWtg$ECxW6KnhqwZ&t z$RobT@bwCanPJ7{Xf=!|&Fu{^{B_EKVvpi**{{+D2L{Ju#eqye2)PIS(#@Ey>W5e? zd4#Yi%h)xlcne^b2sQgF0H~hxjmyM-cHwAWL}jdPVD}dq!>;bWX^xT^b|S3XhRx&( zyN)SpbyO}&eFPMo#)F-awd82|$7VR0C*cagkJ4+dHBHt$d~kXS`x^f%7Sh!k3GsV? zY{eHWlUw?SkcIh$~-XvZg56Yz$1`qhL%C&m4)6tVfteJ_l$-LMu=}IURmsc4aZ~+ELB48#ru& zJ)tVCU4x#Zfd_NCSXookk_nlwS5qMYTh08V-efgZLd$G$cqeH6Arg~Ag17*ll2V4T zUJnI%A2F?G^yu726p=o02Go|irQ z7=H_`s?uz6h75BVb@r6J9ws%{0@i5j)>abD!v`R*Q5&O9nq4J&bk5Wm$?x+rypb4x zd5)}x1+)=@I?gpd8YuCRu|K!8x^d9-Kkqw$OJWsC@6u=dlY7x$O{5G7U|)ftxKnpJD9|u3Dfw%TfR*u!-_>WV&WHi+}`I z#4n)l*a7(hfxh)3W6fFI4zaVK4aC^LVe_QQ5<3ofdd_n zSZs4Jz@FF=SQlV3AY5|@;3(s-yb&bykyd!=%)xA#2r{~KgkNboOp<-%?F+4|mFQ-C zq;}l6SNR!JGnrypQprnQSw|qQ-1dXSb+KUD`Nv{AMC?YX%D3o!=A5j@t1`sQ(uwGD zT&bcaOp38ICNs>?Fg2MoC`r-;VaFJY+rMcAxb}x80@2)v7g1uM9CU>cb+4pg^9cYq z)I5e%Oq1+l8eJ$`%CIGr=RXsw4kGJiPpUf~*1u5qlEEzBU4E6^bJ7`3R1?--;CdK4 zty*g?=YasTvEUYA?Wpx2Fq{o8p>;KHQI2tl_J>jUZC!RAfZ+Y2`;Bwzy<;H@o}v$- zhpn=_9Edke{Uh|8cRtE?bDte0O4vm_JezHxX-|YcOFiC;0tfH2iQye@0Wf{ zKg8qX{GV0;04B0e5kUB{!8tjMBjoj$;`y!XnV)QR&KXY2Iet5ChN?!A2r`FJb~cbvtrso+i5tYto>1ZS=} z{pH%SNNK=Rj<8lMW8!ELXe@*`-fK7>r6BwnrfEk|4;;)kaT#PGJ%yVyaOrXSvi7JH<%V?TbXi?5Hh?dmzk1e%njyo_4FM*zIAVn$ESJK z%;$KG7ujmPV;~MO+Gnq#0i@O2P3c|73-j|B@p}QKRahQ!K#6K}wz-A`wT)lK;FlPpkZ~Zj06trp-{Jl@%X7Is zJijMg{R6DLS3ppGP5#ksC@$XvshQQ;P1dzup>iB#eLra4kq4z$r29V~*VZ#;a&m;@ zC-;l^hOH>3%UQ8qV89B(Be%+;%`#$?|>QX*L10s{S9L!OvE9iexn0BRD7pUZWLVXrx z!RIq13ru)y`3tRXy{ed6b&frylJ>PnR7Kg?i- z80k3vX%M4T#thu7SnSO~mYN5N*~OzWW#(j<88W5HFf19Y%u5hAnMBAWfs-m|iADuW z60tfy4Wh4AcIRM19PIc10JP1xvTJ@H;d{Wo@tluJ5ym~tb-WuzVcgnUvO9&r{wHB+ z0CUz^tah0H0Bf)K;n(1lRjaE}QL!Gj-GJO5xSeI`HdFP0e4~+`J4tz09_=-nU1Nl; zjVyO51337N>25W@KS}B%nFs3cHRU55FbCMiJ5IfO3Ea^8my}`8$d1@@yhZHO{{UpD zbG0B~cITcV{h#X{-Ia(_BHs<<77l>>8 z^W@Zjw!KgJANof#^7MSOeL}t~ZQduSz<)1Jhtj>z$((InUxs~|CnGsM=W?2!&Q(bs z^FAZt&32fnP#>zC^fOiGyu7;^l6d%%#CqJLsa73~r5WqYj$%}$xyC@2-1VIe6(Mxj zTEo()RDH}z)-VA4N^aSjae>6cHv^17hl4h@l>n(A!F86V6!mwDcq9h)J>aceXDfpi zk(+5BQV>-45q3f#W=;&S544;Qi3SMINs>fB$XtB^DIo_OyU7Rkj#bzO=bmRQ4;f+Ay5ts)eiJpEv<^O z^dc>Oq*dt(S&SCDR8oaRIA`j8gw3lSw?X|yq_)AQ)Y!D&j->ie>)8G0X+U9|_3u7a zT@K$$k`H;;@a<-+KrvRTz(2z|U)aeT*!mBaAnwz7smBaD8RuyJsJQ?aP>=GbX^vO@ zQ>8y$Hz(T$Q$`@ED#HYI64mj+=>cbt_*S5Lp44H`n#{#I{VmpPuJvX;1_;mSW^vb= z=vS!O$591fPdCl0jQvX}g>jWQFb>ST87sFl^kE+j))+QtG+(u_(baHfV?FbN5s@~4 zaR<6*&D-8-$Ht9w;b#Y3aJN(S0ExjTq%Vv3myuXX`LViue9k3e%Ns6pIrVnq-SF|_ zHPE+I)~Az3R=(}sp|pB1?laH7#2%MU)*KF<&$R2*i(2hb`p%L${GCYIRR|SE0G7%I zfEU3ffBKkr3JE49ZmD{^?M3Oh@Fm9ywO44V)vnv>Rvoj{MgIWNye~+G%Tpu&06Ul) zd~TF1C?@9q1m|Cp@U2@!fx)4`No)ipc<|4{R#49)uFJ@$}d!SqH zV(fDZa|6??T$3`=^EQMN1Sab|z#$lvG7ct&NRt`n4Mer8ZaRBI;ci^kaNpu!9eJ1p zs|;{p6oMuR_=QV@@Z2ANc^P|&0DuyGCxa~GJc&j@*O%HsCMT)qLChc%9SqkpRftD9 zl{9)mSjBizl42FPhCIQOYK)%qDo%2LX;6LGn+Gr%n^(b*7D=7bXE3Z?jf`=~6Pcv* zEY$8f+C9YTk(q#jNx%a#ST-9x7&j=Kxl!_DcUsi590AnDj+kn%^PfIn{VI6jkKX_HH%RZXHKEt2qr08jMwXJJ}2acV;XyVeuUGB zSK)bvtHYS%b2t9pKbhGYTy=&`J_k?U9Va}`pmfIi)GqSCf0rgV<}ny$23l1#$`DAq zNop)mK7;$kQ^YN&jk}a~%x6%$`2PUmi>{NLw8iHB9cNoTnEwD(uLFMNKO-?+SB%uZ zM&>_k3AfU5(kHCaZKazXIg|dDc(A3lHX9i3C)>1pPo@I}xE|A#l?GgnvNGB_Sm1x^ zG0!;F@9^}CZFMd(s-xWEC$0XV(rFXxHaB2{KhH_QYKt7PB>bGqZ9eMCk&s3vwa)XU z^}p1*%}bG1+EcI`pWYyrYIWA_HZ_mbD>q-X1+^6{J-YqihC$4)CF`%tv!!1zA%Rjl zf*~!uFMJ8e8mAvtN%zTyT}>`R-&p(2F|FIKP<{HHW zO~?*11Q(dVV}@U27qtd=0!qMpIT;5cK%|1*hghvGwGIhB*_&Zu1R(%7)J}6V*2(E+ zep=MGp+e`}m=p)8nl-vG9TfCzXCI`hu69%AC>ZvZR%~o^lN`!R5cE9!&2C?bp|R3x z4|E@C(Mf z!_of$I+CnE+xW!n*G2^L6lt24H)yp7O<)}0@ZY4#@oyEP)3}>?`i~i$^2ev1<(}Tu zR1`}J0OolC{Y9<=)E7T;V%m@DKM-O<+7NsQYs;V8+%dpBU`}qU#I%&0KBBVU;u|OU zo*PlD)ap)ezRNxf98RBrcyZLZ)L6gTLxukU%-{BnCsF9CxLfO0AQRpbW z=x;vtSL!I1ymQRE%|+&Sb>0W6jm_x*lYfMkPwZ zW)`cBe0G75#%Z{=IVAhS>25S$wgNyMaRs>Jtf(D5PO_a!hJ2SE{1~Fx7~`k3URW`G zlH;qRqSqqCLdd6*J5HaOvw{fw&plSM`jjeI!ACd-9?uliI)S`{-1W?pV_UAVw{skG z6x3aQcB&7#Gnx3iw-PLq@ph4hAdj@yrgoTNaTz6kV3@iRON@JBE?AkFG8;u}+dh-W z+EBUvKWU5+)MM`;BR=9V+Vo3lKWV6x5u98HsxD35pnWzQq57UomTV;GntFa{eWMiqKNssKhI zbAgE!yy9HOWXua=GTCkc!Id@f10mUYJVf<&+DR(JD91?f5q)dzp!D@{WWP%s!pz-R zpShArCpSbLXV5$zl}`rJ1;;gm$GPTs3>oWxr94eqkHK8nWcmsAm8o8qs`^J2V5?Ys zfVn3Cbtkl?tPloSxC4?*`KR?4i2neo__dZP{?&ep{=>iP)_4B^sz0fzG`@>K`^$P> z#p&_~yz!%_J!G^}lB^j{2!2&XVzrGtaSpoC;W zumkT1tPkE*gN(o&wOz*&0h1quxbOnv^&gk_3<*B@-$UxdEBUlnKlznVkOs5PY(ywjNyy=EMbFo;_~BL-A6u1CxXm6nM9WpOpuxrjvXG+!(8GbAczNhHJ~NH{!<$s`CQ zAdX0yR0kMtN$EAH+#hQm1h|1?ys3DQf;zydCCLJ$l3WUsUNh2E4@HSYO=FovPK*Xu z;!+NIgd#wq1jiDT%@gee+(03e9A+-ok>4`Wi*|s)B4{2a6lWQl?aYe2$(+pRi2?S3 ztV`Q64?NB01#vP*JWD-f5Ho2$OXIE#<({*y!yu1-Cof?yw;4IcCOT`B)7EXYFK(uF z0OJr^dPPZ(%zDF3Nr`AWpZG8KoW>b5scBm)Wdt54EcKb`c~;)?OFbn_w7km`Gef3j zHDej#F6aBC{KA(Ar1$L??;;N{>7GQo+am|4nlh+I(wIHwCY`rT!X%RLFmcvq1^uLu zk%>?wl1T$f#YiKxyKFW#;xJ|;l@qjvNgzoik_3~avI?9LCusy3?IsRzc$PgZ4ArhI zeZXQ--;`#Lw8;~r3O>>UD9w)m8% z5-|hXL6gK8w+3mOA_R<{B?d>`$%fAnMK~~`$rMs#9bj6_2r+r@0o(~eKsf`L1-PED zg3g@4+{La^ve?chvjo@Hws~%FOayg4jki?92ljyTLFA5MuFY08V+@VR5oSWIf-q+~ z)NNd|0gfh&5N2Kn8HGHIh*bk6t%~vQAmgkPw&u<-AW=KI^_iC@20mdCNmc|xHGqx> zGYA7V36X(T!GW12jPo2CNg<2WXdOq1Yz1%0E1F<$&j%o0e1J38Id!#SP&szAYE|}GQ%PO z0}(ZA2c)PV9?~+5LHPlJ$v+ZRjV7Y+DBurIc&(N_&$)*`5w9;4l^Ny_OpccFrw56P zDwi4DG1N(6V&t6WG`e?7w+s;&WL6xgIf==xYgq0udHKY&ErI~Zg}Y8`1(&1Sy zUS$$VB!MM?^B~3!Wk9tO^C)$fAgLwE0;HED4z4pbjLJihAvm2_WR4^N&Ei%$fn6l( zC7B0E88ZeD%pSObjAB}h&0=T_NC&qDUf%O$2>^jgW`x1WJWEsW3fJCXnY?CTj$l&^ z$ebB?lsIS`Aa@fzI!*PNBZwGR^>YXagDcKu49WpQ`B=s_-;GWVDK;}_WrO5)Ml1LIs zC72Z?vy2Q5d&vSz%&Bl70Q^hkPso}ofjau7VB{D@b&v_LnJ}wdiEbUQfrvpDuFRNU zGzrxNGE8qLpqG;Z%%WuzCU}7lGO#5U6D6Q;tiF>fb0IPd%+j7937S?sLW*&SGH_+? z>oEB|z%V%ypp}T?5l%!2C>~`o$4Ohcgb*1fLE>miGb?P?MrC9e6c#IeZ^ zU+yyoTw+V@U^*hWBlAW`9fT54wZ7m?Cou}k@(A~cwQQ~KGaoZMV$CH5sTL^DQ8o}N zW3; Date: Sun, 9 Mar 2025 18:22:52 +0100 Subject: [PATCH 2/2] Missing comma added for csharpier checksBase Reader implementation of .ARC format --- src/SharpCompress/Common/Arc/ArcEntry.cs | 60 +++++++++++++ .../Common/Arc/ArcEntryHeader.cs | 83 ++++++++++++++++++ src/SharpCompress/Common/Arc/ArcFilePart.cs | 41 +++++++++ src/SharpCompress/Common/Arc/ArcVolume.cs | 16 ++++ src/SharpCompress/Common/ArchiveType.cs | 1 + src/SharpCompress/Factories/ArcFactory.cs | 42 +++++++++ src/SharpCompress/Factories/Factory.cs | 1 + src/SharpCompress/Readers/Arc/ArcReader.cs | 41 +++++++++ src/SharpCompress/Readers/ReaderFactory.cs | 2 +- .../SharpCompress.Test/Arc/ArcReaderTests.cs | 22 +++++ .../Archives/Arc.uncompressed.arc | Bin 0 -> 101015 bytes 11 files changed, 308 insertions(+), 1 deletion(-) create mode 100644 src/SharpCompress/Common/Arc/ArcEntry.cs create mode 100644 src/SharpCompress/Common/Arc/ArcEntryHeader.cs create mode 100644 src/SharpCompress/Common/Arc/ArcFilePart.cs create mode 100644 src/SharpCompress/Common/Arc/ArcVolume.cs create mode 100644 src/SharpCompress/Factories/ArcFactory.cs create mode 100644 src/SharpCompress/Readers/Arc/ArcReader.cs create mode 100644 tests/SharpCompress.Test/Arc/ArcReaderTests.cs create mode 100644 tests/TestArchives/Archives/Arc.uncompressed.arc diff --git a/src/SharpCompress/Common/Arc/ArcEntry.cs b/src/SharpCompress/Common/Arc/ArcEntry.cs new file mode 100644 index 00000000..a67f10d1 --- /dev/null +++ b/src/SharpCompress/Common/Arc/ArcEntry.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SharpCompress.Common.GZip; +using SharpCompress.Common.Tar; + +namespace SharpCompress.Common.Arc +{ + public class ArcEntry : Entry + { + private readonly ArcFilePart? _filePart; + + internal ArcEntry(ArcFilePart? filePart) + { + _filePart = filePart; + } + + public override long Crc + { + get + { + if (_filePart == null) + { + return 0; + } + return _filePart.Header.Crc16; + } + } + + public override string? Key => _filePart?.Header.Name; + + public override string? LinkTarget => null; + + public override long CompressedSize => _filePart?.Header.CompressedSize ?? 0; + + public override CompressionType CompressionType => + _filePart?.Header.CompressionMethod ?? CompressionType.Unknown; + + public override long Size => throw new NotImplementedException(); + + public override DateTime? LastModifiedTime => null; + + public override DateTime? CreatedTime => null; + + public override DateTime? LastAccessedTime => null; + + public override DateTime? ArchivedTime => null; + + public override bool IsEncrypted => false; + + public override bool IsDirectory => false; + + public override bool IsSplitAfter => false; + + internal override IEnumerable Parts => _filePart.Empty(); + } +} diff --git a/src/SharpCompress/Common/Arc/ArcEntryHeader.cs b/src/SharpCompress/Common/Arc/ArcEntryHeader.cs new file mode 100644 index 00000000..01243c92 --- /dev/null +++ b/src/SharpCompress/Common/Arc/ArcEntryHeader.cs @@ -0,0 +1,83 @@ +using System; +using System.IO; +using System.Linq; +using System.Text; + +namespace SharpCompress.Common.Arc +{ + public class ArcEntryHeader + { + public ArchiveEncoding ArchiveEncoding { get; } + public CompressionType CompressionMethod { get; private set; } + public string? Name { get; private set; } + public long CompressedSize { get; private set; } + public DateTime DateTime { get; private set; } + public int Crc16 { get; private set; } + public long OriginalSize { get; private set; } + public long DataStartPosition { get; private set; } + + public ArcEntryHeader(ArchiveEncoding archiveEncoding) + { + this.ArchiveEncoding = archiveEncoding; + } + + public ArcEntryHeader? ReadHeader(Stream stream) + { + byte[] headerBytes = new byte[29]; + if (stream.Read(headerBytes, 0, headerBytes.Length) != headerBytes.Length) + { + return null; + } + return LoadFrom(headerBytes); + } + + public ArcEntryHeader LoadFrom(byte[] headerBytes) + { + CompressionMethod = GetCompressionType(headerBytes[1]); + + // Read name + int nameEnd = Array.IndexOf(headerBytes, (byte)0, 1); // Find null terminator + Name = Encoding.UTF8.GetString(headerBytes, 2, nameEnd > 0 ? nameEnd - 2 : 12); + + int offset = 15; + CompressedSize = BitConverter.ToUInt32(headerBytes, offset); + offset += 4; + uint rawDateTime = BitConverter.ToUInt32(headerBytes, offset); + DateTime = ConvertToDateTime(rawDateTime); + offset += 4; + Crc16 = BitConverter.ToUInt16(headerBytes, offset); + offset += 2; + OriginalSize = BitConverter.ToUInt32(headerBytes, offset); + return this; + } + + private CompressionType GetCompressionType(byte value) + { + return value switch + { + 1 or 2 => CompressionType.None, + //3 => CompressionType.RLE90, + //4 => CompressionType.Squeezed, + //5 or 6 or 7 or 8 => CompressionType.Crunched, + //9 => CompressionType.Squashed, + //10 => CompressionType.Crushed, + //11 => CompressionType.Distilled, + _ => CompressionType.Unknown, + }; + } + + public static DateTime ConvertToDateTime(long rawDateTime) + { + // Extract components using bit manipulation + int year = (int)((rawDateTime >> 25) & 0x7F) + 1980; + int month = (int)((rawDateTime >> 21) & 0xF); + int day = (int)((rawDateTime >> 16) & 0x1F); + int hour = (int)((rawDateTime >> 11) & 0x1F); + int minute = (int)((rawDateTime >> 5) & 0x3F); + int second = (int)((rawDateTime & 0x1F) * 2); // Multiply by 2 since DOS seconds are stored as halves + + // Return as a DateTime object + return new DateTime(year, month, day, hour, minute, second); + } + } +} diff --git a/src/SharpCompress/Common/Arc/ArcFilePart.cs b/src/SharpCompress/Common/Arc/ArcFilePart.cs new file mode 100644 index 00000000..7796e5e8 --- /dev/null +++ b/src/SharpCompress/Common/Arc/ArcFilePart.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SharpCompress.Common.GZip; +using SharpCompress.Common.Tar; +using SharpCompress.Common.Tar.Headers; +using SharpCompress.Common.Zip.Headers; +using SharpCompress.IO; + +namespace SharpCompress.Common.Arc +{ + public class ArcFilePart : FilePart + { + private readonly Stream? _stream; + + internal ArcFilePart(ArcEntryHeader localArcHeader, Stream? seekableStream) + : base(localArcHeader.ArchiveEncoding) + { + _stream = seekableStream; + Header = localArcHeader; + } + + internal ArcEntryHeader Header { get; set; } + + internal override string? FilePartName => Header.Name; + + internal override Stream GetCompressedStream() + { + if (_stream != null) + { + return new ReadOnlySubStream(_stream, Header.CompressedSize); + } + return _stream.NotNull(); + } + + internal override Stream? GetRawStream() => _stream; + } +} diff --git a/src/SharpCompress/Common/Arc/ArcVolume.cs b/src/SharpCompress/Common/Arc/ArcVolume.cs new file mode 100644 index 00000000..8ebd11ea --- /dev/null +++ b/src/SharpCompress/Common/Arc/ArcVolume.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SharpCompress.Readers; + +namespace SharpCompress.Common.Arc +{ + public class ArcVolume : Volume + { + public ArcVolume(Stream stream, ReaderOptions readerOptions, int index = 0) + : base(stream, readerOptions, index) { } + } +} diff --git a/src/SharpCompress/Common/ArchiveType.cs b/src/SharpCompress/Common/ArchiveType.cs index f9c7db09..503804c8 100644 --- a/src/SharpCompress/Common/ArchiveType.cs +++ b/src/SharpCompress/Common/ArchiveType.cs @@ -7,4 +7,5 @@ public enum ArchiveType Tar, SevenZip, GZip, + Arc, } diff --git a/src/SharpCompress/Factories/ArcFactory.cs b/src/SharpCompress/Factories/ArcFactory.cs new file mode 100644 index 00000000..469ee136 --- /dev/null +++ b/src/SharpCompress/Factories/ArcFactory.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Security.Cryptography; +using System.Text; +using System.Threading.Tasks; +using SharpCompress.Common; +using SharpCompress.Readers; +using SharpCompress.Readers.Arc; +using static System.Net.Mime.MediaTypeNames; + +namespace SharpCompress.Factories +{ + public class ArcFactory : Factory, IReaderFactory + { + public override string Name => "Arc"; + + public override ArchiveType? KnownArchiveType => ArchiveType.Arc; + + public override IEnumerable GetSupportedExtensions() + { + yield return "arc"; + } + + public override bool IsArchive(Stream stream, string? password = null) + { + //You may have to use some(paranoid) checks to ensure that you actually are + //processing an ARC file, since other archivers also adopted the idea of putting + //a 01Ah byte at offset 0, namely the Hyper archiver. To check if you have a + //Hyper - archive, check the next two bytes for "HP" or "ST"(or look below for + //"HYP").Also the ZOO archiver also does put a 01Ah at the start of the file, + //see the ZOO entry below. + var bytes = new byte[2]; + stream.Read(bytes, 0, 2); + return bytes[0] == 0x1A && bytes[1] < 10; //rather thin, but this is all we have + } + + public IReader OpenReader(Stream stream, ReaderOptions? options) => + ArcReader.Open(stream, options); + } +} diff --git a/src/SharpCompress/Factories/Factory.cs b/src/SharpCompress/Factories/Factory.cs index baef3b85..426528d1 100644 --- a/src/SharpCompress/Factories/Factory.cs +++ b/src/SharpCompress/Factories/Factory.cs @@ -17,6 +17,7 @@ public abstract class Factory : IFactory RegisterFactory(new SevenZipFactory()); RegisterFactory(new GZipFactory()); RegisterFactory(new TarFactory()); + RegisterFactory(new ArcFactory()); } private static readonly HashSet _factories = new(); diff --git a/src/SharpCompress/Readers/Arc/ArcReader.cs b/src/SharpCompress/Readers/Arc/ArcReader.cs new file mode 100644 index 00000000..7d58b8d4 --- /dev/null +++ b/src/SharpCompress/Readers/Arc/ArcReader.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SharpCompress.Common; +using SharpCompress.Common.Arc; + +namespace SharpCompress.Readers.Arc +{ + public class ArcReader : AbstractReader + { + private ArcReader(Stream stream, ReaderOptions options) + : base(options, ArchiveType.Arc) => Volume = new ArcVolume(stream, options, 0); + + public override ArcVolume Volume { get; } + + /// + /// Opens an ArcReader for Non-seeking usage with a single volume + /// + /// + /// + /// + public static ArcReader Open(Stream stream, ReaderOptions? options = null) + { + stream.CheckNotNull(nameof(stream)); + return new ArcReader(stream, options ?? new ReaderOptions()); + } + + protected override IEnumerable GetEntries(Stream stream) + { + ArcEntryHeader headerReader = new ArcEntryHeader(new ArchiveEncoding()); + ArcEntryHeader? header; + while ((header = headerReader.ReadHeader(stream)) != null) + { + yield return new ArcEntry(new ArcFilePart(header, stream)); + } + } + } +} diff --git a/src/SharpCompress/Readers/ReaderFactory.cs b/src/SharpCompress/Readers/ReaderFactory.cs index a079c235..0cf4c2ea 100644 --- a/src/SharpCompress/Readers/ReaderFactory.cs +++ b/src/SharpCompress/Readers/ReaderFactory.cs @@ -30,7 +30,7 @@ public static class ReaderFactory } throw new InvalidOperationException( - "Cannot determine compressed stream type. Supported Reader Formats: Zip, GZip, BZip2, Tar, Rar, LZip, XZ" + "Cannot determine compressed stream type. Supported Reader Formats: Arc, Zip, GZip, BZip2, Tar, Rar, LZip, XZ" ); } } diff --git a/tests/SharpCompress.Test/Arc/ArcReaderTests.cs b/tests/SharpCompress.Test/Arc/ArcReaderTests.cs new file mode 100644 index 00000000..45efe754 --- /dev/null +++ b/tests/SharpCompress.Test/Arc/ArcReaderTests.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SharpCompress.Common; +using Xunit; + +namespace SharpCompress.Test.Arc +{ + public class ArcReaderTests : ReaderTests + { + public ArcReaderTests() + { + UseExtensionInsteadOfNameToVerify = true; + UseCaseInsensitiveToVerify = true; + } + + [Fact] + public void Arc_Uncompressed_Read() => Read("Arc.uncompressed.arc", CompressionType.None); + } +} diff --git a/tests/TestArchives/Archives/Arc.uncompressed.arc b/tests/TestArchives/Archives/Arc.uncompressed.arc new file mode 100644 index 0000000000000000000000000000000000000000..78cff2bc17992b843fabc35d2272cf7673ac7167 GIT binary patch literal 101015 zcmeFa4_qA8xi>z`4rD`??8bmWCAx`3iC`olQE)?C0!xU7WC;O66Nnf#E-L}L%#fr7 zBo4F;<7#?u|KHwTb7Nau``+tq`})S#s}L*@>s6yx)5hCkueC!rwb-PDC}!U8b7mHn z4Mgqj{oVKXzTuOzGjq;!p7T7AqS zRi-5s# z5Z_R<*W27wv)k(^_0m1t}!})kh6MS{ej*adHaj!Q} zb5FgOAnL$n^Ku6Oh92>eLW^m%!)OEK+OSto`*AFO!K=PEj9I`SDzsxv+Ejaz58j>y(n|VlnG;w z$H(yqSldh4CXC&!J_S6NM1x&&Qjh_gW&=`RTPT*gP z2ZGay(Ip6uh@B`=&%oPs2cxC2uGT@FL_XxU9aVZa=?=yu)B2-9c!pyeb=q>rKA$(> z#l!7zQv>2|VX9xErWSHVnAlfr@;2NHKQH%Uha{>Bc^ZN*(72Czr<=w4`mNqQXs%(m z*S&wYw~4&;v`7zwD!?hFOZbnPon*nW4$8y?ALR*Mvf;eIz3`_Sgiq9FM5AlrcsW{I z9cgL$l4C_44T9xN7|X-bSo@bywvlviizsZ_v$dw--j6R7c;gP{N$Sd*J6%Me_6{}{ zS?SF;qi-iA=rr_wl3XJrJ^iC4${60kkXAWzNqwBt`zoUAKJL=u<5`yf7HjceJ2XG( z@FPL#<1fRJnV}DGL-#V+NRH@>*@e%Rh>jYz^3W{~X$CVl_Z+~|igmH0MqoMj*0p#W z98HbQbu>^NY3u9mb+{X9>uMSzbcL+Obs zXHT;?!iMSe%ve9XXk)B0SwuG*hM3BqZgt6hBbqlh2oQ}fnKTmPbOQ|HBIFfisR#$w z_e~g2nGrom){kYk=IVX216ZmYH#jo)@7XgG+}gFdj_jEVA`xI|xAL!nWYu2-N!Bb# zj0G)mAHmN@t8}xkF(5=bBBT!=t<(tI2=x)GW73$*NAKOg z>+6L4#)cMe0HHL5r7(I{-Ws-SG*&)IuQ&Ww`bbpS9}5$vt|?5qOlDx^5>u9;%ZNo!%~_v7nP)Oz|L-dI^;ja7 zZroJv-nwbyhN5k>QY+rFc?(@VTefb?TffOYH7;ft0jx7V+RSA{_SWoU!0`XD9kU+# z-wZ{WHs5XV3M@ZOSDT2rjx;}y7M9q;YC4b>Mlj{=XOJtNK}%_d!EpW~2M;vv`suNL z?AFxm@kVV#v2p*`<$6!ue(d$IA%7EXZ(yAd&Tr7IJo8S z3yT3qtKy|yFOu-|>glXwT&iWzc4ZKvUiR9b52mRo32-wg_*XN$B56$;x} z+M%j#2|q2*aAaSMZ*mTaFx3%x(=kLb0%{O+O52TSQ#kN5*<2=amQdg;Li9QZQ5^sk z!QW()QBzq|KFGOfo~&&l#wO=TAlQ8|o70EFbPb){%yk&k&0pv`U7l^QF+REB{Quc( zLnA_;B&NDGO2_`Mn`=G>&ws6%22K5C^9&7Z`kTR=7kl@XdIkLu2c5Q9OC7Y%vDdp- zcc1m>lzv~&g6I)eB&u)81fe3F0Xo01)`)Du3S3l?h>5C9SyM4$nAJ>#c`rudbfl-( zMUX(%=x+vWluhL1)z+rzo_%JtH6oA*dldDElE^uF2I&Dci-J#`gPC@Y#Zl{}xeUi{ z8XGdA&&V`4ihBW)WyPJ@ZeaZwc_cm~cRnq}P6ahhn>BiLqq5-R$e zfy=_ifE$!dF*(CwpA1JHJHbS!e`?rWL?=a&I0I+wz)wUCq9m#oW$BpN@u0tqpQv+6 zdCk*U(T9O9?+9X|2su#at*;HAVIsnvQ`YXIM49jN?!Iqxqd*%=dTWjM_;L2jfeZX4 zA;1pr;4snb&C@6YH0@3|q2UaZoPY9#*zPcuzdtmkA zV33G3WMA7j9X^T{LP40r)peo_=|@q)nuB&u!NV5J!ZN|q-we%B z_7n<4Ex_IKX?SL6H^Q7zefl#5qW8dxtzaTer=G1(CtHZ_ZK_I2#;Vgk>U8-~@hn8& zgDUrZJldwQUH&AM;i9ir`dv!vS+04d0|sFP30rR z7A3AvuHGM^qm$In($&*+7Ay2z$Ml>CxifyJI(+(MXb@huu|ddMwXJb7{J5T?CTSuK z!u_+eZEPh>4(2MyXCrnYsSoKd9D>~Mz_~~S9K%b-jE{mvMDb(8W`7*e{b6*DwrBzA zq(=J+1vu!st!}T^QP9}T?i<57X(Y0hw>s)5Bf}AXBH-EOMdCc*tsw)*>N#$4tXa8= z7Nt4a(ff`BySK4{PIwr=%NX!2j;vJ?#1q{FT8r~Q(*c*w4CsT8Mv#oHTO6x0S4VGH zvX<)_M8x^SaLX7R$epq6X7BFC1~Sw-QUjRUhixZfr?iie3j?6D54F_=x1zXazaAYy zxX|DlcAbKUj4@j3Pe=0E>5qihkn9Yyq|&e~S4Ihs%5>pHmrOGh1V)xiXYpdfKbky4 z@HqOUOLkIf(LH}ryJ4Mk)Cy6=3jyP}JCR3!Gl->DK+n(+4WmgTL1pLy$spb{97G#( z7-{g?Sbs)OA|Oj|L;u}fBkcA~&-z%6e*{{?q)g*^p_OFHZf3@7Ibm6~ z=HmAnrbw9HapBIH#j?V5u#q-O>}z$J)b4*Ir0O+z!B?rn`TI`M{s6S2IWUF3$d zz@nyxO<`H9Gjnd8$$j5VL6ZnlN!E-ep;5rgI~P0dhR2r1Dxy5n`C+Y2ZNr53U5q&J z^v;bM+|;h#B!cHN5k&wI5?H|^wc)*S9P?szA~k?2MA<__A6YvQJYS-F?rChSXD7i5 zv34~Um|=gDt+X=qB~q2)+s)oFG-J;uQz|3BKY}KrJ}hdsB!Hw@gVR?O3?pb@Yqs#> z^k%&wM8s!!6XsHKpMeIVgAA`uI`BvB}=`m1m{g{k4_EBC?q&gJNt;k3!-X)OeEPOFxPHZIj@^xR4f(%NtnWHkVmB-i$3ZuhoPt28i~#b zZEeu?_ahaSszqsgxa!A|5%ug0Bv5u3%}0soKS_b!88gtJ7yQ+!2p=^doq;LAzpL?@ za_P1e?(J^&nlkqU$L-txm9HH*L3hQUI>ebNA4$_V?kKMG=VHH?{ux5?{Of)^pZn3= ze_L|YwCUfLY@=6$n*xpZ(krsNYZ@9F@$x8MQx$1j*HN&g6zi&5?}~(k_*4V+++Qrb zulQ(Nb~wHGXmfTRp1<{-ecAWon)r7O*#)e;H9L{zw`A|ab!**jAJqv{=mB$^OlGcn z!SC?$wf;BE*-Z0HaU9o#=MFt@?n+$k;b)hAk7wea{=!$h%B`0nkL1H1s2){j*U1ZI za>+8s)v~+4@=piH`9R8Se=7vrDIIcJ1@$&6u30#)IWeHrCz-0+smcV5RT$aFP30#)I zWeHrC!2b^J7zS(<`0Sl$(<~TwGVLt?LP}?vL?veop(jaJQtb8$Wut7~e%_;;Q%*cfK*;>lKPk^| z=^KeT^DPhlSXGZdMtRz!lio7>MjrvXxA9YY=20yvjZuL1hLAJzx1huK81A0h z|63QQE=$B?)AcUSAFm9lFJA#(ht#?Ron>(Q%r^k~iCFIH72EtV9*_2O+|6N3hL$kW z7)c&2DFp=K;=lzU8NQB5YQC~ClA858HK(i`x2w8phxDAi-?wuT_P%MbSL(3;3|OLi z8^As()ou^EKCQx|eg<74J!b`NtJL<0#)F$u?ODAgg9WLHBwSpRJy*Cmxga$K$)P3j z9j-}A4~73q%Cp9N!^!9o>XyM+7rHSMoiG?%fV&uWSA;t>%E@as;Z9!TVZYnh?{@rZ zNvS~X960hc9&DXY0#pGp%C=N%5bEkF*{c2&c_7+3AUKr-0y{#eNSS@qVu{|I-pCZ< zBh-?XlnCtAmB%ccl0;Q2lw8VT6}Rd%>D4I~B(IsOuDzjF&EvSkREa@*BB7%j)85#{ z8VO5AzxGdmJaq8%6R42i4R^ z8)fP!s;DJdC=amDz8oIk!5{QNbowZlh13+H2F503W@5U({?sHi`aM%Q0owP!h4ys# z=Y1x~gwd}hc@EO>5|*lecR|y9PoqWk3%HY>FL4eNYwpcD|rUCl6AH`kTBT# zJ`i{y|1{D8gS|CYFoZU8fFZHOA2VGr+foz#ypO8;dA5(*Cd|xGuM>24Wn$vi)bv^(*pv%5zFqUe^ zaJrE%g@LDMWG}^q^9;li#{0V$FT{#IEqKI@Y);xIKRmsqb2P;hzWRHJJJh4ajBaB0mhX8lxhy{ zW*%1#zr6&;;BM4pW6?%+d{ifP<~m9eVfSg8cK=o_X?wWd8}FmucB=PpxSOFZ-`%K& zp24_Kzem7p3HT8mIIEZDPh+&B+xc>34H@_%v4ENG3f*?=Hr|X5*Iqwd3-3V5-Nwe* zVC>y^BC8?HRT94cPv~y#4JBzmn%oMb9%25q*Q<~5+%$_`QfAQR0xpI&>kn{<9{L&3 zm6lihd$nlG%45~EJ9!Hs@`ER z=>fi~%43OBGLTN=tF(IWkOY(@l5Ezgu2*aieG?*ukNNCZA%bU!|9|}v?&Q|g49o?o z7&R%6&~tri8t#*y)&-T=t6%NU;Yxf+*_}wfgXyv64jf8 zn*`Q+FEq$GL{3Y4_EX;n9%sLB6&OrWu5gx|73bsDu^#L>lm&On3v`lQQeUR?SSw9< z4!A~fS_1Wo5(o7rA^KNoNd?5;eCm`*M(=d~lJKGbMS=BumM!FPrXt%qrJWSt_J_S?GRV_2t(*XXi#{!F~iU#rW80YcQj4Hwxu zPoUrY8m31!sFE@vIB2tI30H~G9HxBEet9Rf?jafV{*@{{L*pl>+R~b+Y#zt7k?bi& z2V_HGq3;P#!8_wH6}6@&pLv{A;xW6hD`#hFhPW)J+S=-X;4vMq1@vH{1t>YCaJaN| zD~uiihi-@BDCOg&B^U#%X$%yOqq_@mCs*^R0oB)(%@`wSlE%o$&j|&?_n1SNZ$Jzd z@`PF%HVKIb*UrR+1#9J-q!gQsvVb05Vl|s9)3)>rRgtkRmvyK$2_e0 zH)yoSIs4mVOmX15-2zgS%@*g++IE1YHU|}7gW^T_gXM_#Y(iN*~@d_KhyK zbzb<8DG>C~QlkET0oZ?z&+3H|t&TE~<;r{I8XS3)D+3otiNie@+$G-kei4E;d9X zOrpk>lhOy8;ORQmzA0&Cvfc!*CvNHdgZQ$2*} z8$dMjujstNgER%g2$ctj2SW!&;y`t|k32r)+zpPWhLn!nztSV~K{Bwq6qGMe8-^Jqjk-e3r`CMb zS`O|&JL938`N}%uN;g%4W~HG8R_c4K2F^X>Q2sjUzWU1qC?K1^i2Jdibt`1PG=AH!JxVjR^1k9b>-;V`24b9&R_K<~q~6Re;)wH%{4WH6nK_nb=EFq% zdXGLg>T`7H3iY8;5S>9pcj69Bsyol2>lV`#X6sxt5jI*@P@Mv*{U!uzNF$iH$IJ{( z54y25TtPPf`-V7L{xBB+ei3Ou41szrwP&UF67}|&$%%9jp%(neAo|0|RB6f@xe`Bm zhTrs52l`3f6pN)QvV2cmPk14=N)|eJs+&rGjZ$_uax0FvMB*<~PQ%2i6!*f6xJQYr zP+YuuK-!UC!7#@ir_fj4I6)U! z#tA%st460$n!&LAW(IX;Nn1$PHG20XQPYC zM#=yWl`bj4+DUnjFx-cRHLO*})f(I>CzZHL%wj-S8BBBrt(i(eCLH&cx#|7sgR*-f z#FKQ!@>1i)^@@8!E1tm0DI0ge?IuI7Y)=+tlt5hSS~xK?X!%`K>D0axO4WE5bOFOc z7j?MH6P<&?RFCTegESV3m}(Jnm9`0Ga7$OO+&0mkxgomEA=sc9+T22IYG^aAl$eFi z8^bUW4)tt}#R#{7F=eQz>v;Rk!TlHUw{w=Z#Meplc92@AFf81N8$U;1q;CF&4c+X| zR+m~xKZoSv(X3u9rQ8$39KT830Lvj2PiTIVM~|-$LxSksu%7k%{AoaPH&yO0f2IRg z7lY?2%YJWn;@L0trhe&17sZUIBbvPV*p zjVYFwT2rCZeS_;$Xh5_k46b(&j&{D|&Sehp)qiw?*oh~0NSCrs}6qD6k>QP?ou9{H6f22wuB9*4@ zms>Mam|Vlsz|fAc0x3lKOKJ-)lf&#^V8p^!U}}I8#*t0bN?+FTLGJr_l#BR5mjz=R zcUHN`E*ClEqSQfG8d<>sR|cLk<)Rd3#;|Oo7A(xpY|&dFGXs+%wWn}{afDDvP&V_h z$#IGabD*8<1(q|^0JDVz7zF~)4Y32ckQd^lJ(dqJ&Nf?k1Fw3E8H%xIH79M()CS{T zKm*JM!l-6NQqu=*1Ha)~=b=u7mTJm{nUfXCCfZxjGk3v!l`vB{su$AOmfBZy=$7k% zI25Z=kbzVZ3U-Fj6`!57dL)essXbE@FtuqOUTevO75TC;2M7u9R|N}EtPD{9?gHnq zIVwp(dP&0|uL9C_z>nLlSc7#P7i~(RT`o+P3saQBM7hwB)0%1(7NOu8r7*===xAOD zgJDIrx5hP$lI_gC!x6P&#GrZg1#0{`D}w#PTgqT)m`ojOR01~`2^OU=&GsZ0Y6gl9 zk}0F37*Dh*0y@@9?G{eBCg`RyNEmN~h65vv+>N#;-C8IIgejZt&b}5ty^q+!+7DpZ zI@7`K=g}@f$n92hpS(F$-kc^EX4sxI?W#WBuau-Ic^S@^o6YIR`e~v@@04P9BE4UE zPe>>d<`ju({+LjV-?RfXEd@=mWkOOZxVBR>58GKYWZ=xwkXF6pm=#elDBh4(p={1{ z4%s^UPzj^4+G6Ya5pI=sh%(tZ9^et&h{@8N9|*TpcuLfNv@%R!*@0!xft+fGU|tTf zwJn+Ga9W2N6*r&xpB@3CXH z^8`QE-+@rj<}{@|!})yk+>V@h(d5btof+$o5lpUgCn41e^|&r9;vyE5hZZ3EvDvE0 z)v0oInp~Yhy0U|`iz!#U)Sk!*SpA05^f4kVg41V(O}3eb{9FmlhN_VbnG+5|U;vQu z$~rC;S+zlK0>cFZoK_7qvJ>T^WQ=8fh|5K3a#6;`<9Z)-eQG2P#t{znHW~}gd2=mdP`FRQU8qJ30!NdRqGj<@5bd$zg zsZwPvSNiYj>c!{~)+lWj(m`>7q49HjY~2>EFePNSJ!wM@K0H;aP0m#lqPH`Gk1UuiuF-0^wz=99KeNH_Ksde>MGHt2u z4|Y=~qDIv7G{3?S7*>__O`)BfUyu4j6jhSS$c4090mH)MVwDRMt1)cQJbsxkYQnBM z%!=l*qFd0YQkd#2OlzJ;g=!J?*m{M6_$EKhAfQNb`FXve4C<&-WoN2YyjCg9Am0|M zpWavGDak8QS3%1mA_$;6S?S+FMj2Ab$xCgv70G#NJy4Zyi|v`d&^+5Sm~j2-I+4G7u-xZKaZM8W-ig^gkg~=^UtTzJ05D7E`;_ zYxfw?{iqBYpe3e$9XvgO>K>t=zVk6bYqzXpDM;mIlN3uB`F=)44@Nt6NaeYcMg6`G zNJ8a+4qd@&iwXW@^$cKCnVrB z$X*qj6dj0uzS8rWoHR^M%Fw~L@YVz;C%lQLzPBvq=jDWxbgSBryoRfvQ^zsYSArjl zKSljIU@K`9sq=T!Dj0o8Bbh>KBL^XtH`eZXjfVtYdZm zSYd)ouxTxJ^*h&c+_{sL)z|c5cvSbp@uRJwGg~yaX^^M0$?_8(wT{M*`{3w|?9$IFW=4w)(WBtMNX^*1HYjClLfwv>q z@{S8TTCpSVpxypKQ}zR>wvnv=oD%hMETu4D;qCkfxSsSDm%!;XW)-s2v<7oqrCuoA zM6Cie9H*FTkFcxTLWX+xgtB)+8#ZkF_R7!msoJn{Aq<2+ucV1=WJ z6J&~i;{r-It#?vCREn)~9#37yLfo}rTz^%a%9Kw;PiFSt1qW%`( z*u{|DiKwEu6P4dq(I}TrBl>EUyrOO{07h)mX-#&m$wCa_N|TsM;|Meu4X*~dlJ_JQ#&4$F z3h}#>WjE$58pMh_MRu!-8|0p5i+=A}tn0_w+8*S+3-V;|S$Xexn7Wg}u9K704Z2@2 zQE#}x(94S3F1ud~x?lF-S<6H?{C6&lZpr%sLJ1R`uxPUHl&X`HVnv|FeKOpcFOZOl zF_JH^phKkLJs3eYP&?>KrN%Ieg^K+qWN1w!Q83Sbb^h5c6G1i1A4Gr*X@4pw&VyLc zLFyl9sYoi5qTJ`ub|*9Mcn1>{w1i?F6`1gqeO6_cT^W!?a5mAJBVB+GrhYdSycXLx z2l*#+Hc5Ptm)c^TMV9thDz*~W&>i;#DiNNx=V?`3oLDHYREm>jlXHW0AMYG(iB)TW z2RL?B1H&Z0WprxImwFp4EjrM%j^nCGf1o_%EuG8bVVF2}s07l$Yz^PZF2@`-BbSU1 z&DB@d|dX zMJf29MRlRJw(Wiv4jd15yZfn)+#KNbMOF94T*N8#Hwty=9E~(SVmiaX~|DK zuo1@PTW19zFlDvb<+gFe9>h6Wy(5%|Eg-8u zrlLf3n_1^8X7j+9i|^3aO&C*D1)APwv3>4$AOt20CoPoXiS%Ntv)JCe9Jg?id**hW zj~C}??$H4*!PRYXDMP_85oG%F2hVe$xAg^OT(6rx9(13DEz_SWJc?Oc4IA<_lai3H zxX+s0c^FjbZmZL65Az9ie(V^!i$xh= zos~AL)MiHO>2^T^Y z?IldGy}J6{t~2V7t#tN@NmF8z6PVm6>>!QrWqPp&_a5~F1UxE7ZXkNiO4(Uc*?15k zLZ(m9j&Zby1>M|^JK{y&%7^tyE|E#3-OQ#FS=$z!8?_YXgO`@rMaU8nDDtS?D)(vJN!91{(LkcU_NNub-kSgiwG} zNu5v8eP+G2I3c}i^eIwx2R&W8S65(a9byh$B1zqn|W8rCXJiLc-&e-JbpX! zr4P)le}_37W?V}e0uudTc7Z-MviT7fzXBEn1IteCN}qDVJm9?0VsVb!9@r20oEwDU z=EOvt&XRs(md;xO%g=mEOZ`%}3nUHxmD@=y}{H|7z4E38*mQaEDbW`FH9m2Zk&Q;P$vC+Fp==>NvK0Q zzCu83pppkCOHluQv{#Q*i?kDI8`37E0;IJ_O2I>K%LNa=jjM{QitA}yPvbg@>nN^g zaXpLcIIiQkPT)EbZ5mKq(899(pjVlBpyUABCZM^!V&$4Q*cejH5u1LToZA%m-V4{OqLbDDqNp<3jpa6-elpzry&T#uTjyzx$E8k-kAWe~s~D#NdR~a@B+ADT0gTLcB+9qsS43X?vlC>W~_3A z90LRalTmqosk)l-u+sTGNXXKp3&Xb0_u{rx{S4xlidxzA2V3WZ$S_(jC@(Ej{qU*a z62igal@CJ8%hgA(0_=Dt+nUdxC~^)2Vw3?-X@zl;+41TN{h#4gR&)d5_WB3q#i z{yZGDj=-`*$Ffkz61r}B{n9DEhru@?5Eo0iByTL3%hew^n6zwNi^1y10{l?m5G%#Q zXVF1mB1U`Jm-Yy}tVH~%FM>dyogOh6a_X~ql<*!HdyfvGQ#FZYSSf=-?N${_H>kHFXj1JOVx{W0(Pc@e z@oPR&?tH#2DY$xLI?mGn&;7`fZh#+cy;D4=aLSsq$jE&N-@T!Q06j=R5NgUj6p?k1 zvZ`{iZkmMZq^vu0|2874i?VLZ#Y{U1^#En1<~|&e^*PE~koz~36|cA0gDi~^;+Z~0OB6^L8#O81EA zItQBh9J}~u9005iT7#4e-yT^4mNWg>^vzkULS@S<5Py4oDP+5bHY>8Uo;bXPcE#FU z!L*@Veen+%&_N;26jFoyzw)5iqqb8(Vzd$m_SVo=2G%ok)rQ{zPRS(<+1CjN;!^!-$CFN+O29k!l{+mI;u2(n0=jiyh>w4sHgGbN2R=& z(8<^CsveAe8p4_djR%p%>W$-*E$1NC*mDp?sDT z%ZhvKF58p89FroE#P%e2Ut5S)9Ku|*GPmRXx#A0*uZZTN5H@@SzGIJuaC9=)f%hyr zharz1JHf^hoY@t6kLAhsOVnZp-E1Q{>r_YfPLX%zht3g68Dsq>aT!Iul7)nh z{idZsk4fZ}V<9twKM+RND>-G!wl5x&%aTuolvnSf4eER%WFT&5p=P>EJkw(bop(xY z$sCq#Amt8_BHS*uVHbG?0I!N*F;16{E*o2f0L_q^W^#>ehiztDLSUL{WDz}Tf?2u| z-A)?_8dud{QgS#2mYrVHxe6uY+VO&10AyJ^=+NU@VqDIT4g|(?{e+QNfyuRmp`QsD7h2R(-Y&R zrLNLaPdQ!}#JhiZbwPE8gjHqgl{jKTLk25;;ri0jG7pS#DxkDC5QCYI2fO+l4!>5? zfpp9T_Hr$09QY8CD5WLvCg%raGQt!KYqPIY28DQ6cCz>Z{fwm#x)ilc{b%4{!&$`n z-O#+UigGoZ9j~`yY5gW4G)~V{?SP|^)$8ZTukg`##B5*e#f)TyOuBlHkb@#5saxlh zQHPIUcq|r_!rs7?_rFk{zbbQker6`t2-0Z_V(VoSv}545oO7`tyshg2NDE;?w&O8@ z;V0)$D9u*ovlfc5*95ICQtQLmV|SOA1@E(K+aBhts)1o%uaLEWEuc!(xhn0V@+d7Y zRoAfx3#uVljCGOPhYW>(SkAYit_2lPq^y28boeORuH{3w)6DYIa|koyj7wOyEp&`VzKAw0CchpjvWvYcP0B3l<7SqnF2 z>r{aV4JH^3+B)Ar#=-ZgRa@tK_ziaLL^zdMM-TiPW*$*tp^=~11hzn<<32kuRHzGJ%;DVxyY9wV^PTM^tbY%z zdIsK1e`NB(H_A#MMuzqz51w=wkJ^SDpB)Z?fn|un-3XsndM;yE=!T%%5@Z!=L5z#N~50P&H4L^6x z49yYODlxa4#1-+q!VS0Az`Do3EiA@Sh}-jG#H*0G;Px7`XvZ!QUMh@#TYN>qM<4nR zUDJDF*wv4<(Kg&Ii5FzEC-i8*zf? zVD|3jy~AQg&i=%f8*@v%Ix~_M2T6$Xa%fw!$GzcINS|vFfkpV7)_I5I>>z4HmAob=?6`NbPpB zSf10KD3;IxOz|#dP3rHUcw@HCYiLBL;lXbzM=XB8ecGhHiW4L-7C3gKb^~h;u$(7i z2#cMt%wt$$RliYs$|%KqO}GPu;TN}!2Hh(2d~nhktS77Y{)Q}DB2HVoC!B88CMi_G zd4H?(v;6)0lzi+#S=cM3*iUb-#Yr&5Wex7<73e3-bNh8#ONw?I`S4C+i=FPdS}Pu> z0I_@g{e5Mx_u8^yks)Soy~2kX&+ z&K2Sz3-#_;2%(Z~UsEQLPna}uGztyzj!yjfNL(D=>7ug zze(x^SwtTeJ)TGcsX16R;*{7NNDO_K&SSC-Q7b0YN~#`^e#4FFcxrxsSyNbI0byU=r^QVHuB;skF|* z38+li<{3{wVW*5vKq*xgrP(5jZ!2wfr|VXAG9b?zf&UI5|K;U;ARVv3_gq}4}X zd@1#)+prj*bGf0b(Yxv`kUl$}#E$B=*$F8yqT1?FpbmXoZpIK9HBL^m-XsI9aQZM6 z%rF}x#Xt#~r8WnhNlbxk+N_9QKyB!NzWO&zd{C+k4v(U_B7{x13|0Jh%tw&tpP)oa3h^)tYPqp|OSLON&` z(K+H(I9qBK7arWN*NT_+V;u72(V^FLCEGrm)WS-J-IP4&kF8Tg1ElD-&iinuwN0p#UZnF_D&J^#x3e2uA=c6JUN*h5Gtr&b3q#=e6hHI0y|D zkNOqlR94D!Mrehih>2ryCLHdrB3#YMYR6>Fw;@f!)ias%3iVA(BETxtvENd^SaI@~ zw{<;3T{4FV_z~`~7grwoiqxLWg|Ujat7(&1D7-~@R~b1%J8)7RYW{r`R#rmHU)J%5 z_Neb71Vr2kWh)MU-r& zl32AEa$uu!`tYOf!*Rlqlc=Hhp>O6sWM{m{PGAw+D_p~-QaWX}fO@J#Yf4ss`wIvQ zx*MglS-shAtL;m@teH=v8FDLFkO*&$mEaw=u2)(Ul+~*+Gb`5l=I70Q)BSf5LtWb1p<`GtYS()rYV$+|6aX zLxO#yVA&`x^!U$)EFS-#LuQYEOiOx%yxBRDH51<7Y}?_H4tWX=iw<80kK8!8KUUDk zn}U3wU{<*Pna<+$`&{Vasn9IB&scK4i6tja6-&!r!wn}bJ4qM6>B!5tf@l0B{`u~sc+aQ z2DAb3^b^ma27vIkon^@ZIOz*5O6x*iX16?UEoPjmJYWGa$_ITKzeUpSXfgZm*o7FE z^cLtkZR>gjDAKX&E}mc%%4OplKjnNLWVXc0;Q4uT)r9f^5KwjJ`zGJv{XL`Yl_lGzs9(USH;Tj5zp~_u)2J`u8A=PztKto59X-qdUX@nL z#-+B?9KNW~X0>(7Xa!a!Xgwc>qqHy zSx1|V6X*Yg=u}>MH3Xr}y=w9)Snx!_+~m-524oLz8D=FqR3(q+aPM?7y60vq5UP7r zzFOY7a6&`8nJoEXQahR!eobU1ynrVq_as!a?=73T$odnm18Z5%1$T+QH^a(V6+<|4 zJr?$8)O6XUN4u$ub-aqpexWE|2Pm?49LR@Eq`UbGEJxapBbW8GSAkQhZ?G(!)|?t2 zv`xg6UP)pq&v*0<$0$P#FnuVvX~F4|U{NAw%lVk~VPG-UX$dq)oUz1Hi&;_=l?19P zC(vLD(Z=u*Dw5X_o6Lb@mO3$_nbPtg-%$}<`v8DxY!oe$-WtWYfU0eT%D2szUesQF zS1QJmNjw{ZYdee;b=KIcDju<_I7}@mC!N2Rt1Qh|DR=RT^ZMfP>o3fE2@9S6L}%3m z3Ie~wRXm{l(s`1=lBR*h0xa~7^Q2e_pymbAXW^7vkO#=nAE@39;d%+IjKRMP`1xu! z1~h%w5THV0srpMiRw{SdWfRsyu!HQJmJONmVn$`YU9n5=YjW9ykf=O(h`LQ_JyZ~; z_cle(YAU$CZ2WrhEKMT8qJnv^E8;vX8aB`va9QOYwU@)HiXX6o44D}^GbX=?9Y3!J$)DW&C-QC+A;8} zo#$+ww0~j@k{S$Vx>a1FM5qh=iN)Jvz=oHU(1_g0tT+ zN~|~}--4x0#2zu`;YE0VQ8r0 zMf2SKJTtS(&tCogxmT8WEK2{B(W1#6A!a(oVL!hW8b^)_crDEi-zEq ziH%MSE`-^0*dZh=)@%>$0#(@Yuyt+0jrkYOGq#7_xPxlw2Ja4x#+Eq$9hJB$yLjg= zOrJFKUpG0|;Dje8|5umnJTy7^U&W@+iy*$i>`8d?ujG|27NC^rhF9*VK?Ywq{Y4XI zdb|-}d+2+R3B9LYY^9kzxM}6Yq%%-;Hkg7b-mdIm^{ec1B@UAFN+plusKqt0C-Zh9y5ApHYHGbya8yEQKNYAS@3$<|46U zw*r#i$IG8)lHX^MKaD^KR>ycZ!9K0kDQovx5-fGqT@bhhzs|dugbi!Q9F{n~84@Ok zCBnp6=H^UE_(hU103e63l_Qtt03S3Yyg5R`cwxjW7bH)xI1u(G53l_lTZz!g4PJYh zg3RIdJDte4g#5urQz1H>Z=nT3h5kl>VAEd^aE4zHxb(XL*W=xQtG|mej`ve>G2RV0 zpoJ2G2QGvx!2=(L%)tZnGJw^X`TF!`{nzuPEfUQ05DK82LJNxQI> zz2*?)gSSg;oqkfjQy9yg<#hMT(X{VkmpxMm;43xjbCbVEOEC(jVzccK%rD#WO9iCg zmDOAMY_E!}Hq|6Egl8WAp1k-um|olG{s2CIPs8@5 z^O)`PI99-Qbh9m7SLod-lxH3fuHFip)AtVlz2G;qK~aa3Q+_67^puz&4{RTsY)`)L z9NdS6%S6xLH~?TdL}*;j!InSg<#pt6;%h9riuY$G_&^`5tD#2Vy>gX89y;(8(omedm>S6H zW!N5n{P9pi&SDpG5NpD@3r_t3ekfLn8DlaYC@muhNcDnfAB?4YB2Zh_%|!j-^vtia z%n8wUxE_F0;B2LN^P|`f5SB_RFD#PO1i@OwVvI+59*f|kSFm3mtK2gf(B)SMyxRR8n_ZcF)yEFDQw#ZyKzjU_8 z{ilI0dUD_$n%hb%f@NoHPsZDx>~;3-TMUQ%X$G2i)PX4|xd*RH9zxuk!F)(CL|FM`F<#xJO6p=T%U}>t zj)q~cIva3*W}7KH@#(!FHMvJwfY&61EA_6o_k1z-G#cqX)Qd(!DR@&tuV45*$#)LhD?lPhq{{2!_rXsvQEmNH0J^n)!0#C(Og-ggpF8ZGHTXbSDx3->B( zI&trN0ofJW>j)tbq~P&At!MZiqwA3(WNNP;*@Vksx~IsH_A)IGg!zXl7a6golmmO3 z98NfQLfD|ph>M2C*=ch2zLm8CKIdo3OO;@p2|55uZ^0o6SULNS>RtW%Noe5;s%q=(0aD{^^t*c1dKBCx zzQ3bdH;c@!ZWR7mH?47D(|RRN-{`M+{R*Ze1E%#_!?ap;(<%KnFTLj@N*F3;n1J;Wo#op~Hpap-l!oq%Bm9>2VP+N=WK&!Cry zUF=Qe(Cv>&!s>F>+m8`}FM$j}+3C&W&f_eYiw~p50zPyFwzJTI^E_(T>nPZhf|cH& zw8x5`)3GXX#^zxn3w+NH2fkxR9uHv?)uSswqDS>Z5Hy$0#cV*i^r8s8X75|qNNU## zRXalYIIu|iwiq04lSt(1Sp6dyzTt8t@9hGMv)5s8mZTuI-$MMdYnA&eLOSPW)a5xpv_i$cK;*h%L(Vbz#B zffrmkZ7H@+n*5w%%Kg{stVLHrP^s%-fWZEGhoZvjMuTDmjY0F9a@8=S`HD%J z@mUiJ%cJ#Q3qQiSIPvW$(m?PxKu<-5$X8T^@WnBbb2+}JiB4f$O^~!kDUR@IOc=_* zNIhM);Q$QAVAm_RV@ermH4)3Xfc(Q>zV{x>tiLh&KDskf6VqHgoCst6>nYx zQ|#fL$k4lp&Q6NhI$?E2{s9%3(oj?)rz&|;X_9faioLpsx3(jcCRtY+yxEOUb?t^5 z7F>%r6?EZ$6SEH~%vo7{v!b+IosVOV2&RSRh5G>K$*2!-l59D?+< zB2bdz!=EH|A#TZt1iddr^}4=q0#hdmiyyNHS7|L4b>IYM=7W2z=RSb%DaXl$_|OQ? zR`;~9wJ3u{MM5P~A$dW0l4=&#(%nsx8Yd(d;nPT1tJ8ahm=qzZqx2J6t*q&w2l@%! zsI2Lx2l@$JU7@~2z)cne0xCoElr^nXMnBR86AO?%j&kV099W?AS8-O`Z>e;i7vd#t z9=*EDBmB0Qoo8J}znt^DSfC`)p;!GpEV+?#nS}+CP?mO>o#stor+M*yW81a(@FaYt z#4oYKyh}Ohn02Fg4&RS(5UTl;M`>TLtPIV^?2cyX3l?a1p`^hWQKR?_4FZ|eCO&41 zbKBF7(hA5nj?!KkeUvsf$HR+fr=O*zJa(8?TlOP#9OgRrD83R*5#f0xsp8Yvk{t2= zNYna{7Ioug*{hzVXzL6xc?_nBVE+6JMwmFNw)_}=P5;raQr=t0o3Y+pst3(ci*)E- zg8m_(K}+%I$g%&WX-7vX?;nr{k}m&UmcV5RT$aFP30#)IWeHrCz-0;iUnhY>aHEG5 zj%&bmCsHfYO-RW|W5|C8X&vt4km%2k=kFnX9jOy(Ez&(m+mI%DI4%{}WTb{5$6bNI z?X^f-4{@9e$$=D)l!^3vtXE$^dLQX~NZ&+y8mSv;KhhVGd`R1o3XpaJ-`l|7ifa$j zmyy1W^aG@4kX}am4bq>GIJ9{y>Ufqv$tVkV5 zF5p6W{Y@?|km2I)yxGOA!1bSRad9`TaB&?-i_=})Lr8td+k~V7{zvebofyRIXJcFifo3@me>N)htm2TX; zA>xrM*ixLgar0Ep)>|`IWhcbn><}Aj?y2`WghoeQL!D4pQ(yNPufyl9X<}$Ng1e32 z8X5(Mx1mwI*XL+%s@d&z>_OZ0jr-~%D%J>fjSW-vZk@GWvrv19dTXd&lNj(iTIvFV zSX1xVBR1?N+>YHf_4TX)qHFc6_;)onc=y){x6}x9aR|iXBwZ_WsNNLcjZI!4Zft07 zgdA$UEp@viU=100_cwWW3*K5LnJFn^jNO{KlF3Iziw4YIv0kVXd;xDwEhM!2zG(Q_ z7&0dG#4eYIJm@el`#?OrX<86Qh8yog|8wB73 zt(lCU8DVPz_lgAA9F}k9Dw5Nl`bIR@aId4Ov93X2YJi+tZ>=uR;=0{|#^%O7f}^~y znYt=JJ>9X@P|!_v_XKJJ2cV8zJd`q=?Iyil5+Co;nYtY+%&l0lf?FHrvY`grEjHZO z(73N*9o0sd3x9!fZ0jL~pXoYY;i3!oIG{^+>}_kSDlO!-wiTy)_! z;#!PEaP<5`BmW<8J%Y5sD{QK17V@BeEnZJ!lL+I0JpH+%uA#PZA6M*cZmzl4yS{OM z9w#mdTB)b26Gop7$^k+GuU)ckGcqBWL1Nmfv z=#T2?cd(bRWywgzD=4SCLP3=`Rw02kQBv@DU8j z>Z?)tgyXSU;0gB&QSd~|Nh2@&+b%%pf06BTuBN8NLMENx;$HpCa(uWj&7-MEnq)mKJ=sMV`w1G5nd# z4)`7sd5=7Za^yYQGX+PV&q+JTafc%EwjwVPc{BZ8_PrpLhyUw+uQ?`I%6u^pz^qbG z7r+GC7&wr}aX&R}oOCtv18_PptCyk_6Fhe)rqnCATTp}Jer4L^t!eQ_gK&+Uy8#p7 zMfulq`Sp#>-lCd@+Ilb7A5&WI^)_)I#8lMO35AV;Vw#ql>b+a;@uRV3j{7iNQi}O4 zoX-_=`Ixx{?>07pbKGjT!FXVD|n4!oQ~T9XTx{`u1^`br*eEcM1FBi1Ev(9;C^j_L<|75C5WK>DbrT( zy>-nHf>A&X>wKfi52zHC%4_OHuN#vR*GV}{ICpsuaNnV)644ttFa`1Vlt;t?fU4vb zl;?RihPlLUdud*&5P+PvHRjdU1~B90ac0Ujp0+jW#d+LSl*@!w3f_04AFpIN4dUL- zUSVHj;67FeE-Fe_?FzT>WsY20cSEhm8>nln<-X3I@2ab>*OlS#*z=Tbe2G1;hZGu& z8WkHi7Z0p<$mr?;>U`ji{96%HM{<-SB(O1Bd5_X_TDops-{^O-Q*yOfGA0VfJjafB`aANCFc>z8Oa$z1w?{m1p&z*NhD{< zB1z(q!yq7e$O8;;_nX;#*7?5sqz!KvfwsAzBQAPv-DD1ctKoRgUu0F<5M(zc-Y2-KhBYGyx6U6>lbTtKtm3IGIX zUcc7aZ(_rFFLltF2Y?AoO?%7pMPVxIVPfWpUTB~o=W+|9`>HsYy4s#=sS0{t;CyKU z&~nKB?LGb+TyV^r|3i&7fPtlLWomZU(%4DE;e4sdc)FMYlxY6{oe@C&@9Em$j_O?U zduGlqP7aMS?;bzR z2Ml5;I?EWFo)7B-7bl?ae6Bn|4*}4L#-;B*0023(bP!n;G_H=u(PsTM)6pyPKIj4e za&AFuRiUr>A5Hx2=M~YD2Yo@H=V$q@gQ?kh858p_YiT(AHX$&HaUZ+~IR0K#z|@~* z&`MTlseaa?=MyM}?Y~mMHvgo5Ebxy7{;|M67Wl^k|5)H33;bh&e=P8i1^%(XKNk4M z0{>Xx|9cA%-vZBw(V0=|FJZ=cqyPzi@Hggd!QU%)_?tct(tfA7Kj^<{=>Pc62_6ii z%joC?y^OJ~vAv0z6TS1#&?I=CW@Yc}0-m3mnSyP=AeF7@`Dvc%d4%$JGjxB>zncCh zUVn4?o6j%WAB=vBfaduxGJ$1--<4cu9$<*-4|&dyV}A>cJ_&tn>}&>b{$h{j^;h)x z{2UZKy0rtNx-Mpf=sH_;RMei{+}O(28BKT$hV_1z?i$;(xX_!NM|bI+!Gl>dm-9Y% z9qjGFK&70MgB>WxIj-RV_LTwqq7fBi4;e6g=5A%`Vu`-Sc`Woia`&4vcwGkzK+z5i z**-8nZ=|lPt|6;p@GB|@as{JVV36Cz;8(!b`7Z4S zE#W{ZkOO%BD=DpI<=`y!vjm>$1^&d)bO$gLXl878UiWY4P(S7V^?#q`=4}kFtGTO3IG-IKhF#4SAWWdh8P&Y-wAz4`(F|!SpKug zf2lq{Q$)AObQ?Y;TI5+f-n<=WFYhaAq5DfK!{eF0)$i`oDGx$ zs6m(uLK+Z01)&EB9YN>`!bc$V0^tJ?qCj{bgy;t;#6XDtD&U`q2z>SfoiRWn_^jDq zYZa{zT6VPk&@zB_ML%-};DQ;g16o%iFr)QCLo^Ky(R!il&|~ns4$T+c7Y&KQjOL5h z8%;y&jn)~R(R2ndqv-;_%F@5ecYl>1fDqkB?H67B7epTep!w^98GUVAFr)d{fteo6 zj$lUH$_dP9SEF|-fQ9rQ>H7bf zzhByUkB8s{c{pw~P7grGt;hNPd;7uB>Dfa7;Pv}0*?(*D58)pR{9}QCEbxy7{(ocv zDohPobqy}12lAj&*y&}-0N}2Z@Rsl`8ao?3n^TAZA5t*~H@k{#=MKXK;1UMr`A2p% z*n=3v(XPiQFkc37^k-!im`O3P&RrG^5U0X8|7VoIXAr0Ug?|C@Tff?%KZg0hzE?o_ z4a{ViKl`HTR>9cke9&)Mt$61y!gr893i<@}|8oM=A*!IaaZmj&r#8O;paAwlOYaY{V3CWW3c$n9!-IAYFwc8nV4(Za0*Qe?^{@v8Oa6ts zf%uJ(zvX55g`0vsfY*5E?imjsA1~JHpZfWM?XiF1(IAcy^|K8Is555NPyX5HHqnIV z*DeBaoamqQ3J}MO{&_95&GCQX=t~j&!qKiE;ji`$V0)ivJYW}eZQ4N`c>hZtULGEd z_kWKM=KG&EehR9I^$SP)MmWFl8npkFfp;zs=yd=Xzi_lwFhIWu4bchn4;We#|G@8m{5b=BK-pCOpsW6YV}P?Q7L?^V*aj2C(JPDsoF-Vm@L3SY2JxpL zJr`642gK2vkXzvFzy)!%*P0IEc)!}G;Da;l7jBOBxPQ$Ca0WcZc#m-||1FS=`3pyH zh=4SZ!LNkz2Y$}@cLg|m=s}zd91iqMLOcDc=%LBP10I0D8pOfJ3++vfolL>vd7=m3 z(M|9z9nr(f3!uY`(KUdU8VGyNpFv0a@#q8t-b;#szvVp&y7L{d8vsTG^~#*%98dvJ zpB)1;uo9j{M*t>|eh&ee{l8CA=&cMjKpn~g@@jP)b-Vz+gdBx{)(ZVlK3G|(H~JbC z{*LHf2Rd2(1pgQB|Mxx5FIJ3E0Qdq-wpO6Hm%wir0PlegaHGcF%7m_#nw+c$pA!`U zAi!fF8r%zQ0&t98aGXuhV~u{@>?gjd9=|bJ4<>Nl=x7;7`>nKuCRvGxdeS?enqx$R z|7mAcLRNooG!(m`5WLf30_s5YBW1WgLIb$xp|+&v z0$-9pU#|ZX19V*+sC5Cj7=A-=JZ;=@t!?ds~thA)?K~|tBVEp8KhNDM` zdmsEp9$4!6fc*!zU+7P!J*xmF>|fMZa+o8S@v1Jz7(;Qa;U=?L<$0<9AQ_PHek{(6c9cpIq(SHpWy z4pH#>gW&Z+KO>+5T+TZHKo7RX>A$q%=;*itz6ZnwID+p?!b|~k3ZNFEZpD|u=L;#YGId-9GI}N) z>#d$x*@SYf;4N_*v5aE+8cT5*VPR|aKzdTJ9gVtt-$=zu8BtH*Z{dHy&%(cqFM{EN zk%RHEN4kd!TLs9tRDrGA6>HE^bml@5Xz!KiPAs>}}aGhr! zW=orM8>4j$W;3ECm?D^>?HO9s|CF#&$$6C`-m;oNGkL{ts}V(5;$0aaF2{Klhk4Wb zhN2+GsmovWtR`#!QvW~IfqgH>zTKf67RzNv$-vm>dG9mO>-6#38P)N+heUJ8Y>v{J ze=Vk}whf99itKKTR~^#YyJzY``V z7A87jV_{)p;b7z7;9z58`;}Z~GxC~%ofbw8tp``(9e9=BGHVFQ5z)K%WaZ=)6qVF9 zG_|yKboES3&CD$k&-e-14ZZ;UD>6}OB~1j3{AvjD$4>o( zSD9|lF>j$&I@jobr%>Skl}3Ll^p`$op8*nlF!cN$3xff`B*DNU!8jWSh_Jx*K!QaA zNCHR;xNAp{m_WJ*BiyV$z^tAFvoOc^A(psga;V}c2_(@}$tCM^HV9_Dw@1KD@ zYM;2j6(2+JBIBu%=T#?ZcPo$2pYq(o>tB(9>+`v>gqeAO#rd_`FHz`~OW{TY3SnvpYrf4fu(QITA<(!dzHZd+Jf7C>KJ zW+*#7hWCbqDP--w$!V_t^63081l2b~d|E_r91-uIw!c_m5Ppi|)qIA1K!v$9C)6|gkkJY{#HI-9>GqVYbDhv4|Y6Yz4Fx*CS_nKOPFNik#i3p z+iFJ%qtktfxlcsmsrHbn;hj_(_`%Hzf@z_3j(qkdb^U~XGzbo&AcdAB`bf@; zh0!a5LcE#7J)mCUCv*&-qkaKSYnYqgN|@Ai8O*Z_WO}-24J_*(=BGrrb}GGNOpiF(^FFmG^s(Qfec?JsJhm~|GES=d z!(p~dXKho7sPD-$)dlBCr)RN~WxkTdJK`Bl2k~CoFHxNN zQ!CknEktHkTnr&!Ln5iMTOTb1Ilhm0_s&uF$x-sucW4>j^CBMum;8Fti%K&(Rf8&r z6;GSG^Q@Q`MEl=j**iIIHhF>%te5q5YV zV@tfWbYRyzf_+&UkLgk{7Cmg}2_3h%jk|;49x9^l_CyAy_`1b5Z+5AQympL2&}5&l zXC8L=LGtXEIZYkk{=g}DiSqr3%1rsRfVpGMGeB-|NT-#c^8y9iCGTiyk0NiCnLdxS;#xh>x7fj2N(Rx1OKk?FrytlNvn4Ja>R~wo2 zaO;u#e(B1zg8uh##f?#>l&=KqMs5U#6D9is6Y(8TM9W-I#+F4pyL;}8ep)<4V$Q@k zB%Pv}n+1zP581fijdZs|9Kf}b-jB<>U#!*ba@=I|_kzomM0jf8*~|L2OUufT<_qNy zZc9*ye%KjLJm%h!5Lfx&o`+2`Q+Wm$73)t<>OcEl9TKf7Pb5u2Uukezp<|?en8iEw z%J6{z&Jf1EbfHUf^4OQeFM6@G)LS+cj{6o_>G9-W1{@#IV$n%K{Ph-H7CM=xgOd{b zms)x}`S)_5$hj?O^TX8!x-D3X9fM2prS2P|FUkVptExc?Z?7m5Mwc>`$c0j~)$(bW z?HK77pzb5BED)uN6$rPuC+R+SN2cKqy>kzP#wm2j7cuWUIgq4p(DALyIO;^9?$A;e z8yZ`ix+V;-s9s7RR|_-g9)MUdmlY*0Hp=xXafONJRH&+zC&V~FYj-z%WU2WFwP-@oj>;NP+1+eb=H^MpWI-Z?YUuxhwYXx1~Q zG^lq_>E+sd2qx9B>AG;-(L5*b7uw`f!^-EJg{Zskc`_qTDq>+=%!F8C*2o3vc7?Bw z1oP!SDGqqSS*&u<3x3{R(B6*W{=#);0XzHNq-G=9_)WEn3gx6I=K7AYIZq3YFx^kU z!|1Q>k1+Zp#WZT#U*zi>SyI)9S~jo@C;G2{**$b-d|t}pq?-G6PP;2wDl;?ehEw(D zKH9tMD~r5|in(L^JA3X94%=p$dBhfDrxq`KWRT$nJ`c7MLVWZ;@aj*gt!JC*zs(6^ zF^O3yTO07yfBC3Dk-9|7p*>tEWYkJ4#xhZ+J8a}r-=gAG5_fwaOli9%iXZY>z7;mi zEF!)+?)7ItQP8O6HZyI=UNJ6;dkZ&X&d_8Y`pjj{*DigfpSh={QSee{odOy1={)W8 zNTvN_or%_X#}(U8^-HKq3v5(Qpx@J-9uI*mtp|Yx$7evo55LOhQJujSr2@af#;Fs7 zz2Zwg;x%=H>lu}i&Z1&TUk=GQ$T%QV4|ht$p9(BMNl}mtqm}+;QL$6^XJ!2hdYSk# z2Cp&eTP*Sgg?9~z^)_3YnyL20m2+;6PwZF_WTEW0t_6mp8c0oYRM_5iqt=XSgR8I( zVO=w2l5PIiedM=j15D=2-dR&Ir;g5BG4gggGQI9wQm7Z=iINhg)HHy7GkcKtaOGt5 z)E3!rmnRIDN1UEjQNOLrVt*FXNCCL_<+hpfv|Lu0&+EfO z*(_(!xhj^zM{}J7KP`#(J=FJdoveuVe656tmnzci>*l*e4995G9E-b`Xq7q=ypEBD zl0Y1+Z8s9!CdjDTV!C=Q=5DT@r_3U|jn(6b>5(0$7`Bjw>7;7QZ&6{78CS#pIjnGz8@SSkRiG6V?5f$8vC6?`sL~IQ(W&zFYvC4 z)Qe-YuDDSi2T#p$cb}0xm_)6Hz=!WkvXy1AH>S)WAS6NF%Rc-#wYL*0U$5|gK6M;L zl(rMFM@T*o^z0*FnZ~PY7!YH2&y4%lFzD%T?7VN2?`D$}GOvrv;8-nP6>uZoAiR#| z$zk8+c0#e@dQ@fg{-NoOC4p0HF&2& z4{4GpX;dH0CMt=0cS;7I0XJ*?w8TZr3NK7R2OF|-8%T6~E+QRf8zTp2d_-Wy0*Bl< z!7p5Ebsa1|hG3>;vISzA%74+mGqnB)Lk}@^O&;dQhV0O*>UZHL9$WP)+?LJqFi{QY z7{3`cOgcWM;h5os>Xma#afarZz}Vw(6ZjWOSBolq4}|j|Ni(*`%KOq=(+P+!DP+kU z-PI;bdzel|Kp{7ezt_hv(F>l~?7)X9h~BGorhIo zsaa0iEiA%n(Zk|?4kmlkSHl`|lg70xr+bKB9o3!E20ug^KISwXzQ?*hPc(~Nxn#?H zTpO)yf|QdCZP0zybWLKn87;U{}8)STVA*jn_x|{XH(5cIJCU0l6 ztq%{G@tG>)i_ z8m3G;+s!A0>E%wYQKSkd&ReXvcB&mZ9FH1&xPGPNax?+s7wn*U##{mO>t7u&UGjp- zB@EL+W#r)%UktlCr zu7)5Up(&g2@zUx=cPu%AIko7 z;dk%xjbD6xU7AX6yjkHA%s|3#AC5m8QNHdq{o(`iZj(Rp9^F->Lz@K2$ey=yZK0se z==TUtxo=9H`>*VN5S47;TnLntruq7M0Amq%_G6zM`9AdX<|tkB z8E|FpnG|v?-($7OYq7p!uzA0NuT#7?aQoh1ZhiOzcJ2gfzH98H8xP!hCk#%nIyzKz z^ww((={xzUS+R2qc^|Rw3H5B1W)~ccd8TI3;+;HiAV&!yb+_*9+sCx4BPUv@vNIg= z$8~!gU;599)WwBNGv@Iz4P5W5%f0);faKj7Aan+hi}B9R;DX*v#~c*fLm#dkoGMeF zD*vf0;UNihqQ{Pl>M&b#A_&SG&-59K(&XD|QyZnY7#D50is?{vJ!q9W5MZ~Q^~Ep3LZd_ zEpWQibDq4FLw zWkf@osrjIpd1Y+A>m3SFi$Nmt(lz#@;1(sqB3-=~kQb8m_8xCg8hKhR2ddEU(A3i2 zfVmTQIA=$2o!R^p*_`|{*Xwf47olyUZLyVZesn>K`vMECj;DL+cW;zZoI3KgY{2$j z&OwkY&~?sZVIPsmS-f@MImwG>K$EoOY=Q)PWsJcf$`g^6IkeaJtkRt%2tsPP-%Yi_ z?xd^dv5rD!Mjkw;;cM)Ej1b#f8CG2uqLg*8IDrn+WiM>27qXnvoiJPbbQ~M_b<%Pn z?;dlY1h@7QLQb#y*dZKVh|v|GZkEKiGWA;zPFmkwx;y+(M3J+I(;}+mb-&^TMkhWA z5k$I2?VRM(EadYPs-e?cC}~3yI|0KxN-!?F$7Q9=dL9L){(SQB+Byf$fn<+M@W_iV z!YzW{W!Q9XuOz|lB~4EWP0?w;Gkf<<6=HfYVd!791m2>-sFR%}(x5?jz}1^>%%-`K zNKER;#SgP;$bL_`)=q0jwJMCgDX;BXY$TR1GUVj@%^OX}bP|ojKH_t)iUAMj2guS7 zC@rdst>b&?dQ!$b|5>&0$f3C)ri$l!VA#%5o3oh^qT6u;0*fm+ zP}A69>NUBa5CU(lah4m&V$o^?p+K@c{Dh1`7#;1ah@sbUCOV43sXZqT%<_vRmRG}Vd}R@@fOVweXAPvN9vGxLo(~}{S#`NyhD>S0B7zb z%)yTjnY!bLHA7GAHu%TQaE@c5FpN3}F9Pm%TpYzOOD1%6$gpyi#%O zW`@msI2?%xBTgC&UCXHmLp`ns_oXbudPf5T6UsKMyIr0nv^payGnQ-;$Elm&-xWCu zQ_Kq#&TV2=6wmcQTX|M$JgQ0`vQH?rIOU2=o&jr7-yUsxGPvPn1#L z@_`H53mwl-FI)Rl-#}K*<8Iv-WeKni+sW$IT4bu0I#&7kJUJhjB#-4~iW6asIeqA% zJ#S>)SXSa0ORhxWIrxJ7ngy#?QcRuE4C#~l#E4b>07F>CASeRnnGW)V-2J|r^L}6 zo%g&QS7|Qu;Nk;*ai{r6LtTxo5=dDFtPZlY!DCMuf0ex~wWuT1#(Ko*m*`j(c@om1~fy+k%`<-Q*p{6G$=-xzlEX7 z?N@hLQH*)3SC7g!gM6yu7(;EqA&ZLBxY)XJiomr~(MpD+UoZj>FLXc0iil2;%?|WV3%_XgmunpsWwRZiyYpSxIX0JNu z=3R-lMc;i|qe1WnBrbe$^f>aUmMORF+k@4}NBi#1GVgJ8^k;J2j zmPI_KN4Q@omO>AAIwU{&H}!=iih04BBd<(*FjpBEc1H_jG{!k&w%rUGK*`}NAQTlP^VJ|^WgALB(> zLai7^3wl5BU^`3n$9HAp5(u0|n<7KwuB3$wIJ)^~9Ht?g^e;f!^Fo{a2|tA;;B73@cu4(z2~md{3BU2N9+R2H#np5f1`7O}&CL3KrIjL1TGM+jA?4c89!(T5wd z&A^G*mS)#2?tMhm9ffHfs7>j~nu&jTK;32GpX4=%>v3_R*irEeplXPCkd?ZqgM?dl zjj6>EPR(2|XSKTHS9cKXBc5j|S{W!t zDKb<}ty8C*Jt^zxMjo$g7HnmvXvmXa#ZJUK&&VEd#CWXh!yITxr`J&NGI7Bq>?y_% z9Wv-@W1uDjl%q}2HDTVaLVi1v67E?N%YygGKT+b!8v`F!*eMP205Z^6NvDv=X;^T7 zXQJr6o&9XGvFG~N9?}x*YvFN2G$GIRw>l+qp7b zqeHy%w@{7hm={kiI_4QzWhV?Fme7gd{k)T4Ki1;NQ!?GiS2ePWuf8X99Vr_7DqZPLDq4Rp zaWDL;A?XUql_cHRK>pO#rTtqcMGYLM!*rOpA)zUZNPf6vV2xWzPK$HS_-bVy>xi)# zb{&Jv{V1B`Vm7Y1L6II;WI#w9%_Y|Mgfe^Xsil3N<$Oifdiq2C;bq_P$)gD3z(TFt zE4C@e6VMLzrOk1UCbyawlMUp9K0>a~YTzDI{ohQv8C0h|urE7Dlu!BK_PciZ2TWfX z^0^YZJq7+``lPjVh7sdz5%v^1DA^xgMOEc>k zMV6=R$XAHRUHAKw3@Qg*gX@PJ=nY?G4W|Hw9LIl{|tB` zNhO9i3k{vdsD<1(17x=3lF8Rdg;cgmFK!8cZjIurd5wRgapGN&QlZjdWzEctX$;EV zkGE~i)mp@yDjXV0GVEr*4sIoyDpBNv`;3TS6xq`L_?CN9WKhk*Vj;poYhVp!HaqC) zWKlP`TbsUOYtQ76C>Q8q5pHT*+RkVa69at<6S{_ZQ<3W`zQNK#qwDdm7%ktE9v5|^ zok%<4C4=dtuyJ2W_2)e`P<`kRH~sG)9m?z#rto6Z^t&y3HTfW7Chp{WLQhe=^O5)z zyCF03)rjr@0Ye!}=O?bd{I{k9-aX}0Xurd4Wb=d1QZsfkudp%ON6uJ{RnPY1E^;V^ z4KZCUUY5dKg;+>Vj>#lbu^*h_j6VY;`()*}7w~H@IO+Ig#8DJM=B}aG{6kU+eV)ui z$lB%xx9&DoR*Y*<6=f}ojW@g%C0%F4=B-1N*hNQNVM&O5tKuIU8)q%X9o)+ay_ z%)0GxOCyyjq5kWDlHF$aJ73itHDWTgIKwL@H-7MVdcU#_Eo`w@VTQTALx;wk|u>?bOS>d_h+F#NKS7Jrl<-CzeXL>mw(Sm@yi0 zT1UlA;I_4Toes<23f$qTAkF}IM|0oR`tZIGS6via19|_NBZH{@JJ^a(NWy}yvqugc z_|I8A8SUwp2K>Qo#?ui$ab*5{6Zl^mv5h<`Kf4{Q!VT}X9Pr#2H>z)PVC9;9q$ham z^l|JsL3lu)(&1z%gr^(f!Aw1%C(e<|&2O!}5$m#2)K}kUW5wDztyj5IqCXG%@(i=} z{4I@FQHFDNBJi!N8M%G=qgMM~E|xXa)Ng5pNeDc?ud zUV9onKL>kdj2L;v+4f^(bKHZ5!X$)W`ue+2ok^3}ScQ<*57C*XrxTHL3G$T6qsnn* zQ@hhgKQ>)0Yu)XQP&B;sVW-w@ zGc%*drMUTAVdbWD9JAp2@oU(5H<3w zbjVv&fAd(9fsk4WX?v+We`0XC<4xF$tRJ|lx;x)efWC4kQjZL!Ex*cQtG<)uG|R;M zw+`atITsC71gGgeUs25B1TZsBetmlJbK)rh1O;5v5KMPdV72b_L9$b-bh1KR6NE zaRKryZB2li{Gx!s$>YmaI%hv;lvpLZ}WUY*wbV5ZuIU+r)u*kf^gDF(uO?eH!97V>pNo{w5lW_cFHmfF^Q+EkS zSSgFBD=)#+9Y5lPO-T|l?=39DlSY&`T=G>aoga(gjE`R}JJyu|#2~+&J zmx`MAMDRG;y2y-Fwutv3TbQF(BcizZLLpR&idD{3#qn~OH!w$WUOpb+CH!zFCUiH~ z^mLqd{jq#)O(}hPJNnnehj(Tdb@eLC=hmS0@|R!@ zDbeoHR{H7I%X%w%t1e!Y;SyFISFpO6;9n@EhWh#(S}+GaF40PH>TF&z8%?a6X$84Mei6 z>2_{hbq>p_8F_I^ykxS+Cm-bg{FtAEKR-ffe`KgVfvzQ-YDijOOnFJACjvk6IbCZv zdC(>P#KVcX;J}3~^7^du{qnhFez}p`@8eYicLHlz{vnH9}A+#hj!p}1R> z48~#?yanf}>l64M*7}woTK7#<@e$tE7^ywIb_Ou+vd=B8&CN<)^|{lyB@w(urZ8~I z_hXu)T!l_YKll}-HhAqzo(*-hvOvyFFMdb3pef052vfQ>VLs)05)sR$hoLBq{8q5d#s+qsiKvY;Wz8S3a1`D%hCU22F9G2jz3`Qx^wH1nXsF&W*VThOQUx+qmr{D@P z;|de}e%t2R4%R#3%l&77F$6;v4kht0(Wt3KBs}Lf4?F|zjkshg7N@y23C>u?-R)TD zq^XSoMBjX^VrV)c6ZpzH&&H|&#qw%M&@WCd@I(^nXAeSQd8=nY8E)_gADS&Tk5pM? zeVUaKWp#Pk^RW&SQfo5s-*6|8Fl0oHVcA)9M|6*g5&3oa^-5MGe3pDlN3<(`qhpr4 zRX>%&P_A-(Z+`V^sQu!TZN9XyE1Cvu?aq~p3on_bxv`Au#9xSHeQ6;O^e{UZ=lVc3B#8!|SKaaV9eB3sM2^ z@-SW&4;7D*H9-mdZXogQj!58p9Je;yM&MR^GxyAdI?TUTDJWBYv}0!+MWQx&Xt$7@ zrtoM+!pV=cLR~HBQEt<8lD0!>Lw^1A(weRibq$i>Va_GRn-lJ}(aQ&}JCe-)Hc%Q5 z<)%i2w&Y7UFT=L__y9ALY@|dd?ITA1F`c`2TDu+f?k5$zdzakaD0&9WmL@b%p5#k# zB1tEjXoV1NS(!-g<|DVLd_`lAN`AeSgKMSAoJp}?3p(vTti5HvAB784u#XnXr;^Z! z(S8~}(mew{6Ul+6Kz^AkUw71>l2Xf zM>dxlVa{6xExb8K3H6zMN%l)ZsaFIVN#w6r6vbR@Yv`nLAVYk>3afq)%BT1}>{#2* zIoFz0_v_<|AP%f@b(S-r7B4owgF47l)$w zzE(8jQI5{JeYiDgit%ymMq@h!XQx|EJ$32I*1J8CCuE9^o=!?Vx5i-)Ya>FJr^Nf- z_vE+DS&H&P>jD>-KTMxiKz#jnCM0LW5^t>1U6UKTR@rn%7R;*udO=H6o1}!X&j!K{yxT zXYuF~Mlq}k>!K2ck2pmo%i5s3yU)Nu>g4XB&TgqlZ+h%>==%OP)U(#&m>orzdcUT8 z5C+G6DJE^^Ub5wuMGyyzs=mK)Nfkmr8)GB{j||fGyNcLrD+=F=nJ1sFrPSq|-rgR3 zNYYg`r(_^q9m5bL({-p7gGPuS)KDs$1K<6gm`dwf21&QNI{T}IN*m<@>6OaPQ1=yZ$|$}z zcllu?ATfLjMJ(+Me(>mMow*EpAL|$P1FC998bqyAm>Rbp46k)5I^6DIzhBxUW*U-A z)QinGR{<1cx~}=izL$#W;Ja&Q=d!%m-Dw~7GUxNfJ9b!H6H=VJSOG>6dXst64%2#) z8lIG~)hl10jMbhj#jdO|DLhK$a(_B%OT5#k^aaL=P31bN{AAxF@haBEeuWMImc8q} z;Yl!kAmR0GH(Bs&f8iXqf)i1MghkVA%+au&>M}>c;xpw?xMx$7izJ(K=grCwHJN4? z_3cvCP+Z7L&|SY^V?=}4D9x46MG2?0A1D%wex$mgz!cN{e7!k&!$XA9(L-3E*{XqM zNWhS>W5jDxG;F+nFO$l%VZ?%%L6#5ywC|RytHMx3U2x|zbV&}ch03K=sj9~1ou+Bh zgrc*ATk(g*nwX9L*)zaKJD!#&kJH3;rL1!5+i~zI0oh#gT{*-|J2$CK5W$|s@W9B* zA}bcbf~F@8q8o#g)ufO4<>wwRp^ifT=JB4&)?*d@V<&N6?y@|WgqMth(F&E;pXAx& zr)e@@#Azxti*N|zo#4!Qxw4wxu1|#RI=iDN53?*(v#q#o*XlRxqy`IcsavQxARnX!lW88!^fB-$e9CXo2^qpvD!Jr@PosU3=_lkdI2%!n_|!L- zZj*kjHj-6Q9Sj*~st?H*oj{GsakQmc&8{&;&8+9n-}oR`L8&Xt)X2DItYp;I4sktt za|V>c*7dg>^pW}gc5s6DF8Qh(cMKUHn1ydB%e85FY6!ydwQw-6*IgX@vgXH)Tx#FU zo1B;lv8|gRD5v&L;<-9vg&Ky=+>QiYcx8GqQUdyzK00G%o;)?d#No;2AiM*vPu~98 zV%!=?V?;vJ<2&KbP(_@9^eiCN zR&SEq#h=?z%rjD4KLgl4mw$R~AU5hKWICT)R8tXaZ$Q0R%Q(czvEG~K!dW<59TyLW zYZ_*Il1mXSAtM0FUCcT%xONzs{GdyrCa-(W%W;u7{O+V6If8>z*ET}Kh|uyo?ABJAI7s$LKwJWys zZm;+nvJ*~e?_-kvKFNpF<7ro=SaiwO8IVQ=K1{(Uocq1(&_B)}`V#5(1az}KJC3^% z+~cqZHC01mWF{3~;a{)cT5+C$@InL<-6F(pHF3U6!S7}NQXpov#dZeBe?%I8fVdOC zh_@VPzthK@ra0`AyvjiM4M(0$!6Xik{x$xoCA_Y;;u>$Es9Gg|MI+;W17#XvELq%v zf0D$~$r~T-Iqv7vx3?Nx`vf5cRO$IGw!93H+gH# z-JN!va^E@LGlZD%wy}9=vep`op8>DajFn3A6OPx_zlY-F_w;t9;CHQuW<+EjJi-R)`D4h|QLC(WomzyAp@_?o?r>sqk4UBAa^Be~MLUM!+pnVbyQDwK zP3#LVI`5mY-yC41fASi@jhQX}?0dJ_PXZYXuNG4QM+9FYN4RF7PH0K4MfoevV>jT+ z_AJh!qvxb&aa!@SGFVLG%(p{p0sZ>E4Ca9~JBDfxnn-&2cjv#Z#`x-tD?Uy9(P6+1Q5CjbxR9>cmKXyoKl_*A-nl9v&-%YT^##l z9pA)jM${mPkS+P>nVqG?p86lg^nmvcaKW!%lRjJ(pGP&N?x?) zTOM3?7gEO~awlo^jqvql?Yh`~SYb|>VYDi?q*muZ)_X9rzldYON8U?lx>M!a1HG{^ z-Za#1knZzgGC$yGShun|$!oe}bRSAqW|PEy5qY}#U~r(j{Rk2=7tb$HfJ`Ony406= z70)&_XOl}+L9Q4$$@Vdx<@B1FD}Ig=ns-=V#~oCO#;$&<$~d50btx({RfL25g42|0 zv%B`8)m$p!yyIwxp5k`DTIhr>Yx$MU4<}PagA4KdcdBBj>cfUP&Bq%v6dPk=yjK@} z3qdDiX2g6z(v0}J-b+Kfj4i(`8s-Qc98DsE&95;~ZXcyB4l*CUK8cguae)E-&wHf6G+GxyR%1l5CpIpu90?E$n`nMr*s3>ZQ4e z%%#Tr+Pz2Gt(>Y~+K6mjE~-PS^`F~}ku*h_e#KP-I) z`z;(?Y&*c27{mg6b+>Z%UnRizOVfU&P$9!}QS=D;kg^|y* zP*(VK37?{Pz(ZdmPc3|=S~T7+E4vY)`(u$pRcCu5k+(k5;3VF)9!nijl$L>nz$5-2 z%FZgPtuK7j!QG`ev{;Kf1PIa=cbDK!aCdKUDNwY*io3fP3GUV)#ob-o;WumkYt~%O zxjifU++^kK{pNYzuk}KHEkOG8RN+U95eBIonW#GYs`N|`(5yA~#t5VOWA}wpap)V^ zEk(XQ%#CEO%YcAeD%l6SBm+p!hRQn-K$MigwgRnO>@K|_*JKnGXK!pioV04c_g_pr zXe&I;3-BpvY*V1IfTxCpZ-(dqx>r#qTd0-&%jIGQ#E2K2_?EwavEh-{Gsn6rWd#jCB(SmM+3LaHZ;fjjnVki10mppE`(_|Z_I3i};C^0H9~m5= zSYMAji29c6I-b8scNOZd+@(|y4m-dP|jky_8+}@#>=|tjuaMXt;V8Mc=CB0ZTL&= zG7KhxSIl=*jdeiL4EF%8iTp0?(TjX)p^pu4F-k2no)y)TzH>-_?8++ATlU#pBTigK znKNh4j-c)=XS!VJEa!IbF~Hu-spRJyd!W^3fXfV^KL=gpY&8E8NqFO(vvHb8GV#Om zr4(_J?Txf_5;c%4;ZJ+{iTXxNm9$s3f1$tMdGoK=t+Gb~f_IXkmKb9Kp~0$B=|6yV z_0q{S2??@BSsD>T*+!CNFgo0ojP|NI)Vam}*O$@_D)Ts(JnafoR*qM8ZP8+WHOHf} zA|Z&UP_3P{;WXLT*!ZaRw)t3cYn)c{p0?VXMoIm5qe7+jomz9OIPb3&pD@uxXzX2e zx~OplR&^8w0~Q}7%EyDw${#xzO6X0^`ts(N=0Cs}dC-H-cDKgEWy%}2O-FsmYt%Lp zWK&HEwi6SzZMaOMh^5e~EY%xH;bBPv;LL}JMA8g)c?}fqz~UM^T`vdWf7iyV+1DF` z_&V|;#(oP8Gb2?A>s(nA^j2u;Prc68@&6&$6eQu?K=?~au&O(2^8JNi94GU_4~>S* zM=ZkBi}aoEO?PpKXO@#x)>up0mc=n1<6=rIkF&aSl}?q0mJKP)CJPm~lCgWNlf_%c za%nqj6JLcoHp(eQ=WqI7+X-f>&Q8`SW9*aOwSCQCz+3{9 zvgjgY<%MQTmOaj20$W&qsgqr;EFO?Cl}Rc-pAoh~`29MSEjf=*^DiCEW%ZOLK}Vd1 ztxcp>3{l(1WVppgQZ{xbg;v$(Lu&^{o*&o}u~R%I$tQicyBNR+X)Zzbf8J5kF}RGj zxUrg`F-CMv;Td3Fxe(lKj=vgZv~S=x6nvMjew_Vu=fIX6DION?RlF}jVxm#Abun=` zH(n~bC_Y!v<9sty$Jo{S>hbT5HLkY#>mcIcjpcGn3f7>)UI7fw?DE)KQLC)dBe=S) zSHaqH!6+8j%J0i%@?n~cO0zVz37q2_@qfQx1?W!zd@O8SY)pJy99%*Id?K><6lA2N zWZd+O)bE9PL83rjAwdaQ17(TNI#Pl{st#&8#%9(w)?!L7KF${22A0<5|1E+*KuAbN zLdHo!!D;?c=%e}n_w~O8+gHCl7zyFs{|L7Iuk{)L#Q#L%|B<3!OIZFBhF`ttfBgW^ zs~7z$MkAsiqP)t{sQ+~xAp%}K;{UX06ry)(raUghA78a-RC;xiTHfC24Zc?^`uu`H z<5SYi>&MCekDvU1*ZxmKMn-wP#X#`iz1P)W9}ak}X?eX62oMS1B5_NqArqOtBj$1W zf9>Db|7l7s7JfL31e?ESLTfd{_HoP_2+alU~-OEys zhc8*$&wGbAtmts~ic5xIyo{WR)ad!_b!76HTG65my`B^!YHO`Vz1veiixJWi~6s!tw1n;`v-qo_Gz21pRLD9Eop&d2px<6vH>xh?N z*h-F?n>BQh#Lwz`2E^I&jf}RVw*u)MWod~<7cWHvSD9f|sT9v#;c}ME`XvZ#*oQ7kb+gU5=I11F_ z6Mj$QOoay(B#d(8^hC`!zfV8^esH%#Z>+gNqy6r|Gx)PUL9kdNl(V>_4Mm>P&(+=$ zfqKLLlafO(TcJvUNywUWosYGWb+w$sfW4R=+}AxR4K6wu(5`~i%0;1w{g;6Y?WoCO2I;&%Ek6Q&tyIoTu zxzP{z>i3qDNC42h6;fy0q`hS3jkcx}fjK|aw$TwEvBqwNV6C(vg6KvHHq`wGNKj{T zO3ChIE;(I-`x1X~KJ62wdH0vLlvH=z+#Dx~cj1Hb(;JUy&#QQsC~#&!Q=uk{i|C)l zq_)$nMLThVl+R1~qI-8~8obB+Tvk*p%?-+hT4*e~TS-<8k8OOZZ+y>lsD?L^fl*yA zIrZc6N=^18@y?xNd%p|nwU;o7=$SX&8`|I=xRk>tDgg7?PhiVH1**Z+DEOY>e2Q|jzld{%g`|2Tc7}dOOIz(Y%#AOjmXf3GLVkEhJyT`llZ!mgx zGI}ySyQfONHXudao_?Dho%R&IQY}G>CZjg1DLS`SVDW_4QTgd-&83z-^7gtp5%pD9 zp`7yJsdEVaw_HDq0h><1${$O#mrZS>>wyX2s%aD?vWNwDt|MYIAuC&Tf2KA#uY>DUeTn!^! zxg!;bEA3jzNXfO;CeVT!aDJWjh5i7y?osb$KLlvk1(G-ZK4$4LjbJo$(vPrK)y^M+ z*$jh81a%9ZanI$4ZW^U{kI_2*h-KXN0U`5{5)|=_RwlCwpYe8}=^)doLn`ueI}!kI zl%@V<2bm^dFEGendsfmRs@oYZEpd0BaKIN;EWWzj@_Y^5X-&f{PMon{lgEzxy{>G` zoM!ZMl)n0eT1=giID1NYycA?-3cbZHPZ)a7LO#z(sa^TI0&w{tv+YkQP|607EN1SS0-SS}31C zI{QZdww4YBd25Rhsko}bH!H%xuUD6R@J6GVwgJ(B9AyX;Of(CeEaE$fF;{Et0mN1V z-^sI^Z$7uK97nQf z=!1@Nk1zbiAoe|SwrmWeisWM1Qizs}LAJ0gykJO+ebPXluTfS{*37qmB+^@Zc;Tn zae74pCy2p90KF8mP8?i=QcGvIInYny&xQT;mQDcpK%vmKL2LH2#ZB&lnTN)2w2r5i z&|y&3ql`M4&}(WX1UWTr{GOQOV^;)W!!lj}YhtDR!(*AXfda<7Y4-a@gU=NRn9Tb`m=Bq(@$if@5T+<13M92{; z<(v?enf0*KFQ>JxDwPL}y~D=rm_HEK6Tr#Aq-=?Es%5z5^?fXarl2IZPgjQF_C90! z!K67oWRw#*p~x4QooWz+r~g4Ru|0W`Np1FhU%NSd$Qt6|xI-t8#!Ft-^GS^Qx`}(t z*^@iyzsQ>2&tAiM7H>Jzf|;3*el=JI&o+mb*n7?1HwJBg>*#)RA0 z-9JF$H%W17!r^JL-qBll*)Cpniv>$IKD ztA)W`KzjOW|i?8KQuI0Gz3Oi;Q|ozwk}pLx@o zIkWWFw6a`X_gqGUA>=z71np04WD4ZQPsM0g+;>TbWLG+OQn@Rm|_M;c8+>}`W@#G|AC-hGz+^}wwo%vu$Fm>PRr zuO!(7z_ri7Ui%lD+A=PTUUUN3m1IE8PgAiKpHAeP_95Sjd}Re&@~ab9sw#qLz|W>5 zoM!w8l45{)MV;TZj6e!zZ@SwF?gGgOlmI)^qb8|!7vJ0HR6)SH{qf{Bt>v?B`v4fzWUEVyiJ2NUdzwKs}O zje1Z#)uB`K%5~qkGLqzk4BB7(4B;%TXJO1=MRUE32w^N-#_=LjXs-U$|js-1iB5O*1+mX)BuCvgPlgDlUla z(;--iGb&^&wgwKCAh*S(kA+d8rR~V(%pLeBwDB*W>k#N?G$RXXCu%|b--vO)v7Bkp zv||h-+AQIllclpK4m$e|6KXJPuZQZM(9AU4ao1>nDN9Z=%MI&2z|q3)8>7cs-c=z- z(^0cd)vSz)YcZ&zq`8nR_jKk>(xE~}V|%`V5i%DeySl*L_M(^@nq^9O;fPEIZpj~J zMmP?d0Wh!y@y87-_y}h0oK2#scZ#iM-YyG%~{G`BF zr@DaDb0QearqPk$7X(&5Mr8Bc3 z6gp$|9+a8o%b*IG^GK~%OW#I^Gp99MWBX=bSR(iciF@~*&{2>}$gF;a;+&P0ga+k{Y-Ijqr75fTSI&tIHX8&M97Yz4p9*u-kBKrZ08n zRnR|xs!h@0uj^A29*HA9N70sgaPh_(u0`}sILD16Z#$3uh9^l3tpgVt>Lc2p>=2Wk zRS6O^@W4fr&4iLWqg^0*CX`y{#ZmR=v$6#mGJM`xWYbxT;AeFg3GkXABo0Q*wzM0;;S( zTK@yw_dH1*pHmEvh*Temv=H8gF~^oS?oNibefx9@vm$zP@A2f^SbEogy@OoMrf3|K z>7x_>nk96#WAQ6B*JS9Ql`b7SR6fXN_b+r!ImkcB1(H7*3tuV(usZtJeesx-)tS@K z9Rc*;Wk+2%W|tLTM}s#SfD;2RMVuFRm)VZY*~NaiuO~lzj|Xe?-$&WZmK~fbe-W|o z4e4`XOa1q3j}R}av2H1cr9(8mwnmQ=R+Ev0(X+dFTI^i6P`us@F|WAzPG+sXu~Wnk==yHl|Io1^-y$PyLMir;MFgGHu`Yg-rGh)OW)}Yvehs)_4aro zEpvxx=te+u(s^Z-TWNW5y2X-~2=yxM`5Hmd_$IWsQNN9o-98}HlFyzFp1f}Jb~Uu1 zchqCamP$SQcn;7i7dRxhaY?HDn@Zr!5$W91w<_d;VwX{I zjw<9)u7;mHPggUh;hyvcW6C6-4Oc6JB!sBnR#l|&N35PD_^?{e zZfDD$@Kd0Ki{(?EXHnX5IF0JZ)=MFf!Ud5+{ghMmV?MB@Ag26PXLu0paLZ{bOg_H4 zcZ@A%sB<`6{>i_np($T$AuV3f?B}RnSW}$jhyK=vkE?v9M1smAJJ9D)#l2bYZ906f zlq`6;nVgE|?bp`IVWe1#NZ|{+686N5HD8N;E2O-aqA)|sNC`F zh}$37e>VR#sOniiC}BDL1AOohRYo&i`aAn^;o;?{*-^khKvZo&*F_NpDQ!kIU;Kqy zNuAvV=P~14-^Z;p^k%Zm*XN^Bv`;S~mhrA!$8im{JpGF4%)M>{)Arl7kLRlAe_zAh zUnq;?SNdKb>PvdSy(dWdw>`6`i@<5G>fMin)wq9v+8;D}2li{V;RCH8)34Ca2uS(p zQs#d@-36aJ`wbaLX~i=Lm?0rYNrk`LoyB-m zV^q)*l*V=bM5(~n*1ICDn{;)#U@VT$6iDz1vrzG&-l3GGHXrs^;tg9s2~9?H`0kLb z4~+@ojO@;Q`wdN9ssyi=S72yvccCT20Cq@x#z-ObT~>l77l}ac zSGN}p>>n;7!MxHVrkmuOA+gs`_gU^;T!DTJf+^iDFwwGC>nfg`Xx1pQ5XUbg0gXE* z&SM{%|K3x`KB!@5t}P&{w2@NwK*QP*fxbgMjkO?9oGZQfm0IyyB7b#Q(4TKiiJ;e0 zP1^GZONp^tv^=(`B&+Qh<(yXykccvu3=b3ANm{j-L%&zB59eJKt_-N~cv4sR>|;Q_ z?2UP{$S76ATiLYj_3K!);&!FoCVEnY3=h7R^7y0ywQv&Lco)91SX8pWi{hVyiBTxr z-E4ltI|LZ}&54{tV$*TqMl*~&q|aiwE@Sm_AU85J_{XUhU9~Vi7GMObZX6eW@fyA( z^==D~g&Du7Hu;xoZrDf5-H$4&yc|W$*;mY}J(mc{c`qaZZ^pBYC~VCBCp; zpsKnp@N+RYMy{J7WQ~b%_V=-6nrgFijlphXdB}JTGUvWwL*?nx&4Lw^@>}9;*z20c z-x$rJ6kNtB+eyj=n(?-OoF}f~EIu$A2y_ovF0HIs9b)b1NCRBSCFR)I;`S0o_?uq;&3o zjiiW#D5ZfsbS4i-Oish1dbX0TZ(rktB2&#%0B+YMWHa=M+`hQOH3#qNjhI>ZEvl_3 z2MoC$rT6LeITi*iDT@tMp|IMpTEKJPiSWG5b$LqT?~x~L>29oz1v+f>+u@AA!{zZf z$UfR(tKKP4+uGCFyiH-2>v^aA6!WkN7koQ@x#y=MHPgAa)9rICk&3DAKX8E)YA{H9K*^oK1*c zoX0i}ddp0t)K0$o`)47LE0nUhtPHfsZ#D?49u~8kF(C?m|n5{kQ1P zqR2-V%72?{^p70o&=Javy`4wU1={bSF|m-y1C4TV=^{ZB<{AT26kpA{exd@$M%Ks^ zD!Y(1FPe+x>`b%|`oS9go6BLz=7E=MgGkdZK=B6IHbP}(v8lWi$b|51#$~0f`9v$) z0`6xdI}Y;I1UO1oZ9^#cnu${l)HlI@RJgm2+|X|i@ZpOJfjKNKXW<>gMd4oM<@_e_9)v%4?|Z~j!f(y+>Vy0t+&?!aoZlZT%k*LvMLMMOmw6GSPj5)2R;=zz!lN2B z+lX$Gq#~f6@pkOiC<>6`7tzvXXnp~0!JppoO|F=!&5HT-FSnN-DjwZ4heDoBn~8Q* zadEzQJShm&cM5fXak?a&NQ*bVj`t2vIL~G*nTf%|gqDb%<0K)nBvJ%TeUQ(aI8C}; z7#~gs;F?ri#|vi&>Tn**Tnb$8T2Rzp_tJDkSz!AqF`+w1UYBedXEZntzV=6>+Bpwm z)4Ze17>j)%3lnkaP0K0X{6t{bhJ@LC$hXH2mo^!fidVN-=&OE$l`Zgb)cigK`Sum% z1p_uB#&l8ElZP_3kwl%}_4u)KY#^CWO7mO7YU({ zy-6`)ygxus6MGgwXNKM-4zYh10`8kRZI^w-+{Dp!BA=ukYm;RDrdV7O??VI@3wa)I zVL=-L?HUcR9w5^^OKk6F9^fsbw<(sk<>q=$MCKdIHIT6U+Y`Tda zG2i75UnW&;3eVfqtm9@CCfiCGwUxm*_Z(AG?aaGEX6NpptI_O7kQ{yj$04z|D8Lt_ zE&r=gSz6V}Ydij)V#PA}KFen(a|^iQt=e+TzzQW8OA+E2>r29TauXJY5NXKLg~X#j zWYqn|cANIOae{D09r|mf^N#EY zBP>pPm6=~DDxBJ^=rXryx7V|qqIaP$SUEz~#V~?JWyi^B!7k&z)W|_go*?WSlc!Zh z$WZp5fq#JF_Y2|8a?wsl$CPKHeg_=o`fZ?(nR?IU#bN9p#OEGM17=XLS$3ui$~^V@`;6y@geQOWWRS+_NoxPEn?Xb4XG>0 z_Q3s7xNOD;J%Q1bQm`shQ3@%k?k@;y}SbsAt~rB;z$6kRZyu5>|(h{QW5IUAJZki>qGI!0?3 zK;n$sQMvHI&6i6pP(9iN25|U?=tVqoO)-%TMXZ40GC&ufrzLX<<00!G)l-IXJ$|Im&GlTGVxs{r=)Cvmyui1ik8LeKnn-C@&Cewh4rFgdPqs~Bk zY-bRx12>n&m$Zf)V>@}w{3G$Z-)14lGCpx8+t z#!=nCE6TgC{Eqe?dSHR)A8T4Cg^sv|7i!ch=TP9OwX1_JW0;q++g#gL)?@E_h}|C& zY_81>!6yODoFXbN>dK!o#{^9zgL20t|#}jd3v<6T`ey{ZbM) z3^NsFj_=F{Zv6?L#krZ^M{6F=P8;-?G(=J<+*1oGRJo5oA)et#=(+Z*Fm1V1*>w|< zJ0h>kIIqT-zGq6QG|LMfg|Gd&&X#$M8BBJn$fE8YEt#;WKIzEx)xXZt()_q#f-t5=0e*v7V{3|s^JrX*jAP52)*=M z1pJ`%z6m)El)DbC)|8!--Blhse^g) zsNy5?j4B(mM|Aq}>ei^j90(a@a`yF$KkvjSz4ki`M3a=Qzw3JP{5ewLyyCe3QR1kd zBQsOEX6`9EvG*)}bY4q-fS-Yzj7OuWvI$sQFO;Id1-PR^C%NE%tSll)qHPR?E(N$AcEi7uGS{J8BuTzKWl*)=~29FNINcNPe z@Yf(G1(>?p1e5clj0XRPSrbZ%-3>IBMj~V0c3|Eo;LVc6fxALc{g|{#zbALSdtX~8 zUCpB=>Pg6q3qNu64TfRN{6(TjOu$B+LERHqw4It$uQOIyVn{HP?_PFivcl_YhXZM+ zDS671;713e$6JatjNdIkromP-?2?aOVT<>14ZCIE=3Isyy9>In#%{A$Iz2P^7ETld zw_=f!ur&=7NGyjzyl{u3hO9j{6_*9V=--rM%}VA~B4JUxtxiR|p?nl+eU+rb*&A{M zCjvP}sq@?WS)Np>ORjDd`TaNiCK@G>Bek#6WleI+_jX;+_`pC%YZKm^!wYT(ea9a4iSr4Zv=tT9+OX&p zOhLY^zTWg;UD!jNl!VbYABYAvt!ibODF0mK@TQFV%ee0^heX#JMPD+h_hTVIa4h9y zSvL<4^pm|BiJ_*4+L{(zSw8#^aB*o6|AM@OV^s9*KQJ8G%DVcowiOC1nr%O<5_os% zz2b-dxNoECFjwn}D#r{^VJ-ZdyNHw^Jw4~JYp1q_q-V5hE}Zw=vi^70FL7cOSaR{g z10l1u{iM6j?byxb@FMAlr=X#GM>P@P>x9`{cz-`ZS3PU9Uz*`yExy_E58y`W5{uN& zFIUp+r|VGPPLs$tDo7tc^Nms^*FzM2{yOXRXw;r=O+HNYM$dY<7A)d+Y;vZtNcN5j zf^MuwbxU0&)gHe{4(r(AGJ_{%MF$fu@^*Y%_`!lA@6-i zsdq9m$q02*40Bi$cK|+}lI<~!t;#gpY4}-uAMz`6h zwuUpetO&C04AhL_C0%LFK~E@^M2_q>6%10a;MQkeo9WIG_}#eX>#w&l0S0~_9he<8 zgGHWTrA3(&SBH+j575dvUC=;`+ynhn;)Hm%W}cKf^o~;q)O(*4N_?lAF3H^5+>UmF zLCnVT*Iy}@S%hFdIraMvB=0w5r5R$^b-lB4`taCQsQkR3W&Gt@1)3pK@mbh*Dpj?s zX`?%llzLs+pkiegviYC9zSm|02fc$<2c`|LlqDyCfZ|f?`}Voa4mXaJoJI<#uMVtK z4+lJrW6MRx z`Es&J(DFj|``(5;kqKy-h6568808`LE|vDw0@?W|gs72d9Y15%9777`-t$wp9^+z@ z=9SLsr|_q~2`bcbwY*TW#qmgz5bYPouzZXmhNDQeAaB3EUC1ceKbC%znUfqQJU!pc zRP)UKH35=wnK;Yo$WqEt$n~~LYWE;zFRa&l^bNdxR)x1El`N1TQ7a=;`~DCWOW+FI zUE{$xro$~)D;YNH_k#M?xqXY$(^|1_cNAB*TGWt}7SL;zn^?*(0m5{dN=`Oi_vpb& z;0giVM%7;8i$sbUTXkq{U+du@=g*nw@H?97+gSKmGoxbRCmNNS?0BnOG2WL-kflNB z9*RuE&H;-Zhhct~+-;UPY1O#-+Y&svSG8gxO}T*yjm za<;+Dy!CqJXqs1bVrRV&}H^0qhSNz8dFwXFBu^r zBquL;hP>f861@y7g95CXb&6{p#FyNad!n-M?+OZIN|_;-j3;KO2$MdthywZ=Mt`j? z4iQ}^XFm~}tF6ZM6=2pQEoRIutDP6l=^0T$x0TJajxo=Ri_8bF4u4cK_S&)Z@MdRF zGlJTaDTO^UXB%zH)O;T)W5Qrv zialGPxKGTGuXSY2e6X|RD++LwbZA6?V;B+ZD=?eKxGIb|og#cP*H(m}4ILj+OJo4GaKP`6vbhN;7Z`hI(Y z-GlWI#o`2n!1G6oCJ*fJ$z_iyu5=Ex2*T{M%XXXl2;nDHD}qm85d}*^7rolXpH$M( zY-h{GGGHnrtl(|{%5``owPPumvOar|K=f%?p#H<_2*CxeCVF6P*_s4g=xohu{83ku zU*Lyknu)VCn(RW3o>!_q3^^_g3*PjskV1y2FH4CPhfaT;pH zU}`RvF$hwV*QM~U}1}`(H!&pG0Cli+bni^ykEI6M`Q_>%FMXYRznH#27#nMstUyA z?|(fJy!V8EXhE=qEFC1ypuX_SC_^;i6+X-TEX{X#qBNGey*0U889ca<{f7CaLRL@F z7mb|lWvyG?>l}8uNqgnBtOc0W5DPBa*jgj$345e)iV*a1Q)>}3OPvyn*B(H{!NYXD zMpx-D0$EwOXvq%7fQ{B4lMQcWREiZ3HM?QQnj^aH-q0(GQ+t znq>ta&uRvQSD4_7_OT%{S-hJGnhFYb}gk6wwz)R6~#lFZ*P>eoikVCj2!t9#R z9OlW&0(F(Zi8)k8AY_Jdv&4SpyGF!evCyu&Ov)T{N~LczfFyD_Q~-KHhj78t^Vi&` z^-s3jhx%T+6DV6;_FN|Ecm3Z{^vv@;F`b7!NU`sGHcfKtdKyrH`*^y78ekIBP~j-H zIWqP(=sU#Tpr|A*e88A4t?Dr&Q{CYKq}-uw)dkhFQogsY|B`X?li6ms?3UO}$2^ei zXw98Z*gXihZIRkr?bK?q*R9A}XVr!ri!;d{`lj-8rxZie-3xI4bo^>NJ>~rGA&c+iqrfQZAX+GR9JR?Uyw8#SZCY)e_tI+>$=< zXx%NP<-U$`2DSL?Fb$kL288{g+PcXytd2$e+)#p)3Z!2HA73z9MHYI$CP#@4J=)_^ z%UND{FCvP^L^%yvLR9Fp0~7OyC@Da-DV+SgvAqNPy0#N*X}b89eQTd_?>-c97s7cR zC5Xh|;gi&@+teo&D*DFfL%?YR9WN6Tv?F z?;zK)5Z?6@Zhi7bW1FFK%iic)XKO_v0f35RhRH-#eo1bjj*r4^c93SO?H|O;`z_aG zkyLYiC7W&a;<>&nT2r8Y;k4~iiFIo`V1*6l9IvxGp=_mch3?}Y5_0k(d|`cpoy|Ef z&GR21$c9Ids&+VTX~DLHudS4{#Qu)J^g1~TQiq`dQ)542bDK(>94pv?t+_*{S(a$# zu2`P$#Z|`YAw;u>6cIyW$#atU21#g0+4PT{EC(DbWo)IbX+t$;jsR~rYr=e@evx>g``(BLo>|o^| z2Q+0dU*`(Lg8R5R-?YIY+MjVF!jYwIC6(lK_w$LYvAKK*e;?3D@h#YK4tQ*dKBNCl z`)sWIq2@88DTQ@*kGIjG(N@C+Gxu-u#PX)6SpB$0EEND$EDC+CDxlxUm$N&rw;9yg zbpP;N2N>FY z@=5*O!C8O=%;?QLVLR;ab@y$Wg$%6v?7r@et^LSt$v#SwA7byCGbygaQXY+o;FSSz zScNXe@)Vm`(wycJ+WhdO-WXWF9VxF5H{A1CEZYB*vY~>OYmOQkYmbom^>G^7Ch-b}HBY99Jtf z_UiH=-m;C&>{&)hs#pmu*+aM6?;Zy0*u9~9)NS%NTobr!E6yeqPh^jp=DSLFnO_6V zQK&=Khl{WmSa88PrpShWnx>z}zHo)sUvQ)s8o1NZ1{U9ClITEdCIhWPLza{PpnQ#Y z`0ZQ(Do^}JnJbO?8&0&pwO-C)*~P_UmCS{!4~&ITv-wa3&XBXnx+P`qB)?xD=-i@; z^sRMhRUe3A@+7VDb*xqG`wv%gL*=ijt$BMjg#Bo#?S;PC91t7t(x{jSM=F-R_Cnw+ zZ2^(EQ&gLIxv9l%$LGA`JamU81jPK@V-iV9<~7^$%ucICxh;=a)i(K-vh~{mf52N* ze#(xORZW|Y|8emrXoimSwMeYl*5V>93uFPtX~iVdb|@enGDMcx7N9|r5byxQ0R^I% zm`a7Ph##niM1H{SbmEc-)64zQdYeg7;}Bht#2qUmKFg0GlRhMDO};J1yo=mO`l`Ej zzsF?y^u2U3mMaSfFM?XWUGR0v*A>zHL1vsp!FqOwLfQ#JC0S_SB{pmZrdnWeN|P%R zf8|v0EEYH9Fi?XF+Bhi2%r@yWr&1bL|60-LSk`vLP{f50oq#JK06*3?o%ai&2_UG{ z-=QaCKsX~kS5VpdA(}?`Hz4@ntLBkB#7?ynNKG%d+1%91T2VGfX`?Fi?!#u6$$Z-q zs@u0fdiQ;rL)LjZ^nJ0!KLmWf?^fKnwu=me0NCHGQ|7(nt8RN;b6vh}^5xT6`F_Z|^HvDaO|R4P`(5~4*VB^I3hx4kHLF%PcUJIra{ux4uI)A6 zu6As$Te1+a&%z~g-uDOxPw7irvuJkGFhK7$0z~3&CIVk_KPl0FbzYjllS{!vgKOGp zl-msolqHzFD^h=JtL~MI|MrA7Uls0zW2)DuyTlA`xjJUW_{q=YJk+Wg#iG02YK z(2b83DVfkvB?D5juflyI|7DhRHH2?kp$erbEQF&&5Gnn2FpaE}(%bI4UmANQH|lR_ z#xrspXf%Id2GX(4A;sgJ;B+G~aJ?|qX4!BsZV@pqlVdHenXXNapdy>ulcc{N#YY>{ zYXnCTzpZ(?##eS^1kWIV9(dn9*)8~BYepFMRI70?C+TuD-5BJ&&?n<`jj$=k=B>wX zV%N`Y{Mx9U%C2J{wSCv)MN{B{-3ACB#1s2F)s>=lMo=2I(Y(?Ayh)w@mds2Ngq;@y zCT<0N@9*IMxX+>*peRV?KXxBqG%($@CW!sYt1wErL&{tZ0Gp^z#(c!uZ_`b3A{#TU zW@nof!(7Pi@Jwm-Yh&Huc4{w`{9mvyW)#qHH*_9d`SqBCDu0x6$Gxqp#(6itx+_>H zqX7&XdyN)5u~!22j1^qx3rsz9A>LxyvqWe5_2`aT3r&y8bI%zkm=PC&?+V@n5@G!U zb%hIpo5YonH#21G9dEw2u{K5|3Ed`5dSefk=QTmFGWI{!JMBHdFI+5IEMF$}7E71N#tC-|t{|sE9(91rp})Bx}4ZbD*x+Y}i5+~|P3V20`7fSq-k`_!8Z zNjC}}2~=G~8wL<|sbzUl3{#}?dT0r(G400|-IOXz+0g6{?c znT+5CZ7OEv$uS`H&y_&3Q0qo9(cnFZlJ?3~VZU@sg$KQEKduDM7N7*$1`2MW5|hJS ze|)?IJO%7T;|Js6Co>r^nwFxwb_9Nt8@0%mgu$tD+(_E_#m+{|7>UPHk-v$IYUAdG zY+|k?=wQX~YN9@gmO+0f$PLBpCqP*j1UVMgpRvvHh1;s#G<>7;XW-j_?x<3`QF=sl>dml1Uqk8C zRAZU6A;z+k&g?!O zKMMVcuc44XKQjN|+h>~g*KNuU;&*sCYlBt_Di&7)9|+>+gYX*0_m;s2(=7HK)rGkXdozdv%ioc8bCCqvrQN;wrBEthYi z;{O_SJDBzZfIyC6)rSl9$QZPi^;SMr-=W|BgomZL-hxDJF_OM*<{)z?L5WP2}u1ekhUWnRCbhw=u*RQ8P8DFX2>${`aFDr+S(aS=UrW~JD8}1OD zCbnqK82}=?iWlSvIIV~D!XQ>i`ZsjR`C5W8FQrW{+cN$VvQ$}+@Xyz&@gcKZ?YWhU2I$#sM^WNgTz1U%^dU7|ue;RsJL z0C#4V-a$W@Axeq9IPH}eyfCuo`ygGyeri~PH{k-i1&EVoAfNfAo75+d<%i#2giZ*Zu<^#A3m>kMj*+i83iQ`KwmRwf+g z>y~sJg(A)unlBKPJ##i0HH4Wl*`&=o@z6FMCxzD+@N#hl?jiz6?01?%!4+PTxpjxs z5QFGNHpY*y4ca3}TsOGfCp0+yLnS%~YRxpWdHLs8Wiv|~O*JNOKw?2V9NPwqVhg{r zr`1yp#!x<|kTa8$#oJxq?MITLylo>G;%$BrG5UjT#~tPnA#MtLv2rqMNZhW(Y^?RK zng&YtafuE3o*m+$In zWXH9FuI3O*5&tw2U<*&9qF(-jBdimvQMUX~JGTpBRcsaIL?R=FR z`pacnYeNHaz-^V1l%8zCLEGAA$l)P!I~N_^w|9zSYhGHV&&p|()CeG#-WT)hgQ@^7 z-|O3Bt$%=51gj538-9(Q70CDYtO0acyMe2TzUs(k;**k15NcqA2%t-=~hWtg$ECxW6KnhqwZ&t z$RobT@bwCanPJ7{Xf=!|&Fu{^{B_EKVvpi**{{+D2L{Ju#eqye2)PIS(#@Ey>W5e? zd4#Yi%h)xlcne^b2sQgF0H~hxjmyM-cHwAWL}jdPVD}dq!>;bWX^xT^b|S3XhRx&( zyN)SpbyO}&eFPMo#)F-awd82|$7VR0C*cagkJ4+dHBHt$d~kXS`x^f%7Sh!k3GsV? zY{eHWlUw?SkcIh$~-XvZg56Yz$1`qhL%C&m4)6tVfteJ_l$-LMu=}IURmsc4aZ~+ELB48#ru& zJ)tVCU4x#Zfd_NCSXookk_nlwS5qMYTh08V-efgZLd$G$cqeH6Arg~Ag17*ll2V4T zUJnI%A2F?G^yu726p=o02Go|irQ z7=H_`s?uz6h75BVb@r6J9ws%{0@i5j)>abD!v`R*Q5&O9nq4J&bk5Wm$?x+rypb4x zd5)}x1+)=@I?gpd8YuCRu|K!8x^d9-Kkqw$OJWsC@6u=dlY7x$O{5G7U|)ftxKnpJD9|u3Dfw%TfR*u!-_>WV&WHi+}`I z#4n)l*a7(hfxh)3W6fFI4zaVK4aC^LVe_QQ5<3ofdd_n zSZs4Jz@FF=SQlV3AY5|@;3(s-yb&bykyd!=%)xA#2r{~KgkNboOp<-%?F+4|mFQ-C zq;}l6SNR!JGnrypQprnQSw|qQ-1dXSb+KUD`Nv{AMC?YX%D3o!=A5j@t1`sQ(uwGD zT&bcaOp38ICNs>?Fg2MoC`r-;VaFJY+rMcAxb}x80@2)v7g1uM9CU>cb+4pg^9cYq z)I5e%Oq1+l8eJ$`%CIGr=RXsw4kGJiPpUf~*1u5qlEEzBU4E6^bJ7`3R1?--;CdK4 zty*g?=YasTvEUYA?Wpx2Fq{o8p>;KHQI2tl_J>jUZC!RAfZ+Y2`;Bwzy<;H@o}v$- zhpn=_9Edke{Uh|8cRtE?bDte0O4vm_JezHxX-|YcOFiC;0tfH2iQye@0Wf{ zKg8qX{GV0;04B0e5kUB{!8tjMBjoj$;`y!XnV)QR&KXY2Iet5ChN?!A2r`FJb~cbvtrso+i5tYto>1ZS=} z{pH%SNNK=Rj<8lMW8!ELXe@*`-fK7>r6BwnrfEk|4;;)kaT#PGJ%yVyaOrXSvi7JH<%V?TbXi?5Hh?dmzk1e%njyo_4FM*zIAVn$ESJK z%;$KG7ujmPV;~MO+Gnq#0i@O2P3c|73-j|B@p}QKRahQ!K#6K}wz-A`wT)lK;FlPpkZ~Zj06trp-{Jl@%X7Is zJijMg{R6DLS3ppGP5#ksC@$XvshQQ;P1dzup>iB#eLra4kq4z$r29V~*VZ#;a&m;@ zC-;l^hOH>3%UQ8qV89B(Be%+;%`#$?|>QX*L10s{S9L!OvE9iexn0BRD7pUZWLVXrx z!RIq13ru)y`3tRXy{ed6b&frylJ>PnR7Kg?i- z80k3vX%M4T#thu7SnSO~mYN5N*~OzWW#(j<88W5HFf19Y%u5hAnMBAWfs-m|iADuW z60tfy4Wh4AcIRM19PIc10JP1xvTJ@H;d{Wo@tluJ5ym~tb-WuzVcgnUvO9&r{wHB+ z0CUz^tah0H0Bf)K;n(1lRjaE}QL!Gj-GJO5xSeI`HdFP0e4~+`J4tz09_=-nU1Nl; zjVyO51337N>25W@KS}B%nFs3cHRU55FbCMiJ5IfO3Ea^8my}`8$d1@@yhZHO{{UpD zbG0B~cITcV{h#X{-Ia(_BHs<<77l>>8 z^W@Zjw!KgJANof#^7MSOeL}t~ZQduSz<)1Jhtj>z$((InUxs~|CnGsM=W?2!&Q(bs z^FAZt&32fnP#>zC^fOiGyu7;^l6d%%#CqJLsa73~r5WqYj$%}$xyC@2-1VIe6(Mxj zTEo()RDH}z)-VA4N^aSjae>6cHv^17hl4h@l>n(A!F86V6!mwDcq9h)J>aceXDfpi zk(+5BQV>-45q3f#W=;&S544;Qi3SMINs>fB$XtB^DIo_OyU7Rkj#bzO=bmRQ4;f+Ay5ts)eiJpEv<^O z^dc>Oq*dt(S&SCDR8oaRIA`j8gw3lSw?X|yq_)AQ)Y!D&j->ie>)8G0X+U9|_3u7a zT@K$$k`H;;@a<-+KrvRTz(2z|U)aeT*!mBaAnwz7smBaD8RuyJsJQ?aP>=GbX^vO@ zQ>8y$Hz(T$Q$`@ED#HYI64mj+=>cbt_*S5Lp44H`n#{#I{VmpPuJvX;1_;mSW^vb= z=vS!O$591fPdCl0jQvX}g>jWQFb>ST87sFl^kE+j))+QtG+(u_(baHfV?FbN5s@~4 zaR<6*&D-8-$Ht9w;b#Y3aJN(S0ExjTq%Vv3myuXX`LViue9k3e%Ns6pIrVnq-SF|_ zHPE+I)~Az3R=(}sp|pB1?laH7#2%MU)*KF<&$R2*i(2hb`p%L${GCYIRR|SE0G7%I zfEU3ffBKkr3JE49ZmD{^?M3Oh@Fm9ywO44V)vnv>Rvoj{MgIWNye~+G%Tpu&06Ul) zd~TF1C?@9q1m|Cp@U2@!fx)4`No)ipc<|4{R#49)uFJ@$}d!SqH zV(fDZa|6??T$3`=^EQMN1Sab|z#$lvG7ct&NRt`n4Mer8ZaRBI;ci^kaNpu!9eJ1p zs|;{p6oMuR_=QV@@Z2ANc^P|&0DuyGCxa~GJc&j@*O%HsCMT)qLChc%9SqkpRftD9 zl{9)mSjBizl42FPhCIQOYK)%qDo%2LX;6LGn+Gr%n^(b*7D=7bXE3Z?jf`=~6Pcv* zEY$8f+C9YTk(q#jNx%a#ST-9x7&j=Kxl!_DcUsi590AnDj+kn%^PfIn{VI6jkKX_HH%RZXHKEt2qr08jMwXJJ}2acV;XyVeuUGB zSK)bvtHYS%b2t9pKbhGYTy=&`J_k?U9Va}`pmfIi)GqSCf0rgV<}ny$23l1#$`DAq zNop)mK7;$kQ^YN&jk}a~%x6%$`2PUmi>{NLw8iHB9cNoTnEwD(uLFMNKO-?+SB%uZ zM&>_k3AfU5(kHCaZKazXIg|dDc(A3lHX9i3C)>1pPo@I}xE|A#l?GgnvNGB_Sm1x^ zG0!;F@9^}CZFMd(s-xWEC$0XV(rFXxHaB2{KhH_QYKt7PB>bGqZ9eMCk&s3vwa)XU z^}p1*%}bG1+EcI`pWYyrYIWA_HZ_mbD>q-X1+^6{J-YqihC$4)CF`%tv!!1zA%Rjl zf*~!uFMJ8e8mAvtN%zTyT}>`R-&p(2F|FIKP<{HHW zO~?*11Q(dVV}@U27qtd=0!qMpIT;5cK%|1*hghvGwGIhB*_&Zu1R(%7)J}6V*2(E+ zep=MGp+e`}m=p)8nl-vG9TfCzXCI`hu69%AC>ZvZR%~o^lN`!R5cE9!&2C?bp|R3x z4|E@C(Mf z!_of$I+CnE+xW!n*G2^L6lt24H)yp7O<)}0@ZY4#@oyEP)3}>?`i~i$^2ev1<(}Tu zR1`}J0OolC{Y9<=)E7T;V%m@DKM-O<+7NsQYs;V8+%dpBU`}qU#I%&0KBBVU;u|OU zo*PlD)ap)ezRNxf98RBrcyZLZ)L6gTLxukU%-{BnCsF9CxLfO0AQRpbW z=x;vtSL!I1ymQRE%|+&Sb>0W6jm_x*lYfMkPwZ zW)`cBe0G75#%Z{=IVAhS>25S$wgNyMaRs>Jtf(D5PO_a!hJ2SE{1~Fx7~`k3URW`G zlH;qRqSqqCLdd6*J5HaOvw{fw&plSM`jjeI!ACd-9?uliI)S`{-1W?pV_UAVw{skG z6x3aQcB&7#Gnx3iw-PLq@ph4hAdj@yrgoTNaTz6kV3@iRON@JBE?AkFG8;u}+dh-W z+EBUvKWU5+)MM`;BR=9V+Vo3lKWV6x5u98HsxD35pnWzQq57UomTV;GntFa{eWMiqKNssKhI zbAgE!yy9HOWXua=GTCkc!Id@f10mUYJVf<&+DR(JD91?f5q)dzp!D@{WWP%s!pz-R zpShArCpSbLXV5$zl}`rJ1;;gm$GPTs3>oWxr94eqkHK8nWcmsAm8o8qs`^J2V5?Ys zfVn3Cbtkl?tPloSxC4?*`KR?4i2neo__dZP{?&ep{=>iP)_4B^sz0fzG`@>K`^$P> z#p&_~yz!%_J!G^}lB^j{2!2&XVzrGtaSpoC;W zumkT1tPkE*gN(o&wOz*&0h1quxbOnv^&gk_3<*B@-$UxdEBUlnKlznVkOs5PY(ywjNyy=EMbFo;_~BL-A6u1CxXm6nM9WpOpuxrjvXG+!(8GbAczNhHJ~NH{!<$s`CQ zAdX0yR0kMtN$EAH+#hQm1h|1?ys3DQf;zydCCLJ$l3WUsUNh2E4@HSYO=FovPK*Xu z;!+NIgd#wq1jiDT%@gee+(03e9A+-ok>4`Wi*|s)B4{2a6lWQl?aYe2$(+pRi2?S3 ztV`Q64?NB01#vP*JWD-f5Ho2$OXIE#<({*y!yu1-Cof?yw;4IcCOT`B)7EXYFK(uF z0OJr^dPPZ(%zDF3Nr`AWpZG8KoW>b5scBm)Wdt54EcKb`c~;)?OFbn_w7km`Gef3j zHDej#F6aBC{KA(Ar1$L??;;N{>7GQo+am|4nlh+I(wIHwCY`rT!X%RLFmcvq1^uLu zk%>?wl1T$f#YiKxyKFW#;xJ|;l@qjvNgzoik_3~avI?9LCusy3?IsRzc$PgZ4ArhI zeZXQ--;`#Lw8;~r3O>>UD9w)m8% z5-|hXL6gK8w+3mOA_R<{B?d>`$%fAnMK~~`$rMs#9bj6_2r+r@0o(~eKsf`L1-PED zg3g@4+{La^ve?chvjo@Hws~%FOayg4jki?92ljyTLFA5MuFY08V+@VR5oSWIf-q+~ z)NNd|0gfh&5N2Kn8HGHIh*bk6t%~vQAmgkPw&u<-AW=KI^_iC@20mdCNmc|xHGqx> zGYA7V36X(T!GW12jPo2CNg<2WXdOq1Yz1%0E1F<$&j%o0e1J38Id!#SP&szAYE|}GQ%PO z0}(ZA2c)PV9?~+5LHPlJ$v+ZRjV7Y+DBurIc&(N_&$)*`5w9;4l^Ny_OpccFrw56P zDwi4DG1N(6V&t6WG`e?7w+s;&WL6xgIf==xYgq0udHKY&ErI~Zg}Y8`1(&1Sy zUS$$VB!MM?^B~3!Wk9tO^C)$fAgLwE0;HED4z4pbjLJihAvm2_WR4^N&Ei%$fn6l( zC7B0E88ZeD%pSObjAB}h&0=T_NC&qDUf%O$2>^jgW`x1WJWEsW3fJCXnY?CTj$l&^ z$ebB?lsIS`Aa@fzI!*PNBZwGR^>YXagDcKu49WpQ`B=s_-;GWVDK;}_WrO5)Ml1LIs zC72Z?vy2Q5d&vSz%&Bl70Q^hkPso}ofjau7VB{D@b&v_LnJ}wdiEbUQfrvpDuFRNU zGzrxNGE8qLpqG;Z%%WuzCU}7lGO#5U6D6Q;tiF>fb0IPd%+j7937S?sLW*&SGH_+? z>oEB|z%V%ypp}T?5l%!2C>~`o$4Ohcgb*1fLE>miGb?P?MrC9e6c#IeZ^ zU+yyoTw+V@U^*hWBlAW`9fT54wZ7m?Cou}k@(A~cwQQ~KGaoZMV$CH5sTL^DQ8o}N zW3;