From d8b768e72607ffba7cf37da122b51f43597f5507 Mon Sep 17 00:00:00 2001 From: Gustavo Martin Date: Wed, 1 Jan 2014 22:53:52 +0100 Subject: [PATCH] C# In Depth: Chapter 10 --- CSharpInDepth/Chapter10/Chapter10.sln | 22 +++ CSharpInDepth/Chapter10/Chapter10.v12.suo | Bin 0 -> 24576 bytes CSharpInDepth/Chapter10/Chapter10/App.config | 6 + CSharpInDepth/Chapter10/Chapter10/Chapter10.csproj | 58 +++++++ CSharpInDepth/Chapter10/Chapter10/Program.cs | 173 +++++++++++++++++++++ .../Chapter10/Chapter10/Properties/AssemblyInfo.cs | 36 +++++ .../Chapter10/Chapter10/bin/Debug/Chapter10.exe | Bin 0 -> 10752 bytes .../Chapter10/bin/Debug/Chapter10.exe.config | 6 + .../Chapter10/Chapter10/bin/Debug/Chapter10.pdb | Bin 0 -> 19968 bytes .../Chapter10/bin/Debug/Chapter10.vshost.exe | Bin 0 -> 24224 bytes .../bin/Debug/Chapter10.vshost.exe.config | 6 + .../bin/Debug/Chapter10.vshost.exe.manifest | 11 ++ .../Chapter10/Chapter10/bin/Debug/response.dat | 122 +++++++++++++++ .../Debug/Chapter10.csproj.FileListAbsolute.txt | 6 + .../Chapter10.csprojResolveAssemblyReference.cache | Bin 0 -> 1755 bytes .../Chapter10/Chapter10/obj/Debug/Chapter10.exe | Bin 0 -> 10752 bytes .../Chapter10/Chapter10/obj/Debug/Chapter10.pdb | Bin 0 -> 19968 bytes .../DesignTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 6671 bytes ...tedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs | 0 ...tedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs | 0 ...tedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs | 0 CSharpInDepth/Chapter9/Chapter9.v12.suo | Bin 54784 -> 54784 bytes 22 files changed, 446 insertions(+) create mode 100644 CSharpInDepth/Chapter10/Chapter10.sln create mode 100644 CSharpInDepth/Chapter10/Chapter10.v12.suo create mode 100644 CSharpInDepth/Chapter10/Chapter10/App.config create mode 100644 CSharpInDepth/Chapter10/Chapter10/Chapter10.csproj create mode 100644 CSharpInDepth/Chapter10/Chapter10/Program.cs create mode 100644 CSharpInDepth/Chapter10/Chapter10/Properties/AssemblyInfo.cs create mode 100644 CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.exe create mode 100644 CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.exe.config create mode 100644 CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.pdb create mode 100644 CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.vshost.exe create mode 100644 CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.vshost.exe.config create mode 100644 CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.vshost.exe.manifest create mode 100644 CSharpInDepth/Chapter10/Chapter10/bin/Debug/response.dat create mode 100644 CSharpInDepth/Chapter10/Chapter10/obj/Debug/Chapter10.csproj.FileListAbsolute.txt create mode 100644 CSharpInDepth/Chapter10/Chapter10/obj/Debug/Chapter10.csprojResolveAssemblyReference.cache create mode 100644 CSharpInDepth/Chapter10/Chapter10/obj/Debug/Chapter10.exe create mode 100644 CSharpInDepth/Chapter10/Chapter10/obj/Debug/Chapter10.pdb create mode 100644 CSharpInDepth/Chapter10/Chapter10/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 CSharpInDepth/Chapter10/Chapter10/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs create mode 100644 CSharpInDepth/Chapter10/Chapter10/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs create mode 100644 CSharpInDepth/Chapter10/Chapter10/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs diff --git a/CSharpInDepth/Chapter10/Chapter10.sln b/CSharpInDepth/Chapter10/Chapter10.sln new file mode 100644 index 0000000..ab529fb --- /dev/null +++ b/CSharpInDepth/Chapter10/Chapter10.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.21005.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Chapter10", "Chapter10\Chapter10.csproj", "{33082672-213E-4011-9D0C-0CB052B64E64}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {33082672-213E-4011-9D0C-0CB052B64E64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {33082672-213E-4011-9D0C-0CB052B64E64}.Debug|Any CPU.Build.0 = Debug|Any CPU + {33082672-213E-4011-9D0C-0CB052B64E64}.Release|Any CPU.ActiveCfg = Release|Any CPU + {33082672-213E-4011-9D0C-0CB052B64E64}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/CSharpInDepth/Chapter10/Chapter10.v12.suo b/CSharpInDepth/Chapter10/Chapter10.v12.suo new file mode 100644 index 0000000000000000000000000000000000000000..668b7e7154cbe3591f8ef9cbfa8284c78264650c GIT binary patch literal 24576 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 literal 0 HcmV?d00001 diff --git a/CSharpInDepth/Chapter10/Chapter10/App.config b/CSharpInDepth/Chapter10/Chapter10/App.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/CSharpInDepth/Chapter10/Chapter10/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/CSharpInDepth/Chapter10/Chapter10/Chapter10.csproj b/CSharpInDepth/Chapter10/Chapter10/Chapter10.csproj new file mode 100644 index 0000000..fad2300 --- /dev/null +++ b/CSharpInDepth/Chapter10/Chapter10/Chapter10.csproj @@ -0,0 +1,58 @@ + + + + + Debug + AnyCPU + {33082672-213E-4011-9D0C-0CB052B64E64} + Exe + Properties + Chapter10 + Chapter10 + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CSharpInDepth/Chapter10/Chapter10/Program.cs b/CSharpInDepth/Chapter10/Chapter10/Program.cs new file mode 100644 index 0000000..faf6a57 --- /dev/null +++ b/CSharpInDepth/Chapter10/Chapter10/Program.cs @@ -0,0 +1,173 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading.Tasks; + +namespace Chapter10 +{ + class Program + { + static void Main(string[] args) + { + + /** + * + * Listing 10.2 Using StreamUtil to copy a web response stream to a file. + */ + Console.WriteLine("Listing 10.2 Using StreamUtil to copy a web response stream to a file."); + WebRequest request1 = WebRequest.Create("http://gumartinm.name"); + using (WebResponse response1 = request1.GetResponse()) + using (Stream responseStream1 = response1.GetResponseStream()) + using (FileStream output1 = File.Create("response.dat")) + { + StreamUtil.Copy(responseStream1, output1); + } + + /** + * + * Listing 10.4 Copying a stream using an extension method. + */ + Console.WriteLine("Listing 10.4 Copying a stream using an extension method."); + WebRequest request2 = WebRequest.Create("http://gumartinm.name"); + using (WebResponse response2 = request2.GetResponse()) + using (Stream responseStream2 = response2.GetResponseStream()) + using (FileStream output2 = File.Create("response.dat")) + { + responseStream2.CopyToExtension(output2); + } + + /** + * + * Listing 10.5 Extension method being called on a null reference. + */ + Console.WriteLine("Listing 10.5 Extension method being called on a null reference."); + object y = null; + Console.WriteLine(y.IsNull()); + y = new object(); + Console.WriteLine(y.IsNull()); + + /** + * + * Listing 10.6 Using Enumerable.Range to print out the numbers 0 to 9. + */ + Console.WriteLine("Listing 10.6 Using Enumerable.Range to print out the numbers 0 to 9."); + var collection1 = Enumerable.Range(0, 10); + foreach (var element in collection1) + { + Console.WriteLine(element); + } + + /** + * + * Listing 10.7 Reversing a collection with the Reverse method. + */ + Console.WriteLine("Listing 10.7 Reversing a collection with the Reverse method."); + var collection2 = Enumerable.Range(0, 10).Reverse(); + foreach (var element in collection2) + { + Console.WriteLine(element); + } + + /** + * + * Listing 10.8 Using the Where method with a lambda expression to find odd numbers. + */ + Console.WriteLine("Listing 10.8 Using the Where method with a lambda expression to find odd numbers."); + var collection3 = Enumerable.Range(0, 10).Where(x => x % 2 != 0).Reverse(); + foreach (var element in collection3) + { + Console.WriteLine(element); + } + + /** + * + * Listing 10.9 Projection using a lambda expression and an anonymous type. + */ + Console.WriteLine("Listing 10.9 Projection using a lambda expression and an anonymous type."); + var collection4 = Enumerable.Range(0, 10) + .Where(x => x % 2 != 0) + .Reverse() + .Select(x => new { Original = x, SquareRoot = Math.Sqrt(x) }); + foreach(var element in collection4) + { + Console.WriteLine(element); + } + + /** + * + * Listing 10.10 Ordering a sequence by two properties. + */ + Console.WriteLine("Listing 10.10 Ordering a sequence by two properties."); + var collection5 = Enumerable.Range(-5, 11) + .Select(x => new { Original = x, Square = x * x }) + .OrderBy(x => x.Square) + .ThenBy(x => x.Original); + foreach (var element in collection5) + { + Console.WriteLine(element); + } + + // Wait for key. + Console.ReadKey(); + } + } + + public static class StreamUtil + { + const int BufferSize = 8192; + + public static void Copy(Stream input, Stream output) + { + byte[] buffer = new byte[BufferSize]; + int read; + while ((read = input.Read(buffer, 0, buffer.Length)) > 0) + { + output.Write(buffer, 0, read); + } + } + + public static byte[] ReadFully(Stream input) + { + using (MemoryStream tempStream = new MemoryStream()) + { + Copy(input, tempStream); + return tempStream.ToArray(); + } + } + } + + public static class StreamUtilExtension + { + const int BufferSize = 8192; + + public static void CopyToExtension(this Stream input, Stream output) + { + byte[] buffer = new byte[BufferSize]; + int read; + while ((read = input.Read(buffer, 0, buffer.Length)) > 0) + { + output.Write(buffer, 0, read); + } + } + + public static byte[] ReadFully(this Stream input) + { + using (MemoryStream tempStream = new MemoryStream()) + { + CopyToExtension(input, tempStream); + return tempStream.ToArray(); + } + } + } + + public static class NullUtil + { + public static bool IsNull(this object x) + { + return x == null; + } + } +} diff --git a/CSharpInDepth/Chapter10/Chapter10/Properties/AssemblyInfo.cs b/CSharpInDepth/Chapter10/Chapter10/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..8e3f607 --- /dev/null +++ b/CSharpInDepth/Chapter10/Chapter10/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Chapter10")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Chapter10")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("e813db06-46dd-411c-b1a4-2c9f4b7b20e1")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.exe b/CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.exe new file mode 100644 index 0000000000000000000000000000000000000000..2902cb364bdfe36a30b2d6de68eec69d23a99f3d GIT binary patch literal 10752 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 literal 0 HcmV?d00001 diff --git a/CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.exe.config b/CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.exe.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.pdb b/CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.pdb new file mode 100644 index 0000000000000000000000000000000000000000..60a6ed955885571b641b8d9dd5a37d08d2bfe011 GIT binary patch literal 19968 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 OJz7^ literal 0 HcmV?d00001 diff --git a/CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.vshost.exe.config b/CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.vshost.exe.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.vshost.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.vshost.exe.manifest b/CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.vshost.exe.manifest new file mode 100644 index 0000000..061c9ca --- /dev/null +++ b/CSharpInDepth/Chapter10/Chapter10/bin/Debug/Chapter10.vshost.exe.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/CSharpInDepth/Chapter10/Chapter10/bin/Debug/response.dat b/CSharpInDepth/Chapter10/Chapter10/bin/Debug/response.dat new file mode 100644 index 0000000..45e22cc --- /dev/null +++ b/CSharpInDepth/Chapter10/Chapter10/bin/Debug/response.dat @@ -0,0 +1,122 @@ + + + + gumartinm.name » index + + + + + +
+
+
+

gumartinm.name

+
+ +

java

+ +
+ + +

android

+ +
+ + +

symfony

+ +
+ + +

java spring

+ + +
+ + +

javapos

+ +
+ + +

java mybatis

+ +
+ + +

C

+ +
+ + +

C#

+ +
+ + +

Light color means currently no plans for further development.

+
+ +
+
+

contact

+ +

+ Gustavo Martin Morcuende
+

+
+
+
+
+
+ + diff --git a/CSharpInDepth/Chapter10/Chapter10/obj/Debug/Chapter10.csproj.FileListAbsolute.txt b/CSharpInDepth/Chapter10/Chapter10/obj/Debug/Chapter10.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..a42e3d6 --- /dev/null +++ b/CSharpInDepth/Chapter10/Chapter10/obj/Debug/Chapter10.csproj.FileListAbsolute.txt @@ -0,0 +1,6 @@ +C:\Users\Gustavo\Source\Repos\CSharpForFun\CSharpInDepth\Chapter10\Chapter10\bin\Debug\Chapter10.exe.config +C:\Users\Gustavo\Source\Repos\CSharpForFun\CSharpInDepth\Chapter10\Chapter10\bin\Debug\Chapter10.exe +C:\Users\Gustavo\Source\Repos\CSharpForFun\CSharpInDepth\Chapter10\Chapter10\bin\Debug\Chapter10.pdb +C:\Users\Gustavo\Source\Repos\CSharpForFun\CSharpInDepth\Chapter10\Chapter10\obj\Debug\Chapter10.csprojResolveAssemblyReference.cache +C:\Users\Gustavo\Source\Repos\CSharpForFun\CSharpInDepth\Chapter10\Chapter10\obj\Debug\Chapter10.exe +C:\Users\Gustavo\Source\Repos\CSharpForFun\CSharpInDepth\Chapter10\Chapter10\obj\Debug\Chapter10.pdb diff --git a/CSharpInDepth/Chapter10/Chapter10/obj/Debug/Chapter10.csprojResolveAssemblyReference.cache b/CSharpInDepth/Chapter10/Chapter10/obj/Debug/Chapter10.csprojResolveAssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..9542bb3dfe2f9a2ed91eadc8c3cb03c83fd1a625 GIT binary patch literal 1755 zcmcIk?QYXB6wTT-YtwcV#y3L>(tdzeSuJHSkR}9S(?e%!8l!G)e{zc33Ed60s)lGsYt_plYnh zr2Cw7+WtOB#YDP>GkmrEAmcidu$DrmCFN~@FB@?deuUG37(==?>h$83_*LBPMk^iK zqZL$pa=l3ZRB1^1nrc8+EoL0@S$Xm7ClUzGA=IV>MK-BA(saZD%dV9T%p&}kI%f#p zwxH1l4YiPS(|)RfNRFul*}_Ew5y74m6BdE2;un4P17=M}%H5|t1LZj7vQw$ltJi65 zov*cYP0d^XtpEGd>RS)1@@^We%_39`v~W~4Z`U=TgEvD{(xIe@zhPWa{?n7ym(PZu zAqEL)2>v^zATiE^8eW(?+%SCjF64MfcGm}&v&jpxGMtw8foe(+`k>cOG^Dt}ibR~d z=vG{u@|T2@ZI*t^wXoGuaaw_pkn7Zn)ydsN?{H5K3g{2+UwGuRIne3f+1 sCSkue>Ap=uKWx$in}mMZq=z;M{j^DsY!doylNN0f?uSi!Y?11J0h=QLApigX literal 0 HcmV?d00001 diff --git a/CSharpInDepth/Chapter10/Chapter10/obj/Debug/Chapter10.exe b/CSharpInDepth/Chapter10/Chapter10/obj/Debug/Chapter10.exe new file mode 100644 index 0000000000000000000000000000000000000000..2902cb364bdfe36a30b2d6de68eec69d23a99f3d GIT binary patch literal 10752 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 literal 0 HcmV?d00001 diff --git a/CSharpInDepth/Chapter10/Chapter10/obj/Debug/Chapter10.pdb b/CSharpInDepth/Chapter10/Chapter10/obj/Debug/Chapter10.pdb new file mode 100644 index 0000000000000000000000000000000000000000..60a6ed955885571b641b8d9dd5a37d08d2bfe011 GIT binary patch literal 19968 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 literal 0 HcmV?d00001 diff --git a/CSharpInDepth/Chapter10/Chapter10/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/CSharpInDepth/Chapter10/Chapter10/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs new file mode 100644 index 0000000..e69de29 diff --git a/CSharpInDepth/Chapter10/Chapter10/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/CSharpInDepth/Chapter10/Chapter10/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs new file mode 100644 index 0000000..e69de29 diff --git a/CSharpInDepth/Chapter10/Chapter10/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/CSharpInDepth/Chapter10/Chapter10/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs new file mode 100644 index 0000000..e69de29 diff --git a/CSharpInDepth/Chapter9/Chapter9.v12.suo b/CSharpInDepth/Chapter9/Chapter9.v12.suo index 73aa76d1ee1f9c4db630d67a605dd4da783024df..124c6c273d1f6b9981866ad4a6eb2e2816648616 100644 GIT binary patch delta 1746 zcma)6ZA=_x5Z>9_g)6uBL3>}NP$(Q9Q3KZkCbdwm0UHbDHgrg^w*VUAegbDGQgg1Fg>0jrP^m$cR2%l#SR*%)Q7Z=G>Xgy3$%IB@xE*I_i?R zu9>hK&&z(vWyqcLIkO-=AQ|UuewhzhnF&|V=Pbg^p`hkyQVIz(^E7U293ze>oWZ2y zpp_fThcke~P8G&5>1@N>u38*%odLk4D++lS$$b+feCQm*L`)*21sk_)e;h4owhP-R z9v5rIgaM2M+Oer22>qB0wAlr2O=;$iXE9Pb`GiEtk0U;oZHEFB$d?h!Hbx4cK!mBn zqf@NZAE!ehX`OvX)(V8q+5@Br}7v}Qhq z$>J!yijk5@Ek6ODAQUvj3jn((`U8(ruiFlMePin0_t_UMf7;5)Z!M+~m}6g^$j491 z{H{*<%PXH(dJDn}pQZlEDp&QzvLM9EL@lq;4m@vLGLF@U51$8ZN0Y)C=VbuUf|2fa zh3Ac52{TPx-l58S$Z!%*SC7ddl0fbJbo47}qzu=Pa+U!9* z^8O=Q!&v#A4Zrx{FT*CsyrpxrElq*MHze?=@Nrxz)6SRo4i4et7k?Bneranq-v|-jxwKPTkg(~acX8tjmE`NjpFZ5`Xzdy}{^G##p21U< yBVDi2yX{8zP5Di5<;r$nC9+j{F delta 1608 zcmb_cU2IcT96#r_x2s!kcRTC0Zgq56rJWRd+peRethcr-Q}@B#9{eD}m_E!9wwN}t z+q4&f5wjV#`!^wwVOSHx3o*(y(I9GNhJXPX877)2iRha|eP|O&bn}0%UTs3e7thJ> zod3u9_=Q7y}NBQXZPG%dCOaMm4*l*avUZs6Z97-b9wqBWKDenS;J;S z9h-r=yux8*ZdT)f%>vZi5M)dZf-PA^IFP;vu>oO6FqzSU$j=W9@l`ml!J@grYiQUd zJR*sRAlea8Li*IhZZdaP=LZIPD^uLzj~S)^n?Gl4%apEa z*J^&oX?`G~+S4}XDzlB*$g)GHA#2amLr}I4S{o}Akf~MpDHJ&2wquf-AS>pfxL}4~ z#VHzwtm6RfzMH1uFj!r22y#|PyUu~=iXbh*XRaO)JrUajc(SSDI+}y5r{Bi1&#L2Z z^In4TraavX+08SmJ0(z7CQTI!Ami?b)Vim@eg7$etVd0Kg|_B6?J_PiWlUtD_Mg{1RMbkaH z>8&%W6HRZ$YmIWy7rX#jXTObEvaZ4+ItpcHpFo``<0|DHkiBoF@DNvsR;zn57FOAQ z9wyoz6$m@pRk0RIZ3>@2!7a!=Jjr(=#c8(_Rn=-shG!4A7ji9+!BU+>B`ELsLLlrm z7JMTvHLMcbm_Hb~#rPrZ;8d3dK7XQ3&!p&bv#hEIr$OEIlh!vqYbosD)QxG|zvV}B z5B^ZC`cijhK+E`MDab1_6u*?gbU6Wu3!j3rq7?R^=rte6-Db`5`YMGRbM;pC=vhAD zx4A8#9BFlYmsu^O-d}dS-9%1as$E;6(8@K#mASB1Jn{->3ggoK2NIg1ZsmH}FENSl zD@3};cKjzII7%cy9?|JAQWEww2_lu$bxEXx*prA9iQ(9#_Y?`k@2~pd>>Kfxj%YL> z#Ui0VBpvDsY>~Ey1Ck#JCo9!)iEV-=3$j(0r0<}w