From a796d64be700d55d6c044eb204ac91d8977cf93b Mon Sep 17 00:00:00 2001 From: borb Date: Thu, 19 Jun 2025 15:59:54 +0300 Subject: [PATCH] add converted md slides and images - remove example lecture --- 1. Introduction to C# and .NET.md | 165 ++++++ 1.5 Introduction to Visual Studio.md | 49 ++ 10. Static Members, Methods and Classes.md | 233 ++++++++ 11. Delegates and Events.md | 289 +++++++++ 12. Files and Streams.md | 295 +++++++++ 13. Generics, IEnumerable and LINQ.md | 528 +++++++++++++++++ 14. Exceptions, Threads and Tasks.md | 318 ++++++++++ 15. Design Patterns in C#.md | 133 +++++ 2. Variables and Types.md | 324 ++++++++++ 3. Conditionals.md | 263 +++++++++ 4. Loops.md | 246 ++++++++ 5. Arrays and Lists.md | 204 +++++++ 6. Methods.md | 270 +++++++++ 7. Classes and Objects.md | 558 ++++++++++++++++++ 8. Inheritance & Abstract Classes.md | 302 ++++++++++ 9. Interfaces.md | 270 +++++++++ example-lecture-slides.html | 80 --- example-lecture.md | 64 -- imgs/.gitkeep | 0 imgs/1 Introduction to C# and NET_1.png | Bin 0 -> 20515 bytes imgs/1 Introduction to C# and NET_2.png | Bin 0 -> 47851 bytes imgs/1 Introduction to C# and NET_3.png | Bin 0 -> 12428 bytes imgs/1 Introduction to C# and NET_4.png | Bin 0 -> 39318 bytes imgs/1 Introduction to C# and NET_5.png | Bin 0 -> 4388 bytes imgs/1 Introduction to C# and NET_6.png | Bin 0 -> 1408 bytes ... Static Members, Methods and Classes_1.png | Bin 0 -> 5706 bytes ... Static Members, Methods and Classes_2.png | Bin 0 -> 6233 bytes ... Static Members, Methods and Classes_3.png | Bin 0 -> 5768 bytes ... Static Members, Methods and Classes_4.png | Bin 0 -> 14660 bytes imgs/11 Delegates and Events_1.png | Bin 0 -> 1945 bytes imgs/11 Delegates and Events_2.png | Bin 0 -> 5459 bytes imgs/11 Delegates and Events_3.png | Bin 0 -> 7643 bytes imgs/12 Files and Streams_1.png | Bin 0 -> 11752 bytes imgs/12 Files and Streams_2.png | Bin 0 -> 9936 bytes imgs/12 Files and Streams_3.png | Bin 0 -> 58745 bytes imgs/13 Generics, IEnumerable and LINQ_1.png | Bin 0 -> 4548 bytes imgs/13 Generics, IEnumerable and LINQ_2.png | Bin 0 -> 4926 bytes imgs/13 Generics, IEnumerable and LINQ_3.png | Bin 0 -> 26584 bytes imgs/13 Generics, IEnumerable and LINQ_4.png | Bin 0 -> 13179 bytes imgs/14 Exceptions, Threads and Tasks_1.png | Bin 0 -> 20938 bytes imgs/14 Exceptions, Threads and Tasks_2.png | Bin 0 -> 25351 bytes imgs/14 Exceptions, Threads and Tasks_3.png | Bin 0 -> 7414 bytes imgs/14 Exceptions, Threads and Tasks_4.png | Bin 0 -> 5683 bytes imgs/14 Exceptions, Threads and Tasks_5.png | Bin 0 -> 9624 bytes imgs/15 Design Patterns in C#_1.png | Bin 0 -> 14164 bytes imgs/15 Introduction to Visual Studio_1.png | Bin 0 -> 27239 bytes imgs/15 Introduction to Visual Studio_2.png | Bin 0 -> 17819 bytes imgs/2 Variables and Types_1.png | Bin 0 -> 3470 bytes imgs/4 Loops_1.png | Bin 0 -> 6541 bytes imgs/4 Loops_2.png | Bin 0 -> 19347 bytes imgs/4 Loops_3.png | Bin 0 -> 20699 bytes imgs/5 Arrays and Lists_1.png | Bin 0 -> 25930 bytes imgs/5 Arrays and Lists_2.png | Bin 0 -> 30728 bytes imgs/5 Arrays and Lists_3.png | Bin 0 -> 7442 bytes imgs/5 Arrays and Lists_4.png | Bin 0 -> 6043 bytes imgs/5 Arrays and Lists_5.png | Bin 0 -> 17479 bytes imgs/6 Methods_1.png | Bin 0 -> 22775 bytes imgs/6 Methods_2.png | Bin 0 -> 20147 bytes imgs/6 Methods_3.png | Bin 0 -> 7347 bytes imgs/6 Methods_4.png | Bin 0 -> 6639 bytes imgs/7 Classes and Objects_1.png | Bin 0 -> 12731 bytes imgs/7 Classes and Objects_2.png | Bin 0 -> 6842 bytes imgs/7 Classes and Objects_3.png | Bin 0 -> 29091 bytes imgs/7 Classes and Objects_4.png | Bin 0 -> 1583 bytes imgs/7 Classes and Objects_5.png | Bin 0 -> 1880 bytes imgs/9 Interfaces_1.png | Bin 0 -> 10099 bytes imgs/buuttilogo.png | Bin 1541 -> 0 bytes 67 files changed, 4447 insertions(+), 144 deletions(-) create mode 100644 1. Introduction to C# and .NET.md create mode 100644 1.5 Introduction to Visual Studio.md create mode 100644 10. Static Members, Methods and Classes.md create mode 100644 11. Delegates and Events.md create mode 100644 12. Files and Streams.md create mode 100644 13. Generics, IEnumerable and LINQ.md create mode 100644 14. Exceptions, Threads and Tasks.md create mode 100644 15. Design Patterns in C#.md create mode 100644 2. Variables and Types.md create mode 100644 3. Conditionals.md create mode 100644 4. Loops.md create mode 100644 5. Arrays and Lists.md create mode 100644 6. Methods.md create mode 100644 7. Classes and Objects.md create mode 100644 8. Inheritance & Abstract Classes.md create mode 100644 9. Interfaces.md delete mode 100644 example-lecture-slides.html delete mode 100644 example-lecture.md delete mode 100644 imgs/.gitkeep create mode 100644 imgs/1 Introduction to C# and NET_1.png create mode 100644 imgs/1 Introduction to C# and NET_2.png create mode 100644 imgs/1 Introduction to C# and NET_3.png create mode 100644 imgs/1 Introduction to C# and NET_4.png create mode 100644 imgs/1 Introduction to C# and NET_5.png create mode 100644 imgs/1 Introduction to C# and NET_6.png create mode 100644 imgs/10 Static Members, Methods and Classes_1.png create mode 100644 imgs/10 Static Members, Methods and Classes_2.png create mode 100644 imgs/10 Static Members, Methods and Classes_3.png create mode 100644 imgs/10 Static Members, Methods and Classes_4.png create mode 100644 imgs/11 Delegates and Events_1.png create mode 100644 imgs/11 Delegates and Events_2.png create mode 100644 imgs/11 Delegates and Events_3.png create mode 100644 imgs/12 Files and Streams_1.png create mode 100644 imgs/12 Files and Streams_2.png create mode 100644 imgs/12 Files and Streams_3.png create mode 100644 imgs/13 Generics, IEnumerable and LINQ_1.png create mode 100644 imgs/13 Generics, IEnumerable and LINQ_2.png create mode 100644 imgs/13 Generics, IEnumerable and LINQ_3.png create mode 100644 imgs/13 Generics, IEnumerable and LINQ_4.png create mode 100644 imgs/14 Exceptions, Threads and Tasks_1.png create mode 100644 imgs/14 Exceptions, Threads and Tasks_2.png create mode 100644 imgs/14 Exceptions, Threads and Tasks_3.png create mode 100644 imgs/14 Exceptions, Threads and Tasks_4.png create mode 100644 imgs/14 Exceptions, Threads and Tasks_5.png create mode 100644 imgs/15 Design Patterns in C#_1.png create mode 100644 imgs/15 Introduction to Visual Studio_1.png create mode 100644 imgs/15 Introduction to Visual Studio_2.png create mode 100644 imgs/2 Variables and Types_1.png create mode 100644 imgs/4 Loops_1.png create mode 100644 imgs/4 Loops_2.png create mode 100644 imgs/4 Loops_3.png create mode 100644 imgs/5 Arrays and Lists_1.png create mode 100644 imgs/5 Arrays and Lists_2.png create mode 100644 imgs/5 Arrays and Lists_3.png create mode 100644 imgs/5 Arrays and Lists_4.png create mode 100644 imgs/5 Arrays and Lists_5.png create mode 100644 imgs/6 Methods_1.png create mode 100644 imgs/6 Methods_2.png create mode 100644 imgs/6 Methods_3.png create mode 100644 imgs/6 Methods_4.png create mode 100644 imgs/7 Classes and Objects_1.png create mode 100644 imgs/7 Classes and Objects_2.png create mode 100644 imgs/7 Classes and Objects_3.png create mode 100644 imgs/7 Classes and Objects_4.png create mode 100644 imgs/7 Classes and Objects_5.png create mode 100644 imgs/9 Interfaces_1.png delete mode 100644 imgs/buuttilogo.png diff --git a/1. Introduction to C# and .NET.md b/1. Introduction to C# and .NET.md new file mode 100644 index 0000000..4eb6e79 --- /dev/null +++ b/1. Introduction to C# and .NET.md @@ -0,0 +1,165 @@ +# Introduction to C# and .NET + +![](imgs/1%20Introduction%20to%20C%23%20and%20NET_0.png) + +--- + +# Overview + +Installing Visual Studio + +A Brief History of .NET and C# + +Creating Your First Application + +Statements + +Errors in Visual Studio 2022 + +Comments + +# Installing Visual Studio + +* Note: Visual Studio and Visual Studio Code are NOT the same thing + * Visual Studio is a full-blown IDE (integrated development environment) + * Visual Studio Code is more akin to text editors like Sublime Text, Atom etc. + * While both can be used in certain situations, the C# and ASP.NET portions of this training assume that you are using Visual Studio +* You can download the free version (Visual Studio Community) from [https://visualstudio.microsoft.com/vs/community/](https://visualstudio.microsoft.com/vs/community/) +* This downloads the setup executable for VS, which will be used to download all the modules needed (see the next slide) + +# Installing Visual Studio (cont.) + +* After launching the setup executable, you will be prompted to select the components to be installed along with VS. For our purposes you will need "ASP.NET and web development" portion, found in the "Workloads" tab +* Click "Install" found in the lower right corner to begin installing VS and the required components +* Note: The installation can be quite large (8 GB or more) depending on which components are already installed on your system, so we recommend using a personal hotspot if possible + * Multiple people downloading large amounts of data using the same public WIFI network will bog down the download speed for everyone +* After installing VS, you can skip the account creation portion + +![](imgs/1%20Introduction%20to%20C%23%20and%20NET_1.png) + +# .NET + +* .NET is Microsoft's software framework that turns your code (C#, F# or VB) into machine language +* Two types of .NET Frameworks: + * .NET Framework + * 2001 + * Windows only + * Comes pre-installed with every Windows OS + * .NET Core + * 2016 + * "Successor to .NET Framework" + * Open source! [https://github.com/dotnet/](https://github.com/dotnet/) _core_ + * Cross-platform (Linux, Mac, Windows) + * We will be using .NET Core during this course as the old .NET Framework is pretty much legacy + +* Base Class Library (BCL) + * A set of libraries that every .NET implementation uses + * The libraries consist of common activities, like classes and value types, that you will use to create your programs + * No need to reinvent the wheel with every new project + +using System; + +using System.Collections.Generic; + +using System.Linq; + +using System.Threading.Tasks; + +# C# + +C# was developed for .NET Framework in 2000 + +Microsoft wanted a Windows exclusive competitor for Java + +Easy to understand, general purpose, object oriented + +![](imgs/1%20Introduction%20to%20C%23%20and%20NET_2.png) + +Source: [http://pypl.github.io/PYPL.html](http://pypl.github.io/PYPL.html) + +# Creating a Console Application + +Open Visual Studio 2022. + +Select "Create a new project" + +Type "console" to the search bar and select the following template: + +![](imgs/1%20Introduction%20to%20C%23%20and%20NET_3.png) + +# Running a Console Application + +To run your program, select "Debug" -> "Start Debugging" __or __ press F5 __or __ press the small play sign preceding your project name at the top middle + +The template project should now run and print "Hello World!" to the console. Try changing the code so that it prints something else! + +# C# Syntax - Statements + +using System; + +namespace MyAwesomeProgram + +{ + +class Program + +{ + +static void Main(string[] args) + +{ + +Console.WriteLine("Hello World!"); + +} + +} + +} + +Rows = statements + +Curly brackets ' _{' _ and ' _}' _ mark the start and the end of different _bodies _ of statements + +Semicolon at the end of some statements + +When to use semicolon? Don't worry: Visual Studio will tell you + +# C# Syntax - Errors in Visual Studio 2022 + +Why is this throwing an error? + +Missing one closing curly bracket + +![](imgs/1%20Introduction%20to%20C%23%20and%20NET_4.png) + +Hovering on the red underline will show a hint for the error: + +![](imgs/1%20Introduction%20to%20C%23%20and%20NET_5.png) + +All errors can be displayed by pressing the red cross in the bottom: + +![](imgs/1%20Introduction%20to%20C%23%20and%20NET_6.png) + +# C# Syntax - Comments + +There are two basic ways to comment in C#: + +// This is a comment + +/* This is a + +multi + +line + +comment */ + +Any text inside a comment will not be executed + +Use comments to explain your code or comment out actual code for testing and debugging + +# Assignments + +[Assignments about this topic can be found here](https://gitea.buutti.com/education/academy-assignments/src/branch/master/C%23%20Basics/1.%20C%23%20Basics%20Assignments) + diff --git a/1.5 Introduction to Visual Studio.md b/1.5 Introduction to Visual Studio.md new file mode 100644 index 0000000..3ee5694 --- /dev/null +++ b/1.5 Introduction to Visual Studio.md @@ -0,0 +1,49 @@ +# Introduction to Visual Studio + +![](imgs/15%20Introduction%20to%20Visual%20Studio_0.png) + +--- + +# Overview + +* An IDE (Integrated development environment) by Microsoft for Windows +* Debug tools +* Used for C#, C++, etc +* Free Community edition +* Multiple versions released + * First version: 1997 + * 2017, 2019, 2022… + +# Windows + +_Solution Explorer_ (CTRL+ALT+L) shows the files in the project + +_Terminal _ (CTRL+Ö) for command line stuff, like using Git + +# Moving windows around + +![](imgs/15%20Introduction%20to%20Visual%20Studio_1.png) + +* Drag and hold windows to move them around + * _Snap to layout_ window appears +* After moving a window to the right, you can pin it to see its title on the right + +![](imgs/15%20Introduction%20to%20Visual%20Studio_2.png) + +# Keyboard shortcuts + +* CTRL+. + * If a type is missing, use this to add the needed using directive +* CTRL+R, then CTRL+R (seriously?) + * Rename variable + * Press Enter to confirm +* CTRL+C (without selecting), then CTRL+V + * Duplicate line +* ALT+Up, ALT+Down + * Move line up/down + +# Gotchas + +* Some actions are unavailable when your app is running + * Deleting files + * Adding new controllers diff --git a/10. Static Members, Methods and Classes.md b/10. Static Members, Methods and Classes.md new file mode 100644 index 0000000..d540b06 --- /dev/null +++ b/10. Static Members, Methods and Classes.md @@ -0,0 +1,233 @@ +# Static Members, Methods and Classes + +![](imgs/10%20Static%20Members%2C%20Methods%20and%20Classes_0.png) + +--- + +# Static Members + +So far, we have used __non-static__ fields in our classes + +This means, that each instance of the class holds its own version of the field, and changing the value of it only affects that instance: + +class MyAwesomeClass + +{ + +public int MyProperty { get; set; } + +} + +class Program + +{ + +static void Main(string[] args) + +{ + +MyAwesomeClass instance1 = new MyAwesomeClass(); + +MyAwesomeClass instance2 = new MyAwesomeClass(); + +instance1.MyProperty = 100; + +instance2.MyProperty = 200; // instance1.MyProperty is still 100 + +} + +} + +# Static Members (continued) + +Likewise, non-static class methods _have to _ be called through an instance: + +class MyAwesomeClass + +{ + +public void PrintText(string text) { Console.WriteLine(text); } + +} + +class Program + +{ + +static void Main(string[] args) + +{ + +MyAwesomeClass instance = new MyAwesomeClass(); + +instance.PrintText("Hello World"); // Outputs "Hello World" + +MyAwesomeClass.PrintText("Hello World"); // Results in an error + +} + +} + +![](imgs/10%20Static%20Members%2C%20Methods%20and%20Classes_1.png) + +__Static fields are shared between all instances of a class__ + +Let's declare "MyProperty" property with the __static __ keyword. Now it can be referenced through the class type name, but not through the instance, as shown below: + +class MyAwesomeClass + +{ + +public static int MyProperty { get; set; } = 100; + +} + +class Program + +{ + +static void Main(string[] args) + +{ + +MyAwesomeClass instance = new MyAwesomeClass(); + +Console.WriteLine(MyAwesomeClass.MyProperty); // Outputs "100" + +Console.WriteLine(instance.MyProperty); // Results in an error + +} + +} + +![](imgs/10%20Static%20Members%2C%20Methods%20and%20Classes_2.png) + +# Static Members - Example + +In this example, a static field is used for keeping count on how many times the class has been instantiated: + +class Person + +{ + +public static int totalPersons = 0; + +private string name; + +public Person(string personName) // Person Constructor + +{ + +name = personName; + +++totalPersons; + +} + +public void PrintInfo() + +{ + +Console.WriteLine("This person is called " + name + "."); + +Console.WriteLine("There are " + totalPersons + " persons total."); + +} + +} + +# Static Members - Example (continued) + +Now let's instantiate a couple of persons and print their info: + +class Program + +{ + +static void Main(string[] args) + +{ + +Person steve = new Person("Steve"); + +Person wendy = new Person("Wendy"); + +steve.PrintInfo(); + +wendy.PrintInfo(); + +} + +} + +![](imgs/10%20Static%20Members%2C%20Methods%20and%20Classes_3.png) + +# Static Methods + +Methods can also be static + +What happens when you try to call a non-static method from a static method? + +class Program + +{ + +void PrintHelloName(string name) + +{ + +Console.WriteLine("Hello, " + name); + +} + +static void Main(string[] args) + +{ + +PrintHelloName(); // Will throw an error + +} + +} + +![](imgs/10%20Static%20Members%2C%20Methods%20and%20Classes_4.png) + +--- + +This is why until this point all example methods have been inside of the main function + +# Static Classes + +* Classes can also be made static + * Static classes cannot be instantiated + * All members of a static class also have to be static +* static class Styling +* { +* public static string fontFamily = "Verdana"; +* public static float fontSize = 12.5f; +* } +* class Program +* { +* static void Main(string[] args) +* { +* Console.WriteLine +* ("Using font " + Styling.fontFamily + " " + Styling.fontSize + "px"); +* // Outputs "Using font Verdana 12.5px" +* Styling = new Styling(); // Results in an error +* } +* } + +# Exercise 1 + +Create a class Message which has two __static __ properties int TotalMessages and string LastMessage, and a __non-static __ property string MessageText. + +Add a constructor which takes a string message as a parameter, increases TotalMessages by one and sets the value of LastMessage to message which is the parameter + +Create a main loop which keeps asking the user for a new message. A new Message instance is then created with the user input message as an argument: + +Message newMessage = new Message(message); + +newMessage is then added to a list of messages, allMessages + +Finally the static values Message.TotalMessages and Message.LastMessage are printed + diff --git a/11. Delegates and Events.md b/11. Delegates and Events.md new file mode 100644 index 0000000..8369c33 --- /dev/null +++ b/11. Delegates and Events.md @@ -0,0 +1,289 @@ +# Delegates and Events + +![](imgs/11%20Delegates%20and%20Events_0.png) + +--- + +# Overview + +Delegates + +Multicast Delegates + +Anonymous Methods + +Events + +# Delegates + +* __Delegates __ are reference type variables that hold a __reference to a method__ or multiple methods + * Class objects hold a reference to a class instance, delegate objects hold a reference to a method / methods +* Similar to function pointers in C and C++, or how any function in JavaScript works +* Allows for methods to be passed as variables, useful for creating, for example, events + +# Creating a Delegate + +Declare a delegate using the following syntax: + +delegate \ \(\); + +Example: + +delegate void PrintDelegate(string output); + +This creates a new delegate of type void, named PrintDelegate and one parameter of type string + +The referenced method return and parameter types have to match the delegate! + +# Referencing a Delegate + +After creating the delegate, it can be instantiated and the method assigned to it with the method name: + +delegate void PrintDelegate(string output); + +static void Main(string[] args) + +{ + +void PrintInLower(string text) + +{ + +Console.WriteLine(text.ToLower()); + +} + +PrintDelegate print = PrintInLower; + +print("AaaBbbCcc"); // Outputs "aaabbbccc" + +} + +# Using Multicast Delegates + +Delegates can be __composed of__ multiple methods using the "+" operator + +Using the same PrintDelegate delegate as before, we could do this: + +delegate void PrintDelegate(string output); + +static void Main(string[] args) + +{ + +void PrintInLower(string text) + +{ + +Console.WriteLine(text.ToLower()); + +} + +void PrintInUpper(string text) + +{ + +Console.WriteLine(text.ToUpper()); + +} + +PrintDelegate print = PrintInLower; + +print += PrintInUpper; + +print("AaaBbbCcc"); + +} + +![](imgs/11%20Delegates%20and%20Events_1.png) + +# Using Multicast Delegates (continued) + +Methods can be removed from the delegate with the "-" operator: + +delegate void PrintDelegate(string output); + +static void Main(string[] args) + +{ + +... + +print -= PrintInLower; + +print("AaaBbbCcc"); // Outputs "AAABBBCCC" + +... + +} + +# Delegates - Example + +Let's extend our previous example (without the "-=" part) by creating a new class called DelegateTest, and giving it a constructor that takes a PrintDelegate object as a parameter: + +public class DelegateTest + +{ + +public DelegateTest(PrintDelegate printDelegate) + +{ + +printDelegate("This Method Was Called From Another Class!"); + +} + +} + +# Delegates - Example (continued) + +Now we can create a new DelegateTest object and pass the delegate to the object constructor: + +void PrintInLower(string text) + +{ + +Console.WriteLine(text.ToLower()); + +} + +void PrintInUpper(string text) + +{ + +Console.WriteLine(text.ToUpper()); + +} + +// Initialize new delegate which is composed of PrintInLower method + +PrintDelegate print = PrintInLower; + +// Add PrintInUpper method to the delegate + +print += PrintInUpper; + +// Send the delegate to the class constructor + +DelegateTest delegateTest = new DelegateTest(print); + +![](imgs/11%20Delegates%20and%20Events_2.png) + +# Anonymous Methods + +Delegates can be initialized anonymously (without a specified name) + +Anonymous method in variable declaration: + +delegate void PrintDelegate(string output); + +bool printUpper = true; + +PrintDelegate printCheckUpper = + +delegate (string text) + +{ + +if (printUpper) + +Console.WriteLine(text.ToUpper()); + +else + +Console.WriteLine(text); + +}; + +printCheckUpper("I'm not angry!"); // Outputs I'M NOT ANGRY! + +Notice that the actual method that prints the text is not declared anywhere + +You can use an empty anonymous method to initialize a delegate which does nothing: + +delegate void SomeDelegate(); + +class Program + +{ + +static void Main(string[] args) + +{ + +// Initialize an empty delegate, add method later... + +SomeDelegate myDelegate = new SomeDelegate(delegate { }); + +} + +} + +# Events + +* Consider the following Game class: +* class Game +* { +* Sound gameOverSound; +* Window gameOverScreen; +* // Some game logic here... +* // ... +* void OnGameOver() +* { +* gameOverSound.Play(); // This plays some sound +* gameOverScreen.Show(); // This shows some screen +* } +* } +* This raises a couple of problems: + * The Game class has to know about the Sound and Window classes + * Changes in either of the classes could break the code + * = Game is dependent of Sound and Window classes +--- + +Tight coupling + +# Events (continued) + +Events are signals that are raised by a __Publisher __ and received by a __Subscriber__ + +The publisher does not know or care what, if any, object receives the signal + +Changes in the subscriber classes do not affect the publisher + +# Events - Example + +Events are created in two steps: + +Declare a delegate + +Declare a variable of the delegate with the event keyword + +public delegate void GameOver(); + +class Game + +{ + +public event GameOver GameOverEventHandler; + +// Some game logic here... + +// ... + +} + +# Exercise 1: A Rudimentary Event System + +Create a console application for controlling a plant treatment system, that has three methods which print the following outputs: + +| void ReleaseWater() | Releasing water... | +| :-: | :-: | +| void ReleaseFertilizer() | Releasing fertilizer... | +| void IncreaseTemperature() | Increasing temperature... | + +Create a main loop where the user can switch each method on (= add to a delegate) by writing its name. All methods are off by default. (Hint: you can just use switch-case for defining which method should be added to the delegate) + +If the user types run, all the methods that are on (= added to the delegate), will be executed. + +![](imgs/11%20Delegates%20and%20Events_3.png) + diff --git a/12. Files and Streams.md b/12. Files and Streams.md new file mode 100644 index 0000000..f1d387b --- /dev/null +++ b/12. Files and Streams.md @@ -0,0 +1,295 @@ +# Files and Streams + +![](imgs/12%20Files%20and%20Streams_0.png) + +--- + +# Overview + +Files and Streams + +Reading from a File + +Writing to a File + +JSON Serialization + +JSON Deserialization + +# Files and Streams + +The .NET library contains classes for manipulating files and directories + +The FileStream class contains methods for read and write operations for files + +The goal is usually to turn the data in your code into an outside resource, such as a .txt file, and vice versa + +Application Code + +Stream writer / reader + +String, int, ... + +FileStream object + +.txt, .csv, .png, ... + +--- + +https://learn.microsoft.com/en-us/dotnet/api/system.io?view=net-7.0 + +# Using the File Class + +To get started, add the following namespace to your project: + +using System.IO; + +System.IO provides basic directory and folder support, and allows reading and writing to files and data streams + +Check if a file exists with the .Exists() method: + +string path = @"C:\\Users\\Public\\TestFolder\\TestFile.txt"; + +if (!File.Exists(path)) + +{ + +Console.WriteLine($"The file {path} does not exist."); + +} + +--- + +https://learn.microsoft.com/en-us/dotnet/api/system.io?view=net-7.0 + +# Reading from a File + +Get the entire document as a string with File.ReadAllText + +Get all lines of a document as a string array with File.ReadAllLines + +string path = @"C:\\Users\\Public\\TestFolder\\TestFile.txt"; + +if (!File.Exists(path)) + +{ + +Console.WriteLine($"The file {path} does not exist."); + +} + +else + +{ + +var allLines = File.ReadAllLines(path); + +foreach (string line in allLines) + +Console.WriteLine(line); + +} + +# Writing to a File + +Writing to a file is done with File.WriteAllText and File.WriteAllLines methods: + +string path = @"C:\\Users\\Public\\TestFolder\\TestFile.txt"; + +string[] lyrics = new string[] + +{ + +"Hello", + +"Is it me you're looking for", + +"I can see it in your eyes", + +"I can see it in your smile" + +}; + +if (File.Exists(path)) + +{ + +File.Delete(path); // If file exists, deletes the old file + +} + +File.WriteAllLines(path, lyrics); // Creates a new file with lyrics + +# Exercise 1: A Simple Parser + +Create a console application which keeps asking the user for a string. Each string is added into a list of strings. + +If the user returns an empty string, the program asks for a path to a .txt file. + +If the file exists, its contents are replaced with each string written to a separate line. If not, a new file with the contents is created. + +# JSON Serialization + +* JSON (JavaScript Object Notation) is a way to represent code objects in text form, a "data-interchange format" +* Enables reading and writing series of objects into a text file +* Consists of two types of structures + * Objects, or unordered name-value pairs + * Ordered lists of values +* Language-independent, although the JSON notation resembles the C-family of languages (C#, Java, JavaScript etc.) +--- + +https://www.json.org/json-en.html + +# JSON Serialization (continued) + +* .NET projects do not directly support JSON serialization +* A __NuGet package__ for that exists, called __Newtonsoft.Json __ +* Install the package from _Tools _ -> _NuGet Package Manager_ -> M _anage NuGet Packages for Solution…_ + * Select _Browse_ + * The _Newtonsoft.Json_ should be the topmost package. If not, search for it from the search bar + * Select the package, check the checkbox next to _Project _ and click _Install_ + +You can __serialize __ an object (e.g. a list) into a JSON string with the JsonConvert.SerializeObject() method: + +class Product + +{ + +public int Id { get; set; } + +public string Name { get; set; } + +} + +static void Main(string[] args) + +{ + +List products = new List + +{ + +new Product{Id=1, Name="Awesome Product"}, + +new Product{Id=2, Name="Terrible Product"} + +}; + +string jsonString = JsonConvert.SerializeObject(products); + +File.WriteAllText(@"C:\\Users\\OMISTAJA\\source\\repos\\Example\\Products.json", jsonString); + +} + +The contents of the output file Products.json are as follows: + +![](imgs/12%20Files%20and%20Streams_1.png) + +# JSON Deserialization + +__Deserializing __ the contents of a JSON file into an object in your program can be done with the JsonConvert.DeserializeObject() method: + +string json = File.ReadAllText( + +@"C:\\Users\\Johannes\\source\\repos\\Luentoesimerkit\\Luentoesimerkit\\db.json"); + +List deserializedProducts = new List(); + +deserializedProducts = JsonConvert.DeserializeObject>(json); + +foreach(Product product in deserializedProducts) + +{ + +Console.WriteLine(product.Name); + +} + +# Exercise 2: Serializing Your Classes + +Create a class Note with the properties int Id, DateTime TimeStamp and string Text. + +Create a main loop that keeps asking the user for a new note. + +After the user has entered each note, a new Note object is created with a running Id (1, 2, 3…), TimeStamp set to current time and Text is the inputted note. Each new note is added to a list of notes, allNotes. + +Every time a new note is submitted, the allNotes list is serialized into a json file, "notes.json". Set the path to the current project path (you can get the path by right-clicking the project in solution explorer and selecting "Copy Full Path". Remember to change the file name!) + +# FileStream + +The files have to be opened before read/write and closed after + +Behind the scenes, the ReadAll... and WriteAll… methods automatically do the opening and closing, as described in the Microsoft documentation: + +![](imgs/12%20Files%20and%20Streams_2.png) + +Writing to or reading only a part of the file requires opening and closing the file manually + +This creates a __FileStream __ object that can be used for accessing parts of the file + +# FileStream (continued) + +When inserting string data into a file, it needs to be converted into bytes + +string path = @"C:\\Users\\Public\\TestFolder\\TestWriteFile.txt"; + +int nOfLines = 4; + +FileStream fs = null; + +if (!File.Exists(path)) // If file does not exist + +fs = File.Create(path); // create a new file and open it + +else // If file exists + +fs = File.OpenWrite(path); // open an existing file for writing + +for (int i = 0; i < nOfLines; ++i) + +{ + +string input = Console.ReadLine() + "\\n"; // Read user input, add newline + +byte[] byteInput = new UTF8Encoding(true).GetBytes(input); // Get the string as a sequence of bytes + +fs.Write(byteInput, 0, byteInput.Length); // Write the bytes at the end of the file + +} + +fs.Close(); // Close the file + +# The Using Statement + +From the Microsoft Documentation about the FileStream class: + +![](imgs/12%20Files%20and%20Streams_3.png) + +This means that wrapping the file handling in an __using __ block handles the opening and closing of the stream for you + +The following reads the first 20 characters of a file and prints them to the console + +string path = @"C:\\Users\\Public\\TestFolder\\TestFile.txt"; + +int nOfBytesToPrint = 20; + +byte[] byteArray = new byte[nOfBytesToPrint]; + +if (!File.Exists(path)) + +Console.WriteLine($"The file {path} does not exist."); + +else + +using (FileStream fs = File.OpenRead(path)) + +{ + +fs.Read(byteArray, 0, nOfBytesToPrint); + +}; + +// No need to close the file since it was handled inside of a using block + +Console.WriteLine(Encoding.UTF8.GetString(byteArray, 0, byteArray.Length)); + diff --git a/13. Generics, IEnumerable and LINQ.md b/13. Generics, IEnumerable and LINQ.md new file mode 100644 index 0000000..8964672 --- /dev/null +++ b/13. Generics, IEnumerable and LINQ.md @@ -0,0 +1,528 @@ +# Generics, IEnumerable and LINQ + +![](imgs/13%20Generics%2C%20IEnumerable%20and%20LINQ_0.png) + +--- + +# Generics + +When using lists, you have to define the type of data that will be stored in the list, inside the angled brackets: + +List numberList = new List(); // This list stores variables of type int + +This means that list is a __generic__ class: it can contain data of any type + +Classes, structs, interfaces and methods can also be generic + +All the variables that are defined generic inside a generic container will be assigned a type only when the containing object/method is called + +# Generics - Creating a Generic Class + +class GenericClassExample + +{ + +public T value; // This value will be whatever type is specified at instantiation + +public void PrintTypeAndValue() + +{ + +Console.WriteLine + +($"This class contains a variable of type {value.GetType()} and of value {value}"); + +} + +} + +class Program + +{ + +static void Main(string[] args) + +{ + +GenericClassExample example = new GenericClassExample(); + +example.value = 20; + +example.PrintTypeAndValue(); + +} + +} + +![](imgs/13%20Generics%2C%20IEnumerable%20and%20LINQ_1.png) + +# Generics - Multiple Type Parameters + +Generic classes can receive multiple types as parameters + +class CustomContainer + +{ + +public T1 First { get; set; } + +public T2 Second { get; set; } + +public T3 Third { get; set; } + +} + +class Program + +{ + +static void Main(string[] args) + +{ + +CustomContainer container + += new CustomContainer(); + +container.First = 10; + +container.Second = "Testing."; + +container.Third = DateTime.Now; + +} + +} + +# Generics - Creating a Generic Method + +void GenericMethodExample(T value) + +{ + +Console.WriteLine + +($"This method was passed a variable of type {value.GetType()} and of value {value}."); + +} + +GenericMethodExample("ABC"); + +![](imgs/13%20Generics%2C%20IEnumerable%20and%20LINQ_2.png) + +❕ + +You could name the generic type as anything, e.g. \. It is named \ by convention. + +# Exercise 1: Initializing a Populated List + +Create a generic method GetPopulatedList\ which takes two parameters: T value and int length, and returns a new list of type T which is populated with the value variables and has a length of length. + +Test your method out with a couple of different types and lengths: + +List list = GetPopulatedList("Hello, there", 10); + +foreach(string value in list) + +{ + +Console.WriteLine(value); + +} + +# IEnumerable + +Lists and arrays are both __collections __ that implement the __IEnumerable __ interface + +All objects that implement the IEnumerable interface can be iterated with the foreach statement + +IEnumerable names = new string[] {"Harry", "Luke", "Harley"}; + +IEnumerable days = new List {"Sunday", "Monday", "Friday"}; + +foreach (string name in names) + +Console.WriteLine(name); + +foreach (string day in days) + +Console.WriteLine(day); + +# IEnumerable (continued) + +The IEnumerable interface itself doesn't hold much functionality + +![](imgs/13%20Generics%2C%20IEnumerable%20and%20LINQ_3.png) + +However, the LINQ library includes all the methods you would typically need to apply to IEnumerables, such as filtering + +# LINQ + +Some common query expressions occur repeatedly in code + +E.g. trying to find an object with a certain id from an array: + +IEnumerable userArray = new User[2] // Initialize a new array of users + +{ + +new User { Id = 0, Name = "Rene" } , + +new User { Id = 1, Name = "Ville" } + +}; + +User FindObjectWithId(int id) + +{ + +foreach (User user in userArray) + +if (user.Id == id) + +return user; + +return null; + +} + +Console.WriteLine(FindObjectWithId(1).Name); // Outputs "Ville" + +# LINQ (continued) + +* Having to write your own method for each possible query operation (select, filter, sort…) would of course be nonsensical +* The List class includes some methods for manipulation, but... + * These only work on lists; not all IEnumerables (e.g. arrays) contain those methods +* Add to this all the different types of data (objects, SQL databases, XML, JSON…) + +To introduce extensive query capabilities to all collection types, Language-Integrated Query (LINQ) was created + +LINQ supports querying of objects and even XML and SQL data, directly in your code + +Get started by adding the namespace to your project: + +using System.Linq; + +Here's the first example using LINQ: + +IEnumerable userArray = new User[2] // Initialize a new array of users + +{ + +new User { Id = 0, Name = "Rene" } , + +new User { Id = 1, Name = "Ville"} + +}; + +Console.WriteLine(userArray.First(user => user.Id == 1).Name); // Outputs "Ville" + +The __First __ -method returns the first result that satisfies the expression in the parameters + +The arrow syntax above is called a __lambda expression__ + +# Lambda Expressions + +Lambda expressions are a quick way of writing one line methods + +The "First" -method of LINQ takes a __delegate __ as a parameter + +The following code would do exactly the same thing as the example in the previous slide: + +// Parameter references an existing method + +bool GetUserWithId(User user) + +{ + +return user.Id == 1; + +} + +Console.WriteLine(userList.First(GetUserWithId).Name); // Outputs "Ville" + +As would the following: + +// The delegate is created inside the parameters as an anonymous method + +Console.WriteLine(userList.First(delegate (User user) + +{ return user.Id == 1; })); // Outputs "Ville" + +# Lambda Expressions (continued) + +Using LINQs "First" -query with... + +...a method: + +bool GetUserWithId(User user) + +{ + +return user.Id == 1; + +} + +Console.WriteLine( + +userList.First( + +GetUserWithId).Name); + +// Outputs "Ville" + +...an anonymous method: + +Console.WriteLine(userList.First( + +delegate (User user) + +{ + +return user.Id == 1; + +})); + +// Outputs "Ville" + +...a lambda expression: + +Console.WriteLine(userList.First( + +user => + +user.Id == 1).Name); + +// Outputs "Ville" + +# Lambda Expressions - Example + +Normal methods can also be declared using the arrow function + +static void Main(string[] args) + +{ + +// Method body assigned with lambda expression + +string PrintCheckUpper(bool upper, string text) => upper ? text.ToUpper() : text; + +PrintCheckUpper(true, "I'm not angry!"); // Outputs I'M NOT ANGRY! + +} + +# LINQ and Lambda Expressions + +Going back to our LINQ example, it could be written without lambda expressions: + +bool GetUserWithId(User user) + +{ + +return user.Id == 1; + +} + +IEnumerable userArray = new User[2] // Initialize a new array of users + +{ + +new User { Id = 0, Name = "Rene" } , + +new User { Id = 1, Name = "Ville"} + +}; + +Console.WriteLine(userArray.First(GetUserWithId).Name); // Outputs "Ville" + +Here's the shorter version with lambda expression again: + +Console.WriteLine(userArray.First(user => user.Id == 1).Name); // Outputs "Ville" + +# LINQ Methods + +LINQ contains methods for filtering, ordering, grouping, joining and selecting + +Suppose we have a class Person that contains a property Country + +The following performs filtering to persons object, returning only the persons whose country is of value "Finland": + +List persons = new List {/* Insert data here */}; + +var queryResult = persons + +.Where(person => person.Country == "Finland"); + +# LINQ Methods (continued) + +| Method | Example | Description | +| :-: | :-: | :-: | +| Where | persons.Where(p => p.Country == "Finland") | Filters results based on an expression | +| OrderBy | persons.OrderBy(p => p.LastName) | Orders results based on one of its properties | +| Select | persons.Select(p => $"Dr. {p.LastName}") | Converts the enumerable into an another type based on an expression | +| Skip | persons.Skip(1) | Skips first N elements | +| Take | persons.Take(5) | Returns N elements | +| ToList | persons.ToList() | Converts IEnumerable to a list | +| ToArray | persons.ToArray() | Converts IEnumerable to an array | + +--- + +Tässä on kaikki aritmeettiset operaattorit + +| Method | Example | Description | +| :-: | :-: | :-: | +| Any | persons.Any(p => p.Country == "Finland") | Return true if at least one element satisfies a condition | +| All | persons.All(p => p.Age >= 18) | Return true if all elements satisfy a condition | +| FirstOrDefault | persons.FirstOrDefault(p => !p.Active) | Returns the first element that satisfies a condition, or null if not found | +| Count | persons.Count(p => p.FirstName == "Mauri") | Returns the count of elements that satisfy a condition, can be left blank to count all | + +More LINQ methods can be found [here](https://learn.microsoft.com/en-us/dotnet/api/system.linq.enumerable?view=net-7.0) + +--- + +Tässä on kaikki aritmeettiset operaattorit + +# LINQ - Example + +Suppose we have a csv file authors.csv in our project directory + +// using System.IO; + +string path = @"C:\\some\\path\\authors.csv"; + +var authors = File.ReadAllLines(path) + +.Skip(1) // Skip the first line which contains the column titles + +.Select(line => // Using lambda expression, return the new Author objects + +{ + +var columns = line.Split(','); + +return new Author + +{ + +Id = int.Parse(columns[0]), + +Name = columns[1], + +Description = columns[2] + +}; + +}) + +.ToList(); // Turn the resulting IEnumerable into a list + +authors is now an in-memory list containing all the authors from the original csv file. Note how methods can be chained! + +# Query Syntax + +An alternative way of using LINQ is with the __query syntax__ + +The following performs filtering to persons object: + +var queryResult = from person in persons + +where person.country == "Finland" + +select person; + +The __range variable __ person works like the range variable in a foreach loop in that it holds a copy of the current element in the persons variable + +The where keyword specifies the condition for the filter + +# LINQ Queries - Example + +Suppose we have a class City that contains a property Description + +The following would print the descriptions of all cities that have descriptions less than 100 characters long + +IEnumerable Cities = new List {/* Insert data here */}; + +var filteredResult = from city in Cities + +where city.Description.Length < 100 + +select city; + +foreach (City result in filteredResult) + +Console.WriteLine(result.Description); + +# Extension Methods vs Query Syntax + +* In the previous examples, we used the query syntax of LINQ +* Both the methods and queries do pretty much the same thing +* It is up to you which syntax you want to use + * The method syntax works like any normal C# methods + * The query syntax might be more approachable to those who are familiar with SQL + +var methodResult = persons + +.Where(person => person.Country == "Finland"); + +var queryResult = from person in persons + +where person.Country == "Finland" + +select person; + +All queries listed here: [https://www.tutorialsteacher.com/linq/linq-standard-query-operators](https://www.tutorialsteacher.com/linq/linq-standard-query-operators) + +# ToArray() and ToList() Methods + +Notice that the LINQ queries return an IEnumerable + +If you need to use arrays or lists, you need to call the ToArray() or ToList() methods: + +string[] strings = new string[] { "Timo", "Pekka", "Taina", "Kalle" }; + +string[] queryResult = strings + +.Where(s => s.StartsWith('T')); + +![](imgs/13%20Generics%2C%20IEnumerable%20and%20LINQ_4.png) + +string[] strings = new string[] { "Timo", "Pekka", "Taina", "Kalle" }; + +string[] queryResult = strings + +.Where(s => s.StartsWith('T')) + +.ToArray(); // This works + +# Exercise 2: Filtering Names + +Download this file of names and add it to your project folder: [https://raw.githubusercontent.com/dominictarr/random-name/master/names.txt](https://raw.githubusercontent.com/dominictarr/random-name/master/names.txt) + +Read all the contents into a string array with File.ReadAllLines() + +Create a main loop where the user is asked for a string. Print the total number of names which contain that string. + +If there are less than 10 resulting names, print the names as well + +# Exercise 3: Queries on Object Lists + +Expand on the exercise 2. + +Create a new class User with two properties, int Id and string Name + +If the number of filtered names is less than 10, create a list of Users with those names and a running Id + +Sort the list of users by the length of the Name property + +Print the names and id:s of the users in the sorted list + +# Going Further: Extension Methods + +Recap: IEnumerable itself only contains one method + +How does the LINQ library suddenly add all these methods to our Enumerables? + +This is possible with extension methods: + +[https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/extension-methods](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/extension-methods) + diff --git a/14. Exceptions, Threads and Tasks.md b/14. Exceptions, Threads and Tasks.md new file mode 100644 index 0000000..d7ee49e --- /dev/null +++ b/14. Exceptions, Threads and Tasks.md @@ -0,0 +1,318 @@ +# Exceptions, +Threads and Tasks + +![](imgs/14%20Exceptions%2C%20Threads%20and%20Tasks_0.png) + +--- + +# Exceptions + +* Exceptions are problems that occur during the lifetime of the program + * Typical exceptions are IndexOutOfRangeException and NullReferenceException + * IndexOutOfRangeException occurs when trying to access an element of an object using an index greater than the number of elements in that object + * NullReferenceException occurs when trying to reference a variable that has not been assigned a value + +# Exceptions (continued) + +* There should be some kind of system to check for these problems so that even if they do occur, the application does not crash + * For example, if a user tries to read from a file that does not exist, the user should be given an informative error message instead of closing the application + +![](imgs/14%20Exceptions%2C%20Threads%20and%20Tasks_1.png) + +![](imgs/14%20Exceptions%2C%20Threads%20and%20Tasks_2.png) + +# try - catch + +Wrap the code that could result in an exception in a __try __ block + +Wrap the code that should execute if an exception occurs in a __catch __ block + +string path = @"C:\\Users\\Public\\TestFolder\\WriteText.txt"; + +try + +{ + +string text = System.IO.File.ReadAllText(path); + +} + +catch(DirectoryNotFoundException e) + +{ + +Console.WriteLine($"The path {path} does not exist."); + +} + +# throw + +__throw __ - keyword results in the exception that is caught in the catch block + +This can be used if you want to execute some code before stopping the execution of the program + +string path = @"C:\\Users\\Public\\TestFolder\\WriteText.txt"; + +try + +{ + +string text = System.IO.File.ReadAllText(path); + +} + +catch (IOException e) + +{ + +Console.WriteLine("An exception occurred."); + +Console.WriteLine("Logging exception information..."); + +Console.WriteLine($"Exception: {e.Message}"); + +throw; + +} + +# finally + +__finally __ block executes after try-catch regardless of whether an exception occurred or not + +This is useful for closing unmanaged objects like database connections and file streams + +try + +{ + +// Open a database connection or file stream + +} + +catch (SystemException e) + +{ + +// Do this if connection / stream fails + +} + +finally + +{ + +// Release the unmanaged resources from memory + +} + +# Exercise 1: Debugging Exceptions + +Create a savings calculator which asks the user for a target amount of money the user is aiming for (in integers), and the users monthly salary. For parsing, use the int.Parse() method instead of int.TryParse(). + +The program then calculates the number of months it will take the user to reach the goal. + +After displaying the result, the user is then asked for a path to a _folder _ where the result is then saved as _months\_until\_target.txt._ + +Try your program with different user inputs. Try to intentionally break your program and find as many exceptions as you can. + +Handle the exceptions with exception handling, and inform the user of each exception with an appropriate message. + +# Threads + +* You might have time consuming functionality in your program, like + * heavy algorithms and mathematical calculations, or + * reading a large amount of data from a file +* You could also have some continuous stream of data being read, like + * serial signal +* In case of time consuming methods, it might be a bad idea to wait for the execution to finish before continuing the main program + * This would show up to the user as the program being stuck + * At the very least, there could be some progress bar to indicate that the program hasn't crashed +* In the case of continuous execution, there needs to be some way to read the stream and execute the main program at the same time + +# Threads (continued) + +.NET supports __multithreading __ and classes to add new threads are included in the base class library + +using System.Threading; + +Separate tasks can be executed simultaneously on separate __threads__ + +Separate threads run on different cores in the processor + +All threads have access to the resources allocated to your program + +Initialize a ThreadStart object with the method to be threaded as the argument: + +public static void PrintInteger() + +... + +ThreadStart printIntegerStart = new ThreadStart(PrintInteger); + +Initialize a Thread object with the ThreadStart object set as the argument, and start the new thread with Thread.Start() method: + +Thread printIntegerThread = new Thread(printIntegerStart); + +printIntegerThread.Start(); + +# Threads - Example + +class Program + +{ + +public static void PrintInteger() + +{ + +Console.WriteLine("Thread started."); + +int val = 0; + +while (true) + +{ + +Thread.Sleep(100); + +Console.WriteLine("Current value: " + val); + +++val; + +} + +} + +static void Main(string[] args) + +{ + +ThreadStart printIntegerStart = new ThreadStart(PrintInteger); + +Console.WriteLine("Starting thread..."); + +Thread printIntegerThread = new Thread(printIntegerStart); + +printIntegerThread.Start(); + +Console.WriteLine("Main thread continuing."); + +} + +} + +The PrintInteger method prints a value, waits for 0.1sec, increases the value, prints it again and so on + +The method keeps executing indefinitely, but the main thread continues execution as well + +![](imgs/14%20Exceptions%2C%20Threads%20and%20Tasks_3.png) + +# Threads (continued) + +You can create as many threads as you like: + +ThreadStart printIntegerStart = new ThreadStart(PrintInteger); + +Console.WriteLine("Starting thread..."); + +Thread printIntegerThread = new Thread(printIntegerStart); + +printIntegerThread.Start(); + +Thread printIntegerThread2 = new Thread(printIntegerStart); + +printIntegerThread2.Start(); + +Thread printIntegerThread3 = new Thread(printIntegerStart); + +printIntegerThread3.Start(); + +# Exercise 2: Threaded Loading + +Create a method public static void LoadData() which simulates loading resources by printing progress from 0% to 100%. Increase the progress in a loop with 1% increments. Use the Thread.Sleep() method to wait 10 ms between each increment. + +Create a main loop where each time the user presses enter, the LoadData() method is executed on a separate thread. + +![](imgs/14%20Exceptions%2C%20Threads%20and%20Tasks_4.png) + +--- + +Näytä ekstrana, miten tämä tehdään käyttäen luokan metodia eri luokan arvoilla + +# Tasks + +* In some cases you want to continue working on some tasks while others are queued to be executed + * For example, after sending a server request, you might want to begin some tasks immediately and others only after a response has been received +* Following [this great analogy](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/) from Microsoft docs, a cook doesn't have to wait for the eggs to be ready to begin brewing coffee or cooking bacon; instead, the cook would begin all tasks simultaneously +* Threading won't help here; even if there was one cook (thread) for each task, they would all have to wait for the oven to heat up. One cook can just well do all the tasks (cooking) alone. + +# Tasks - Continued + +To create an asynchronous method, assign it with the async keyword. It is good practice to end the method name with Async + +The method should return a value of the type that is specified in the angled brackets (if your task doesn't return a value, leave the brackets out) + +Inside the method, call an asynchronous method with the await keyword: + +static async Task MyMethodAsync() + +{ + +byte[] content = await client.GetByteArrayAsync("https://docs.microsoft.com/en-us/"); + +return content.Length; + +} + +This method can now be called asynchronously: + +Task myMethodResult = MyMethodAsync(); + +# Tasks - Example + +![](imgs/14%20Exceptions%2C%20Threads%20and%20Tasks_5.png) + +class Program + +{ + +static async Task GetResultAsync() + +{ + +int waitTime = 5000; + +await Task.Delay(waitTime); // Replace this with your time consuming async functionality + +return new string($"The task took {waitTime / 1000} seconds to finish."); + +} + +static void Main(string[] args) + +{ + +Console.WriteLine("Starting operation..."); + +Task resultTask = GetResultAsync(); + +Console.WriteLine("Operation has been started."); + +Console.WriteLine("In the meantime, tell me something nice: "); + +string somethingNice = Console.ReadLine(); + +resultTask.Wait(); // Wait for the task to complete + +Console.WriteLine(resultTask.Result); + +Console.ReadKey(); + +} + +} + +# Exercise 3: Asynchronous Loading + +Re-create the exercise 2, but instead of using separate threads for "loading the data", use an asynchronous method LoadDataAsync() + diff --git a/15. Design Patterns in C#.md b/15. Design Patterns in C#.md new file mode 100644 index 0000000..0fd1dd7 --- /dev/null +++ b/15. Design Patterns in C#.md @@ -0,0 +1,133 @@ +# Design Patterns in C# + +![](imgs/15%20Design%20Patterns%20in%20C%23_0.png) + +--- + +# Overview + +The Singleton Pattern + +Dependency Injection + +# The Singleton Pattern + +* In some cases, it would make no sense to create an instance of a class every time it's members need to be accessed + * For example, a shared resource manager that is being called from multiple classes +* While a static class could be used for this, there are some problems: + * As stated in the previous slide, static classes can only have static members + * Static classes cannot be instantiated, so a reference to them cannot be passed around as a parameter + * Static classes cannot inherit from other classes or implement interfaces + * [And many more... ](https://www.c-sharpcorner.com/UploadFile/akkiraju/singleton-vs-static-classes/) + +# The Singleton Pattern (continued) + +* The __singleton __ class is a class that benefits from all the perks of a non-static class (non-static members, inheritance, referencing…), but only one (or zero) instances of it ever exists during the lifetime of your application +* For example, reading from / writing to a file that should be accessible to multiple clients, should be made into a singleton + * Instead of every client directly accessing the same file (and possibly causing massive performance issues), the singleton is instantiated once and a reference to it is provided to clients + * The singleton could take care of queueing the read/write requests and be the only entity accessing the actual file + +A singleton implementation could look something like this: + +class Singleton + +{ + +private static Singleton instance = null; + +private Singleton() { } + +public void MySingletonFunction() + +{ + +Console.WriteLine + +("This function is accessible from everywhere!"); + +} + +public static Singleton Instance + +{ + +get + +{ + +if (instance == null) + +instance = new Singleton(); + +return instance; + +} + +} + +} + +class Program + +{ + +static void Main(string[] args) + +{ + +Singleton.Instance.MySingletonFunction(); + +// Outputs "This function is accessible from everywhere!" + +} + +} + +The exact implementation of the singleton is out of the scope of this course, but it is important to understand that it exists and what its purpose is + +Multitude of examples for different use cases are available and can be found by googling + +# Dependency Injection + +* Traditionally, when new objects of classes are instantiated, the consuming class handles the creation of the objects +* A lot of classes change their functionality throughout the development of any project + * This means that also _every single_ consuming class has to change + * This is called __"tight coupling"__ +* What if, instead of directly creating the objects, they were provided by some interface that takes care of the creation? + * This way, even if the base class changes, the consuming classes won't care because they only know about the provider + * This provider is called __Container, __ and the functionality being injected is called __Service__ + * In ASP.NET, this container system is built in +--- + +Show an example + +Dependency injection in ASP.NET: + +public class HomeController : Controller + +{ + +private readonly IUserRepository \_userRepository; + +public HomeController(IUserRepository userRepository) + +{ + +\_userRepository = userRepository; + +} + +// User repository including all users is now accessible in HomeController + +} + +# Design Patterns + +If the concepts of a singleton and dependency injection flew over your head, don't worry about it + +The important thing is to know they exist so that when they come up again in ASP.NET, you have already familiarized yourself with the terms and understanding the logic behind ASP.NET becomes less overwhelming + +There are many more design patterns, see the material [here](https://www.c-sharpcorner.com/UploadFile/bd5be5/design-patterns-in-net/) + +![](imgs/15%20Design%20Patterns%20in%20C%23_1.png) + diff --git a/2. Variables and Types.md b/2. Variables and Types.md new file mode 100644 index 0000000..83c0575 --- /dev/null +++ b/2. Variables and Types.md @@ -0,0 +1,324 @@ +# Variables & Types + +![](imgs/2%20Variables%20and%20Types_0.png) + +--- + +# Overview + +Variables + +Data Types + +Arithmetic Operators + +Increment & Decrement + +Assignment Operators + +Strings + +Character Constants + +String Interpolation + +# Variables + +* Variable can be thought of as a name for a certain point in computer's memory. +* Using this name we can access the value on the computer's memory + * We can read the value + * We can manipulate the value +* On more practical terms: We can assign values to named variables. + +# C# Syntax - Declaring Variables + +Every variable declaration in C# requires the type and the name of the variable, for example: + +int x; + +You can assign a value for declared variables: + +x = 25; + +Variable declaration with value can be executed with one line: + +int x = 25; + +using System; + +namespace MyAwesomeProgram + +{ + +class Program + +{ + +static void Main(string[] args) + +{ + +int a = 25; + +int b = 10; + +Console.WriteLine(a - b); + +} + +} + +} + +Everything within a console application executes inside the Main body + +This program prints the value "15" to the console + +# Why we use variables? + +Variables are key ingredients in programming. + +We don't need to know the exact values when we write the code but the values can be given later while the program is executed + +As an example we can take an input from a user and store it to a variable and use that value somewhere later in our program + +# What is a data type? + +* Data type tells to a computer what type of data is stored in a variable. +* Data types are commonly divided into two categories: + * Primitive data types + * Reference data types +* Here we go through the primitive data types + * We dig deeper on the differences of these data types later in the Classes and Objects -section + +# Primitive Data Types in C# + +| __Type__ | __Represents__ | __Range__ | __Default Value__ | +| :-: | :-: | :-: | :-: | +| __bool__ | __Boolean value__ | __True or False__ | __False__ | +| __byte__ | __8-bit unsigned integer__ | __0 to 255__ | __0__ | +| __char__ | __16-bit Unicode character__ | __U +0000 to U +ffff__ | __\\0'__ | +| __decimal__ | __128-bit precise decimal values with 28-29 significant digits__ | __(-7.9 x 1028 to 7.9 x 1028) / 100 to 28__ | __0.0M__ | +| __double__ | __64-bit double-precision floating point type__ | __(+/-)5.0 x 10-324 to (+/-)1.7 x 10308__ | __0.0D__ | +| __float__ | __32-bit single-precision floating point type__ | __-3.4 x 1038 to + 3.4 x 1038__ | __0.0F__ | +| __int__ | __32-bit signed integer type__ | __-2,147,483,648 to 2,147,483,647__ | __0__ | + +More types listed here: + +[https://www.w3schools.com/cs/cs\_data\_types.asp](https://www.w3schools.com/cs/cs_data_types.asp) + +# Data Types in C# - Example + +double airPressure = 1.2; // Use generally for everything + +decimal accountBalance = 1.2m; // Use for accuracy (e.g. financial applications) + +float bulletSpeed = 1.2f; // Use only when you know the precision will be enough (in other words, don't use) + +bool loggedIn = false; + +char previousInput = 'b'; + +# Assignments (variables) + +[Assignments about this topic can be found here](https://gitea.buutti.com/education/academy-assignments/src/branch/master/C%23%20Basics/2.1.%20Variables%20&%20Types) + +# Assignments (data types) + +[Assignments about this topic can be found here](https://gitea.buutti.com/education/academy-assignments/src/branch/master/C%23%20Basics/2.2.%20Data%20Types) + +# What are arithmetic operations? + +The arithmetic operations are common mathematical operations: + +addition + +subtraction + +multiplication + +division + +modulus (remainder, in Finnish jakojäännös) + +exponentiation + +Earlier we used an _arithmetic operator _ to subtract b from a: + +Console.WriteLine(a - b); + +# Arithmetic Operators + +| Operator | Name | Example | Description | +| :-: | :-: | :-: | :-: | +| + | Addition | a + b | Adds together two values | +| - | Subtraction | a - b | Subtracts one value from another | +| * | Multiplication | a * b | Multiplies two values | +| / | Division | a / b | Divides one value by another | +| % | Modulus | a % b | Returns the division remainder | +| ++ | Increment | a++ | Increases the value of a variable by 1 | +| -- | Decrement | a–- | Decreases the value of a variable by 1 | + +--- + +Tässä on kaikki aritmeettiset operaattorit + +# Exercise 1: Trying Out Variables + +Create a new console application as we did in the last exercise and declare two variables of type __double__ _._ + +Assign different values for those variables. + +Print the __sum__ , __difference__ , __fraction __ and __product __ of those values to the console. + +# Increment & Decrement + +Increment and decrement operations are operations that can be used to increment or decrement a variable value by 1. + +Most programming languages implement these operations + +Addition example: int a = 3; a = a + 1; _// a is now 4_ Can be written with increment: int a = 3; a++; _// a is now 4_ + +Decrement is like increment but with just subtraction + +Substraction example: int a = 3; a = a - 1; _// a is now 2_ Can be written with decrement: int a = 3; a--; _// a is now 2_ + +Increment and decrement operators can be written in two ways. So sometimes you may also see this: int a = 3; --a; _// a is now 2_ _ _ ++a; _// a is now 3_ + +This will do the same thing as a++ and a--. There is a small difference between these syntaxes though. + +int a = 3;const _ _ b = _ _ a++; _// b will be 3_ Console.WriteLine(a); _// this will print out 4_ Here the assignment to b happens before incrementing a, thus b will be assigned value 3. + +int a = 3;const _ _ b = _ _ ++a; _// b will be 4_ Console.WriteLine(a); _// this will print out 4_ Here the assignment to b happens after incrementing a, thus b will be assigned value 4. + +--- + +Täällä voi helposti demota: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Increment + +# Assignment Operators + +We have used the assignment operator ' __='__ for assigning values for variables: + +int x; + +x = 25; + +__Notice __ the difference between '=' and the conditional '=='! + +'=' is used for assigning values for variables, '== is used for comparing values + +| Operator | Example | Same As | +| :-: | :-: | :-: | +| = | x = 5 | x = 5 | +| += | x += 5 | x = x + 5 | +| -= | x -= 5 | x = x - 5 | +| *= | x *= 5 | x = x * 5 | +| /= | x /= 5 | x = x / 5 | +| %= | x %= 5 | x = x % 5 | + +--- + +Tässä on joitakin asetusoperaattoreita, lisäksi loogiset (ei käydä tässä) + +# Operators - Example + +int uppercaseLetters = 2; + +uppercaseLetters += 4; // is now 6 + +int specialCharacters = 2; + +specialCharacters *= 2; // is now 4 + +Console.WriteLine(uppercaseLetters); + +Console.WriteLine(specialCharacters); + +This outputs 6 and 4 + +# Strings + +String is a special type, which contains an array of characters. You can declare and assign strings like any other type of variables: + +string name = "Johannes Kantola"; + +You can concatenate multiple strings with the '+' operator: + +string firstName = "Johannes"; + +string lastName = "Kantola"; + +string fullName = firstName + " " + lastName; + +Console.WriteLine(fullName); // Outputs "Johannes Kantola" + +# Character Constants + +Character constants are preceded by a backslash '\\' and can be used for formatting strings + +'\\n' represents a newline in the following example: + +string firstName = "Johannes"; + +string lastName = "Kantola"; + +string fullName = firstName + "\\n" + lastName; + +Console.WriteLine(fullName); + +/* This outputs + +Johannes + +Kantola + +*/ + +All character constants: [https://www.tutorialspoint.com/csharp/csharp\_constants.htm](https://www.tutorialspoint.com/csharp/csharp_constants.htm) + +# String Interpolation + +Concatenating multiple variables into one string with the '+' operator quickly becomes tedious + +It's much easier to use __string interpolation __ by prefixing your target string with '$' and inserting the variables inside curly brackets '{ }': + +string animal = "Dog"; + +string sound = "Woof"; + +Console.WriteLine($"{animal} says {sound}!"); + +// Outputs "Dog says Woof!" + +# String Formatting + +You can add __format strings__ to change the way variables are interpolated into a string + +Add the format string after your variable, separated by a colon (:) + +You can find an overview of format strings and a handy list of both standard and custom strings [here](https://learn.microsoft.com/en-us/dotnet/standard/base-types/formatting-types) + +double pi = 3.141592653; + +Console.WriteLine($"Pi to three digits: {pi:G3}"); + +// Outputs "Pi to three digits: 3.14" + +# Console.ReadLine() + +For the next exercise, you'll need the Console.ReadLine() method. The method pauses the program, waits for an input stream from the console that pops up, and returns the value of the input: + +string userInput = Console.ReadLine();Console.WriteLine(userInput); + +![](imgs/2%20Variables%20and%20Types_1.png) + +# Exercise 2: weekday survey + +Create a console application which asks the user which weekday it is and assigns the answer to a string variable. + +Print "Have a nice weekday!" to the console where weekday is replaced with the string the user wrote. + +# Assignments (arithmetic operations) + +[Assignments about this topic can be found here](https://gitea.buutti.com/education/academy-assignments/src/branch/master/C%23%20Basics/2.3.%20Arithmetic%20Operations) + diff --git a/3. Conditionals.md b/3. Conditionals.md new file mode 100644 index 0000000..4dcc737 --- /dev/null +++ b/3. Conditionals.md @@ -0,0 +1,263 @@ +# Conditionals + +![](imgs/3%20Conditionals_0.png) + +--- + +# Overview + +Conditionals + +if and else + +Logical Operators + +# Conditionals + +Less than: a < b + +Less than or equal to: a <= b + +Greater than: a > b + +Greater than or equal to: a >= b + +Equal to a == b + +Not Equal to: a != b + +Conditionals return true or false, meaning the result can even be allocated into a variable if needed + +bool areEqual = (a == b); + +# if , else and else if statements + +double temperatureInOulu = 2.3; + +double temperatureInIvalo = -10.9; + +if (temperatureInOulu > temperatureInIvalo) + +{ + +Console.WriteLine("Oulu is warmer than Ivalo"); + +} + +else if (temperatureInOulu < temperatureInIvalo) + +{ + +Console.WriteLine("Ivalo is warmer than Oulu"); + +} + +else + +{ + +Console.WriteLine + +("Oulu and Ivalo have the same temperature"); + +} + +__if __ statements are executed in order + +The first statement with a __true __ condition is executed + +If no statement holds a true value, __else __ is executed + +This outputs "Oulu is warmer than Ivalo" + +# ! -Operator + +Console.WriteLine(!true); // Outputs false + +bool itsColdOutside = true; + +if(!itsColdOutside) + +{ + +Console.WriteLine("It's warm outside."); + +} + +The ! -operator flips the boolean value __ __ + +# The switch statement + +The __switch __ statement compares the parameter value (here: the __path __ variable) with the value of each __case__ + +Only the matching code is executed + +If no match is found, the default code block is executed + +This outputs "Here's the catalogue!" + +break ends the case and exits the switch: the code will not compile if omitted + +string path = "/browse"; + +switch (path) + +{ + +case "/browse": + +Console.WriteLine("Here's the catalogue!"); + +break; + +case "/contact": + +Console.WriteLine("Here's our contact info."); + +break; + +default: + +Console.WriteLine("No such path!"); + +break; + +} + +# Scope of Variables + +Variables declared inside of blocks are called __local variables__ ; they are only accessible inside of that block. + +int a = 0; + +if(a < 10) + +{ + +// Variable 'b' is only accessible inside of this if block + +int b = 1; + +b = 2; // This works + +} + +b = 3; // This throws an error + +# Assignment Operators + +We have used the assignment operator ' __='__ for assigning values for variables: + +int x; + +x = 25; + +__Notice __ the difference between '=' and the conditional '=='! + +'=' is used for assigning values for variables, '== is used for comparing values + +# Logical Operators + +'&&', '||' and '!' mean the logical AND, OR and NOT operators + +For example, + +int a = 1; + +int b = 3; + +int c = 5; + +Console.WriteLine(a < b && a < c); + +outputs "True" + +| Operator | Name | Example | Description | +| :-: | :-: | :-: | :-: | +| && | AND | a && b | Returns true if __both__ variables are true.b is not evaluated if a == false. | +| || | OR | a || b | Returns true if __one or both__ variables are true. b is not evaluated if a == true. | +| ! | NOT | !a | __Negates__ boolean value (true becomes false and vice versa) | +| ^ | XOR | a ^ b | Exclusive OR: returns true if __only __ a == true __OR only__ b == true. | +| & | Logical AND | a & b | Returns true if __both__ variables are true. Both variables are always evaluated. | +| | | Logical OR | a | b | Returns true if __one or both__ variables are true.Both variables are always evaluated. | + +--- + +Tässä on kaikki aritmeettiset operaattorit + +# Operators - Example + +This outputs "Strong password!" + +int uppercaseLetters = 2; + +uppercaseLetters += 4; // is now 6 + +int specialCharacters = 2; + +specialCharacters *= 2; // is now 4 + +if (uppercaseLetters >= 6 && specialCharacters >= 2) + +{ + +Console.WriteLine("Strong password!"); + +} + +else + +{ + +Console.WriteLine("Weak-ass password..."); + +} + +# Exercise 1: + +Create a console application which asks the user which weekday it is and assigns the answer to a string variable. + +Using a switch-case, calculate the days remaining until next Monday. + +If the result is more than 3, print "Have a nice week!". Otherwise, print "Have a nice weekend!". + +# Exercise 2: + +Create a console application which lets the user input a note. + +If the length of the note is less than 30, the program prints the current time and the note, separated with a tab. Otherwise, the date and the note are printed to a separate line. + +Tip: Use DateTime.Now.ToString() for current time. Use .Length after your message variable to get the length of the message. + +# One More Thing... + +If a code block following a statement only has one line of code, you can write the code without using curly brackets: + +int baa = 49; + +if (baa > 20) + +Console.WriteLine("Baa"); + +else + +Console.WriteLine("Not baa!"); + +if (baa > 20) Console.WriteLine("Baa"); + +else Console.WriteLine("Not baa!"); + +You may see code where this is done. However, we highly recommend you not to use this syntax as it is highly prone to [errors](https://www.leadingagile.com/2018/01/the-goto-fail-bug-as-a-coaching-tool/) . + +# Get Help + +All the basics covering the syntax in C# are covered here: + +[https://www.tutorialspoint.com/csharp/index.](https://www.tutorialspoint.com/csharp/index.htm) [htm](https://www.tutorialspoint.com/csharp/index.htm) [l](https://www.tutorialspoint.com/csharp/index.htm) + +[https://www.w3schools.com/cs/default.asp](https://www.w3schools.com/cs/default.asp) + +# Assignments + +[Assignments about this topic can be found here](https://gitea.buutti.com/education/academy-assignments/src/branch/master/C%23%20Basics/3.%20Conditionals) + diff --git a/4. Loops.md b/4. Loops.md new file mode 100644 index 0000000..e1b7198 --- /dev/null +++ b/4. Loops.md @@ -0,0 +1,246 @@ +# Loops + +![](imgs/4%20Loops_0.png) + +--- + +# Overview + +While Loop + +For Loop + +Nested Loops + +Breaking Out of Loops + +# Loops + +Loops are useful when you need to repeat a block of code multiple times and to avoid code like this: + +Console.WriteLine(count); + +++count; + +Console.WriteLine(count); + +++count; + +Console.WriteLine(count); + +// Yuck! Nobody wants to see this. + +Loops can also be used for iterating through arrays and lists (more on those later) + +# while Loop + +_while_ loop keeps executing its code block as long as the condition in its statement is true: + +int count = 0; + +while(count < 4) + +{ + +Console.WriteLine(count); + +++count; + +} + +// Outputs '0', '1', '2' and '3' + +# do..while Loop + +_do..while_ works the same way as while, but it executes the code at least once and checks the condition at the end: + +int count = 0; + +do + +{ + +Console.WriteLine(count); + +++count; + +} while (count < 4); + +// Outputs '0', '1', '2' and '3' + +# for Loop + +_for _ loops are used when the number of iterations are predefined + +for loop executes in three inherent steps: + +for (/*initial value*/;/*condition*/;/*increment*/) + +{ + +/* Code to be executed */ + +} + +The initial value is set before the first iteration. The condition is checked before each iteration, and the increment is executed after each iteration. + +# for Loop (continued) + +Try to understand the following two examples: + +for (int i = 0; i < 4; ++i) + +{ + +Console.WriteLine + +("Current: " + i); + +} + +/* Outputs + +Current: 0 + +Current: 1 + +Current: 2 + +Current: 3 + +*/ + +for (int i = 8; i > 0; i -= 2) + +{ + +Console.WriteLine + +("Current: " + i); + +} + +/* Outputs + +Current: 8 + +Current: 6 + +Current: 4 + +Current: 2 + +*/ + +We start from zero, print the current value and add one until the value is no longer under four. + +We start from eight, print the current value and remove two until the value is no longer larger than zero. + +for (int i = 8; i > 0; i -= 2) + +{ + +Console.WriteLine + +("Current: " + i); + +} + +for (int i = 0; i < 4; ++i) + +{ + +Console.WriteLine + +("Current: " + i); + +} + +# Nested Loops + +Nothing prevents you from using a loop inside another loop: + +int columns = 3; + +int rows = 4; + +for (int i = 0; i < columns; ++i) + +{ + +for (int j = 0; j < rows; ++j) + +{ + +// Console.Write doesn't add a line break after printout + +Console.Write("(" + j.ToString() + "," + i.ToString() + ")"); + +} + +Console.WriteLine(""); + +} + +![](imgs/4%20Loops_1.png) + +# Breaking Out of Loops + +To stop the execution of a loop completely, use the _break _ -keyword: + +int i = 0; + +while(true) + +{ + +++i; + +if(i > 3) + +break; + +} + +// i is now 4 + +To skip the current iteration, use the _continue _ -keyword + +int i = 0; + +while(i < 10) + +{ + +++i; + +if (i % 2 == 0) + +continue; + +Console.WriteLine(i); + +} + +// Prints every odd number from 1 to 10 + +# Exercise 1: The Main Loop + +At the heart of every dynamic program, there is something called the _event loop _ a.k.a the _main loop. _ Create a console application which keeps asking the user for an input, until the user inputs "quit". + +Expand the program so that if the user inputs "help", a dialog shows up which shows the command and explanation for the command for both quit and help commands. + +![](imgs/4%20Loops_2.png) + +# Exercise 2: Prime Numbers + +Prime number is a number greater than 1 that is not a product of two small numbers, i.e. cannot be divided into a whole number. (Wikipedia: [https://en.wikipedia.org/wiki/Prime\_number](https://en.wikipedia.org/wiki/Prime_number) ) + +Create a console application which prints all the prime numbers between 0 .. 40 + +![](imgs/4%20Loops_3.png) + +# Assignments + +[Assignments about this topic can be found here](https://gitea.buutti.com/education/academy-assignments/src/branch/master/C%23%20Basics/4.%20Loops) + diff --git a/5. Arrays and Lists.md b/5. Arrays and Lists.md new file mode 100644 index 0000000..957ca00 --- /dev/null +++ b/5. Arrays and Lists.md @@ -0,0 +1,204 @@ +# Arrays and Lists + +![](imgs/5%20Arrays%20and%20Lists_0.png) + +--- + +# Overview + +Arrays + +Multidimensional Arrays + +Lists + +Iterating a List + +Foreach + +# Arrays + +Arrays are a collection of variables of the same type, which allocate neighboring memory locations + +A single value in this collection is called an __element__ + +Arrays can be __declared __ with square brackets following the type of the elements: + +int[] userIds; + +Declaring an array does not yet allocate space from memory + +# Arrays (continued) + +__Initialize __ an array with a length of 3 using the following syntax: + +int[] userIds = new int[3]; + +__Assign a value__ to an element in an array by specifying the index in square brackets: + +userIds[0] = 104; + +Indexing starts from 0, so the above line assigns a value of 104 to the first element of the array + +You can also create an array containing values with one statement: + +string[] names = new string[3] { "Johannes", "Rene", "Ville" }; + +The same works without specifying the length in the brackets: + +double[] balances = new double[] { 1.3, 200.3, 9332.14 }; + +# Multidimensional Arrays + +C# supports multidimensional arrays: + +char[,] letters = new char[3, 4] + +{ + +{'a', 'b', 'c', 'd'}, + +{'e', 'f', 'g', 'h'}, + +{'i', 'j', 'k', 'l'} + +}; + +Console.WriteLine(letters[1, 3]); // Outputs "h" + +# Lists + +The .NET Framework Class Library offers another way to hold multiple variables: the _List _ object + +Declaration and initialization: + +List userIds = new List(); + +Value assignment: + +userIds[0] = 22; + +# Lists (continued) + +The key benefit of using Lists lies in its built-in functionalities + +![](imgs/5%20Arrays%20and%20Lists_1.png) + +You can see a list of available methods in VSC2019 by following a variable with a dot + +# Arrays vs Lists + +The memory allocation of an array is static/fixed, but list memory is dynamic + +This allows the flexible mutation of lists, meaning you can always add or remove and hence change change the length of the list without issues + +![](imgs/5%20Arrays%20and%20Lists_2.png) + +# Arrays vs Lists (continued) + +When to use arrays and when lists? + +Use __arrays __ if you need __high performance__ + +Use __lists __ if you need support for __list operations__ + +# Iterating an Array With for Loop - Example + +string[] names = new string[] + +{ + +"Harry Potter", + +"Luke Skywalker", + +"Harley Quinn" + +}; + +for(int i = 0; i < names.Length; ++i) + +{ + +Console.WriteLine(names[i]); + +} + +![](imgs/5%20Arrays%20and%20Lists_3.png) + +# Iterating a List + +You can iterate the elements of a list with a for loop the same way as an array + +Just use List.Count instead of Array.Length + +List numbers = new List() { 1, 5, 3 }; + +int sum = 0; + +for (int i = 0; i < numbers.Count; ++i) + +{ + +sum += numbers[i]; + +} + +// sum is now 9 + +# foreach Statement + +There is one more statement to use to iterate arrays and lists: the foreach statement + +foreach is useful when you have to execute code for each element of an array or a list: + +string[] names = new string[] + +{ + +"Harry Potter", + +"Luke Skywalker", + +"Harley Quinn" + +}; + +foreach (string name in names) + +{ + +Console.WriteLine(name); + +} + +![](imgs/5%20Arrays%20and%20Lists_4.png) + +# foreach Statement (continued) + +However, foreach creates a copy of each element in the object so the element cannot be mutated directly: + +![](imgs/5%20Arrays%20and%20Lists_5.png) + +Performance-wise, using foreach is also more costly because it uses more memory space + +--- + +Instead, create a new list + +# Exercise 1: Expanding the Console Application + +Continue working on the command line application you created in "The Main Loop" exercise. Add a new command "add" which prompts the user to write a note. + +After the user has inputted the note, it is saved to a list, and the program returns back to listening to commands. + +Add another command "list" which prints all the saved notes. + +Add one more command "remove" which prints all the saved notes with the index of the note, and then prompts the user for a number. After entering the number the corresponding note is deleted from the list. + +( __Note__ : you can use int.Parse() -method to parse the user input string to an integer) + +# Assignments + +[Assignments about this topic can be found here](https://gitea.buutti.com/education/academy-assignments/src/branch/master/C%23%20Basics/5.%20Arrays%20&%20Lists) + diff --git a/6. Methods.md b/6. Methods.md new file mode 100644 index 0000000..2a8edad --- /dev/null +++ b/6. Methods.md @@ -0,0 +1,270 @@ +# Methods + +![](imgs/6%20Methods_0.png) + +--- + +# Overview + +Functions + +Methods + +Parameters + +Return Values + +Scope of Methods + +# What is a function? + +* Functions are self contained modules of code that accomplish a specific task. +* Function is basically a block of code that can be executed over and over again in the program + * Instead of writing the same code over and over again to the program, it can be written only once as a function +* Functions can get data, _parameters_ , from the _caller_ +* Functions can return data, _return value_ , to the caller +* Defining parameters and return values are optional, not all functions have both and some have neither! + +# Function execution + +* When a function is called the program leaves the current section of the code and begins to execute the first line of code inside the function. +* The program execution comes to the line of code where the function call is +* The program enters the function +* Instructions inside the function are executed from top to bottom + * Remember scopes: The variables defined inside the function are not visible outside the function! +* The program leaves the function and returns to the point where the function call was and continues the execution +* If function returned any data, it can be used where the function was called + +# Methods + +In C#, __methods __ are functions which are inside of a class + +Since the main function is inside of a class, all functions in C# are actually just called methods + +* A methods are executed only when it is __called__ +* For example, Console.WriteLine() is a method which contains more complex code to print stuff on to the console + * Instead of writing all that complex stuff at every printout, you can just use the short method call Console.WriteLine() +* The use of methods reduces repetitive code, adds modularity and makes designing your programs easier + +# Methods - Example + +![](imgs/6%20Methods_1.png) + +class Program + +{ + +static void Main(string[] args) + +{ + +void PrintBlock() + +{ + +Console.WriteLine("---------------------"); + +Console.WriteLine("| This is cool but |"); + +Console.WriteLine("| you wouldn't want |"); + +Console.WriteLine("| to write this |"); + +Console.WriteLine("| block of code |"); + +Console.WriteLine("| every time! |"); + +Console.WriteLine("---------------------"); + +} + +PrintBlock(); + +PrintBlock(); + +PrintBlock(); + +} + +} + +* In this example, we declared a new method called PrintBlock +* Finally the method was called three times +* Each time the entire code inside the method was executed +* The void statement means that the method does not return anything + * More on that later + +# Parameters + +Sometimes you want to pass data into the method when calling it + +This is done by adding __parameters __ to the method declaration, inside the brackets: + +void PrintSum(int val1, int val2) + +{ + +int sum = val1 + val2; + +Console.WriteLine("Sum of " + val1 + " and " + val2 + " is " + sum); + +} + +The values to be passed are set as __arguments __ in the method call, inside the brackets: + +PrintSum(2, 5); // Outputs "Sum of 2 and 5 is 7 + +PrintSum(5, 5); // Outputs "Sum of 5 and 5 is 10 + +# Parameters - Example + +![](imgs/6%20Methods_2.png) + +static void Main(string[] args) + +{ + +int centuriesPrinted = 0; + +void PrintCentury(int century) + +{ + +centuriesPrinted++; + +Console.WriteLine("Current century: " + century); + +Console.WriteLine("Total centuries printed: " + centuriesPrinted); + +} + +for (int i = 0; i < 500; i += 100) + +{ + +PrintCentury(i); + +} + +} + +# Optional Parameters + +You can give a parameter a default value by assigning it in the method declaration + +This makes the parameter optional + +double CircleArea(double radius = 0) + +{ + +double area = Math.PI * radius * radius; + +return area; + +} + +Console.WriteLine(CircleArea()); // This outputs 0 + +Console.WriteLine(CircleArea(2)); // This outputs 12,56637... + +# Exercise 1 + +Write two methods Sum and Difference, which both have two parameters of type int, named value1 and value2. Sum should print "The sum of __*value1*__ and __*value2*__ is __*sum*__ ", and Difference should print "The difference of __*value1*__ and __*value2*__ is __*difference*__ . + +Call the methods from the main method multiple times with different values. + +# Return Values + +The return value of a method is __returned __ with the return keyword: + +double radius = 2; + +Console.WriteLine(CircleArea(radius)); // Outputs 12,56637... + +double CircleArea(double radius) + +{ + +double area = Math.PI * radius * radius; + +return area; + +} + +In the first examples, the method declarations started with the void expression, which means that the method doesn't return anything + +Here the method was declared as type double, which means that the method has to return a variable of type double + +# Multiple Return Values + +It is possible to return multiple values in the form of a __tuple__ : + +(string, string) FirstAndLastName(string fullname) + +{ + +string[] names = fullname.Split(' '); + +return (names[0], names[names.Length - 1]); + +} + +(string first, string last) = FirstAndLastName("Hans \\"Dolph\\" Lundgren"); + +Console.WriteLine($"First name: {first}, last name: {last}"); + +// Outputs "First name: Hans, last name: Lundgren" + +If only one value from a tuple is needed, you can use a __discard __ (\_) + +// Only last name is allocated to a variable + +(\_, string lastName) = FirstAndLastName("Arnold Alois Schwarzenegger"); + +# Scope of Methods + +The variables declared inside of a method are __local variables__ and only accessible inside of that method + +void ScopeExample() + +{ + +// Variable 'a' is only accessible inside of this method + +int a = 10; + +a = 20; // This works + +} + +a = 30; // This throws an error + +# Exercise 2 + +Write a method that takes a string as a parameter and prints the total number of spaces in that string. + +Without using the string.Trim() method, modify the method so that it removes the spaces in a string and returns the new string. + +(Hint: You can iterate a string just like arrays and lists.) + +![](imgs/6%20Methods_3.png) + +# Exercise 3 + +Write a method that takes a string as a parameter and prints each unique letter in that string. + +Write a new method that takes a string as a parameter and prints the number of each unique letter in the string. + +![](imgs/6%20Methods_4.png) + +# Exercise 4 + +Write a method that takes a 10 digit number as a parameter and divides individual digits into even and odd arrays. Method should return both arrays. + +Remember to check that method accepts only numbers. + +# Assignments + +[Assignments about this topic can be found here](https://gitea.buutti.com/education/academy-assignments/src/branch/master/C%23%20Basics/6.%20Methods) + diff --git a/7. Classes and Objects.md b/7. Classes and Objects.md new file mode 100644 index 0000000..30ddb6f --- /dev/null +++ b/7. Classes and Objects.md @@ -0,0 +1,558 @@ +# Classes and Objects + +![](imgs/7%20Classes%20and%20Objects_0.png) + +--- + +# Overview + +Namespaces + +Classes + +Object Variables + +Access Specifiers + +Class Members + +Constructors + +Value & Reference Types + +Enum + +# Namespaces + +Using namespaces helps you to organize the scope of globally available data in your project, meaning that related objects in a well-named namespace makes it easy to import what you need + +By default, when creating a new project and adding classes in Visual Studio, everything is contained within a namespace named after your project name + +If you need a class or an enum to be accessible from anywhere, create it within that namespace and set it as public + +// Note that namespaces can have + +// subdirectories, as Models here + +namespace MyAwesomeApp.Models + +{ + +public class Student + +{ + +} + +} + +// This is how you would use the + +// Student class in other code + +using MyAwesomeApp.Models + +# Classes + +__Classes __ in C# are blueprints for a __type __ of __object__ + +We have already used a class named _Program _ when creating a new console application: + +![](imgs/7%20Classes%20and%20Objects_1.png) + +--- + +You could even create new instances of Program + +* If we wanted, we could just write the entire program with thousands of lines of code on one page inside the main function +* This kind of program would of course be impossible to work with within a group or organization: + * No one should have to scroll through tens of thousands of lines of code to find that one line that causes problems… + * At least make them browse through hundreds of classes instead :) +* Classes provide __encapsulation __ which result in __shorter files__ , __less repetitive code__ and overall __better readability__ + +# Creating a Class + +You can create a new class by writing + +class Student + +{ + +} + +Create variables inside a class just like before inside the Program class: + +class Student + +{ + +int id; + +string name; + +} + +❕ + +Variables declared directly inside classes are called __fields.__ + +# Referencing a Class + +New instances of a class can be created with the __new __ keyword + +All instances of a class have exactly the same fields and methods, but they can have different values + +In the following example a few __objects __ of __type __ Student are created + +However, these objects have no functionality yet + +namespace MyAwesomeApp + +{ + +class Student + +{ + +} + +class Program + +{ + +static void Main(string[] args) + +{ + +Student student1 = new Student(); + +Student student2 = new Student(); + +Student student3 = new Student(); + +} + +} + +} + +# Object Variables + +The variables inside of an object can be accessed with the '.' operator + +However, the following syntax results in an error: + +| Student class: | Program class: | +| :-: | :-: | +| class Student{ int id;} | class Program{static void Main(string[] args){ Student student = new Student(); student.id = 12345678;}} | + +![](imgs/7%20Classes%20and%20Objects_2.png) + +Let's fix the previous example by changing the _ _ __access specifier__ of the 'id' variable to __public__ : + +| Student class: | Program class: | +|:---------------------------------:|:--------------------------------------------------------------------------------------------------------------:| +| class Student{ public int id;} | class Program{static void Main(string[] args){ Student student = new Student(); student.id = 12345678;}} | +| | | + +The value of the variable 'id' of the object 'student' is now 12345678 + +# Access Specifiers + +__Access specifiers__ can be used to get additional level of protection inside classes + +Variables specified with __private __ are accessible only inside the containing class + +Variables specified with __public __ are accessible outside of the class + +The __default __ access for any variable is private! + +class Student + +{ + +int id; // Accessible only inside the class + +private string name; // Accessible only inside the class + +public string address; // Accessible everywhere within the namespace + +} + +Continuing on the class in the previous slide, if we follow the 'student' variable with a dot, VS intellisense will only suggest the 'address' variable, because it was the only public variable of the 'Student' class + +![](imgs/7%20Classes%20and%20Objects_3.png) + +# Classes - Example + +class Student + +{ + +public int id; + +public string name; + +} + +class Program + +{ + +static void Main(string[] args) + +{ + +Student student1 = new Student(); + +Student student2 = new Student(); + +student1.id = 22225555; + +student1.name = "Johannes Kantola"; + +student2.id = 44441111; + +student2.name = "Rene Orosz"; + +Console.WriteLine(student1.name); // Outputs Johannes Kantola + +} + +} + +# Exercise 1 + +Create a console application that has a class User which contains two fields: string userName and string password + +Create a main loop where the user is asked repeatedly for a new username and password. The values are stored to a new User instance and that instance is saved to a list of users + +Print all stored usernames every time a new user is created + +# Class Methods + +As mentioned in the previous lecture, we can create methods inside of our classes: + +class Person + +{ + +public string firstName; + +public string lastName; + +public string FullName() + +{ + +return firstName + " " + lastName; + +} + +} + +class Program + +{ + +static void Main(string[] args) + +{ + +Person someDude = new Person(); + +someDude.firstName = "Johannes"; + +someDude.lastName = "Kantola"; + +Console.WriteLine(someDude.FullName()); + +// Outputs Johannes Kantola + +} + +} + +If the method is public, it can be called from outside of the class + +# Constructors + +Constructors are class methods which are called once the object is initialized + +Constructors are created by creating a class method with the same name as the class: + +class User + +{ + +public User() + +{ + +Console.WriteLine + +("New user created!"); + +} + +} + +| | | +| :-: | :-: | + +class Program + +{ + +static void Main(string[] args) + +{ + +User user = new User(); + +// Outputs "New user created!" + +} + +} + +❕ + +In Visual Studio, just write "ctor" and press tab twice to quickly create a constructor + +# Constructors with Parameters + +You can pass in parameters to the constructor at initialization: + +class Car + +{ + +private string model; + +private int year; + +private int doors; + +public Car(string modelName, int modelYear) + +{ + +model = modelName; + +year = modelYear; + +doors = 5; + +} + +} + +class Program + +{ + +static void Main(string[] args) + +{ + +Car lada = new Car("Niva", 1984); + +Car ford = new Car("Focus", 2010); + +// Both cars have 5 doors by default + +} + +} + +# Exercise 2 + +Create a console application with a class Animal, that contains + +two strings: name and sound, and + +a method Greet() that prints " __*name*__ says __*sound*__ !" + +Create a few animals with different names and sounds + +Call their greet methods from the main program + +# Properties + +When working with C#, you will eventually see __properties __ being used at some point + +Properties allow the manipulation of private fields from outside of the class: + +class User + +{ + +private int id; + +public int Id + +{ + +get { return id; } + +set { id = value; } + +} + +} + +class Program + +{ + +static void Main(string[] args) + +{ + +User admin = new User(); + +admin.Id = 12345678; + +Console.WriteLine(admin.Id); + +// This outputs 12345678 + +} + +} + +# Auto Properties + +Auto properties are a shorthand version of the same: + +class User + +{ + +public int Id { get; set; } + +} + +class Program + +{ + +static void Main(string[] args) + +{ + +User admin = new User(); + +admin.Id = 12345678; + +Console.WriteLine(admin.Id); + +// This outputs 12345678 + +} + +} + +❕ + +In Visual Studio, just write "prop" and press tab twice to quickly create an auto property + +# Properties + +* __Why use properties if we could just use public fields?__ +* We don't always want to expose the exact same variable that is used inside of the class, to outside +* Properties allow class fields to be __read-only__ or __write-only__ : +* public int Id { get; } // This field is read-onlypublic int Password { private get; set; } // This field is write-only +* Properties are supported in __interfaces__ , while fields are not + * We will cover interfaces later +* There are a bunch of other reasons, but they are outside the scope of this course +--- + +Lets say we have a variable in our class which is queued for calculating something important +Now some other class changes that variable -> Problem + +# Value and Reference Types + +* If this program is executed, what will be the output? +* int, double, char and other primitive data types are of __value type__ + * The variable stores the __actual data__ in memory + * Every copy of the variable will be stored in a separate location +* class Program{ static void Main(string[] args) { int user = 1; int otherUser = user; user = 2; Console.WriteLine( "Value of otherUser: " + otherUser); }} + +![](imgs/7%20Classes%20and%20Objects_4.png) + +* When this program is executed, what will be the output? +* Strings, Arrays and Classes are of __reference type __ + * The variable stores the address of the data being stored in memory + * Every copy of the variable points to the same address + +class Program + +{ + +static void Main(string[] args) + +{ + +User user = new User(); + +user.id = 1; + +User otherUser = user; + +user.id = 2; + +Console.WriteLine( + +"Value of otherUser.id: " + otherUser.id); + +} + +} + +class User + +{ + +public int id; + +} + +![](imgs/7%20Classes%20and%20Objects_5.png) + +Location in memory + +int userId = 42; + +int otherUserId = userId; + +| 42 | +| :-: | +| 42 | + +Changing the value in the object will affect all variables referencing it! + +| points to | +| :-: | +| points to | + +User user = new User(42); + +User otherUser = user; + +| user { id = 42 } | +| :-: | + +# Exercise 3 + +Classes and enums can be created to a separate file. To quickly create a new class, right mouse click you project (not solution) name in solution explorer -> Add -> Class… Name your class "TestClass" + +Back in your main method, create an instance of TestClass. The compiler should not give any errors. + +Now rename the namespace that your TestClass is in, to "TestNamespace". Go back to your main method. The TestClass instantiation should not work anymore. Try to fix that without going back to TestClass. + +# Exercise 4 + +Modify previous solution by using methods and class. + diff --git a/8. Inheritance & Abstract Classes.md b/8. Inheritance & Abstract Classes.md new file mode 100644 index 0000000..84ca60d --- /dev/null +++ b/8. Inheritance & Abstract Classes.md @@ -0,0 +1,302 @@ +# Inheritance & Abstract Classes + +![](imgs/8%20Inheritance%20%26%20Abstract%20Classes_0.png) + +--- + +# Overview + +Inheritance + +Abstract Classes + +Enums + +# Inheritance + +Classes can be made to inherit functionality of some other class + +If class B inherits class A, all of the (public) functionality in class A is also available in class B + +A is called the __base class__ (or parent class) and B is called the __derived class __ (or child class) + +Use the " __:"__ symbol to make a class inherit from another + +Try to understand the following example: + +| class Animal | +| :-: | +| -Eat()-Sleep() | + +| class Dog : Animal | +| :-: | +| -Bark() | + +| class Cat : Animal | +| :-: | +| -Meow() | + +Animal can eat + +Animal can sleep + +Dog can eat + +Dog can sleep + +Dog can bark + +Cat can eat + +Cat can sleep + +Cat can meow + +# Inheritance - Example + +class Animal + +{ + +public void Eat() { Console.WriteLine("Eating..."); } + +public void Sleep() { Console.WriteLine("Sleeping..."); } + +} + +class Cat : Animal + +{ + +public void Meow() { Console.WriteLine("Meow!"); } + +} + +class Dog : Animal + +{ + +public void Bark() { Console.WriteLine("Bark!"); } + +} + +class Program + +{ + +static void Main(string[] args) + +{ + +Dog pluto = new Dog(); + +pluto.Eat(); // Outputs "Eating..." + +pluto.Bark(); // Outputs "Bark!" + +} + +} + +# Inheritance + +All the objects deriving from the same base class can be referenced with the base class name: + +Animal whiskersAnimal = new Cat(); + +Animal plutoAnimal = new Dog(); + +However, only the methods of the base class are available for objects of the base class type: + +plutoAnimal.Eat(); // Outputs "Eating..." + +plutoAnimal.Bark(); // Error + +An object of base class type can be __casted __ into the child class type: + +Dog pluto = (Dog)plutoAnimal; + +pluto.Bark(); // Outputs "Bark!" + +# Abstract Classes + +* In some cases you want the base class to be made __abstract__ +* Objects of an abstract class cannot be instantiated + * For example, where would you need a generic Animal by itself? +* Make a class abstract with the abstract keyword: +* abstract class Animal +* { +* public void Eat() { Console.WriteLine("Eating..."); } +* public void Sleep() { Console.WriteLine("Sleeping..."); } +* } +* class Program +* { +* static void Main(string[] args) +* { +* Animal animal = new Animal(); // This will throw an error +* } +* } + +Instead, the methods are accessible through a derived class: + +abstract class Animal + +{ + +public void Eat() { Console.WriteLine("Eating..."); } + +public void Sleep() { Console.WriteLine("Sleeping..."); } + +} + +class Pig : Animal + +{ + +public void Squeal() { Console.WriteLine("Squeee!"); } + +} + +class Program + +{ + +static void Main(string[] args) + +{ + +Pig pig = new Pig(); + +pig.Sleep(); // Outputs "Sleeping..." + +pig.Squeal(); // Outputs "Squeee!" + +} + +} + +If you know you only need the functionality of the abstract class, instantiate the new class as a type of abstract class: + +abstract class Animal{ public void Eat() { Console.WriteLine("Eating..."); } public void Sleep() { Console.WriteLine("Sleeping..."); }}class Pig : Animal{ public void Squeal() { Console.WriteLine("Squeee!"); }}class Program{ static void Main(string[] args) { Animal pig = new Pig(); pig.Sleep(); // Outputs "Sleeping..." pig.Squeal(); // This will throw an error }} + +--- + +This is called abstraction, which is one of the key concepts of OOP + +# Exercise 1 + +Create the classes Animal, Dog, Cat and Pig. Animal is the same as before (strings name and sound and the Greet() method). Dog, Cat and Pig inherit Animal + +Give Dog, Cat and Pig some fields and/or methods specific to that animal + +Create a few instances of Dog, Cat and Pig classes, and add them to a new list of Animals, named "allAnimals" + +Loop through allAnimals with the foreach statement, and call the Greet() method of each animal + +# Enum + +__Enum __ (short for enumeration) is a data type for holding a set of constant (immutable) names + +Enums can be useful when you have a number of items or states that are predefined, for example, weekdays + +Create the enum type with the enum keyword: + +enum Weekday{ Monday, Tuesday, Wednesday, Thursday, Friday, Saturday} + +New instances of the enum can only be assigned one of the values within: + +Weekday currentDay = Weekday.Monday; + +# Enum - Example + +In this example, enum is used to keep track of the state of the program: + +enum ProgramState + +{ + +Login, + +Menu, + +Exit + +} + +static void Main(string[] args) + +{ + +ProgramState currentState = ProgramState.Login; + +while (true) + +{ + +switch (currentState) + +{ + +case ProgramState.Login: + +// Switch current state to Menu after logging in + +break; + +case ProgramState.Menu: + +// Switch current state to Exit if user exits + +break; + +case ProgramState.Exit: + +// Exit the program with an exit message + +break; + +} + +} + +} + +# Going Further: Object Oriented Programming + +* The instances that are created with the new -keyword are objects. This is literally what Object Orientation refers to: packing functionality into these reusable variables that are holding some data and can be passed around +* The key concepts of OOP are + * Encapsulation + * Inheritance + * Abstraction, and + * Polymorphism + +# OOP: Encapsulation + +Earlier we created classes which hold properties and methods, which are only accessible elsewhere _after _ instantiating an object of the class + +All the functionality is encapsulated inside of the class instead of lying around in the codebase + +All the functionality made available _only when it is needed _ by instantiating an object of the class + +# OOP: Inheritance + +As shown in the lecture slides, inheritance allows you to write some functionality once, and then create separate classes which all share that same functionality + +This removes the need to write the same code inside every class + +# OOP: Abstraction + +When your class contains a lot of complicated functionality, it doesn't always make sense to reveal everything when the class is used + +Instead, reveal only the parts that the user (you, a workmate, etc) actually need, with abstraction + +Parable: The user of a microwave doesn't have to know about the complicated circuitry inside of the microwave. Only the buttons are revealed + +# OOP: Polymorphism + +This concept becomes more clear after we have covered interfaces + +Polymorphism refers to multiple classes having the same method but with different functionality + +This reduces the need for massive if-else and switch..case statements + diff --git a/9. Interfaces.md b/9. Interfaces.md new file mode 100644 index 0000000..459f3b7 --- /dev/null +++ b/9. Interfaces.md @@ -0,0 +1,270 @@ +# Interfaces + +![](imgs/9%20Interfaces_0.png) + +--- + +# Overview + +Interfaces + +Interfaces or Inheritance? + +# Interfaces + +* In addition to abstract classes, __interfaces __ are a way to achieve abstraction to your program +* Interfaces are classes that have __no internal functionality__ +* Interfaces describe the methods and properties that a class has to have when implementing the interface + * Think of it as a _contract_ : by __implementing __ an interface, the class _has to_ _use _ all the methods and properties that are defined in the interface +* As with abstract classes, interfaces cannot be instantiated directly + * It wouldn't make any sense as interfaces have no implementation +* Interfaces are way more commonly used than abstract classes + +# Creating an Interface + +* Define an interface using the interface keyword instead of class: +* interface IUser +* { +* int Id { get; set; } +* string Name { get; set; } +* void GetUserStatistics(); +* } +* Interface names should begin with the capital I letter to more easily identify them as interfaces and not classes +* Notice that interfaces can contain both properties and methods but not fields +* Methods are declared without the method body (no implementation) + * The methods are implemented on the classes that uses the interface + +# Implementing an Interface + +Implement an interface just like you would inherit a class: + +class User : IUser + +{ + +} + +The compiler will now throw a bunch of errors saying that the User class does not implement the properties and methods defined in the interface + +Let's fix that by defining those now + +# Implementing an Interface (continued) + +class User : IUser + +{ + +public int Id { get; set; } + +public string Name { get; set; } + +public void GetUserStatistics() + +{ + +// Some code here + +} + +} + +The interface is now fully implemented and the compiler is happy + +The interface do not dictate _how_ the methods are implemented, those just need to be implemented. + +❕ + +To quickly implement the interface, click the IUser interface name and click the light bulb -> implement interface. + +# Implementing Multiple Interfaces + +* Unlike with inheritance, classes can implement multiple interfaces + * In contrast, classes can only inherit from one base class +* This is done by separating the interfaces with a comma: +* class Rock : IPickable, IThrowable, ICrushable +* { +* // Code that implements IPickable, IThrowable and ICrushable +* } + +# Why Use Interfaces? + +Interfaces allow common functionality among classes that are otherwise unrelated to each other + +In those cases, inheriting from some shared base class wouldn't make sense + +Consider the following example: + +public void DeleteData(IDeletable data) + +{ + +data.Delete(); + +} + +The above method accepts _any _ type of object that implements IDeletable, regardless of other functionality + +# Interface or Inheritance? + +| class Dog | +| :-: | +| -Eat()-Sleep()-WagTail() | + +| class Human | +| :-: | +| -Eat()-Sleep()-Contemplate() | + +| class Bear | +| :-: | +| -Eat()-Sleep()-Hibernate() | + +All classes could inherit from a base class Animal, which has methods Eat() and Sleep() + +Should the base class be abstract? Depends on your program: do you ever need an object that can only Eat() and Sleep()? + +| class Tree | +| :-: | +| -Grow()-Photosynthesize() | + +| class Human | +| :-: | +| -Grow()-Move() | + +| class Car | +| :-: | +| -Move()-Explode() | + +It wouldn't make sense to use inheritance here, since there is no functionality that is shared between all classes + +Instead you could make two interfaces: IGrowable and IMovable + +# Interfaces - Example + +Let's make a program that has two lists: one for all objects that can move (IMovable) and one for all objects that can be carried (ICarryable) + +Finally every movable object is moved and carryable object is carried + +interface IMovable + +{ + +void Move(); + +} + +interface ICarryable + +{ + +void Carry(); + +} + +class Elephant : IMovable + +{ + +public void Move() + +{ + +Console.WriteLine("The elephant is moving'"); + +} + +} + +class Cat : IMovable, ICarryable + +{ + +public void Move() + +{ + +Console.WriteLine("The cat is moving'"); + +} + +public void Carry() + +{ + +Console.WriteLine("You are carrying the cat"); + +} + +} + +class Rock : ICarryable + +{ + +public void Carry() + +{ + +Console.WriteLine("You are carrying the rock"); + +} + +} + +class Program + +{ + +static void Main(string[] args) + +{ + +Elephant elephant = new Elephant(); + +Cat cat = new Cat(); + +Rock rock = new Rock(); + +List movables = new List{ elephant, cat }; + +List carryables = new List{ cat, rock }; + +foreach (IMovable movable in movables) + +movable.Move(); + +foreach (ICarryable carryable in carryables) + +carryable.Carry(); + +} + +} + +![](imgs/9%20Interfaces_1.png) + +# Exercise 1: A Web of Relations + +Create a console application that has an interface IInfo, and two classes Product and Category, which both implement IInfo. + +Inside IInfo, declare a property InfoText and a method PrintInfo + +Implement the property and method in Product and Category + +Initialize a couple of products and categories, with info texts of your choice + +Create a list of type IInfo, and add the products and categories to it + +Create a main loop, where each time the user presses enter, all the info texts inside the list are printed + +# Exercise 2: The IComparable Interface + +Create a program that sorts a list of shapes by area, using the [IComparable](https://docs.microsoft.com/en-us/dotnet/api/system.collections.icomparer?view=netcore-3.1) interface, which is used by the List.Sort() method to know whether the elements should come before or after each other in the list. + +Start by creating 4 classes: __Shape__ , __Square__ , __Triangle__ and __Circle__ . Square, Triangle and Circle inherit from Shape. Shape implements the __IComparable\__ __ __ interface. + +Shape has a public property double Area. Square, Triangle and Circle have to have constructors to calculate the area: Square and Triangle with length and height, and Circle with radius. + +The CompareTo(Shape? other) method should return 1 if the area is greater than what is being compared with (Shape other), 0 if the areas are equal, and -1 if the area is smaller. + +Try out your solution by creating a couple of squares, triangles and circles in a list of shapes, and sorting the list with the .Sort() method. Print the areas in the sorted array with a foreach loop. They should be printed in an increasing order. + diff --git a/example-lecture-slides.html b/example-lecture-slides.html deleted file mode 100644 index 71b16e0..0000000 --- a/example-lecture-slides.html +++ /dev/null @@ -1,80 +0,0 @@ -N. Example Lecture
-

Example Lecture

-
-
-

Section

-
    -
  • This line appears instantly
  • -
-
    -
  • This line appears by pressing spacebar
  • -
  • This line has an inline code variable
    console.log("Here's a coloured JavaScript code block");
    -console.log("Remember indentation so it's revealed after the bullet point.");
    -
    -
  • -
  • This line has an inline LaTeX maths equation
  • -
  • Here's a maths block:
  • -
-

Footers are exclusive to presentation; they are not shown in the webpage markdown document
-
-
-

Columns

-
-
-

-
    -
  • Basic image example
  • -
-
-
-

-
    -
  • Wider image
  • -
-
-
-
    -
  • This line is outside the columns and goes from left all the way to the right
  • -
-
-
-

Setup

- -
-
\ No newline at end of file diff --git a/example-lecture.md b/example-lecture.md deleted file mode 100644 index f7c6df9..0000000 --- a/example-lecture.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -marp: true -paginate: true -math: mathjax -theme: buutti -title: N. Example Lecture ---- - -# Example Lecture - - - - -## Section - -- This line appears instantly -* This line appears by pressing spacebar -* This line has an inline code `variable` - ```js - console.log("Here's a coloured JavaScript code block"); - console.log("Remember indentation so it's revealed after the bullet point."); - ``` -* This line has an inline LaTeX maths equation $c = \frac{a^2}{\sqrt{b}}$ -* Here's a maths block: - -$$ -F(x) = \int_a^b f(x) dx -$$ - - - -## Columns - -
-
- -![](imgs/buuttilogo.png) - -* Basic image example - -
-
- -![width:800px](imgs/buuttilogo.png) -* Wider image - -
-
- -* This line is outside the columns and goes from left all the way to the right - - -## Setup - -* In VS Code, install the extensions - * [Marp for VS code](https://marketplace.visualstudio.com/items?itemName=marp-team.marp-vscode) - * So you can see the slideshow preview when editing. - * [Markdown all in one](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one) - * [Markdown table formatter](https://marketplace.visualstudio.com/items?itemName=fcrespo82.markdown-table-formatter) - * *Right click > Format document* makes tables pretty - * [Save and run](https://marketplace.visualstudio.com/items?itemName=wk-j.save-and-run) - * An HTML version of the lecture is created on save - * See [settings.json](./.vscode/settings.json) - * Add filenames to `notMatch` if a HTML on save is not needed \ No newline at end of file diff --git a/imgs/.gitkeep b/imgs/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/imgs/1 Introduction to C# and NET_1.png b/imgs/1 Introduction to C# and NET_1.png new file mode 100644 index 0000000000000000000000000000000000000000..cf4803312d5f552716b97cf9f510ce791df2d82d GIT binary patch literal 20515 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�Er$)E#%7tdck7!2Ba@2Ay;Y}xn5 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 literal 0 HcmV?d00001 diff --git a/imgs/1 Introduction to C# and NET_4.png b/imgs/1 Introduction to C# and NET_4.png new file mode 100644 index 0000000000000000000000000000000000000000..61356d400974d75cb363d1f0d32f6ca710b21bfb GIT binary patch literal 39318 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 X^_$)!6jDA1{3HKF`EjAN>FfUkzR;52 literal 0 HcmV?d00001 diff --git a/imgs/1 Introduction to C# and NET_5.png b/imgs/1 Introduction to C# and NET_5.png new file mode 100644 index 0000000000000000000000000000000000000000..cd1842b5e9e09a0d3e88559ce9b11bbb6d62b888 GIT binary patch literal 4388 zcmaJ_c{o(<-=87$lch*8S&}WXOJf;Slo;DnD2#p0G7UoZk)BG~vhTDJG9C|<#L z*~*i3WHg4PnUU-a@3dX-@BQb!uKS$(x<2Qe`+J|yxxSyz_j?koER1=%A>1Gkh}Yzb z(N)$=XC1uxdM-&ySV6|5&o-LG-}FP_+tgodcB;KNehMp`Ha}<{&pj18%-?V{ ztr^!(oG8?Y9Q5_l^!6I;53aeASE%hhug3^3+UUPh8C_^$d`Czq-h69KVqdn^NhL-v zbttyRG^)3zGuTC9_!x&0Efr3sg2-<1odF;`9URI{Cy@#im6h+SaE>rt1Ssp>dL3Zk)1on?1v{#iMZp}Pz@ZTp`Cf6VR#ONsV9Fh z2&E^Ao$G(QLBpz$*^~)us$8J4t_xkYG^~FR=`jaxr!DGR)wbSr(W*EpeWU19PcQnr z-jCaUUcTe6bd+7X%uz{xggZIW{#a_ei=D#;$mjVcQk_??O=6M&Au+tcH`Rt1pduk@p%wA zLdz!v2VPic+Xk^9;5Q^Z(E9F+xI2*?N@c3FCFy@#uC%0HI@y7oJ1?nC7A7U%p4q?H zmSlig?P%SYljp>w##J^S(K5i<#08_`!DgM6`oTF1O-Qa|s5~)e{7beHwq;eWf_Po5 zQmj9kBR`-+oj9fjbmd=reamE0U9fpETAMR_#s(R|78w1(tOva`yUlr{BJQO{AQu8p zozHln4FbgZ>RlJ@={c`jN*NIE6EXJ~j3fQ>$pT0`B3t0HX zhtQ`U@rfI?`@x&Q=%&iuh}Nj~FIv-!J(dzNS7Nq4U)Y-HV5;Z4E|=+u*%cK&d7C1d zS}YNvHKNv#n@D>t5#0mEk>__|)ZB9UEoP_W7NbvX%XJOdMSZzP(hW7@GqZH?#(*Xz zByzIbVSCR}`(%Kkp)tyg7Ct)oq}LrMdiofNCsZ`-q693|YWocF1@5->xrK$fd||>+ zik>W2Y3XGbo|0(feiSfcke$+7|F<#q`UCzxN*!8Pd9Y<+zuW2zYQGJ8djE!wg5}_V zDTw-XaS_}SmhxqpGc?9^zhyV%=3jetL5P^(xm1|Crc7|5#b)N*s)4qM;g0YqH_4#z zM(T(f)_3@rm)BgS;GvcF50s#V&$Ea7T&8!@ncoG_dyGs<5Uod2J4ZDL)T&cd-Tf>< zn-z9!!OJtk_w2j7noCTIai{wB;3wB`D&DZRjZAC%jQFI_Hlk^0^@1luZd~H z^pqCn7v?_2J(&C2_XyVd4T}Jl6;<4pB-=baUUm@~P z+cX^qPH>?pF>R%`5h4P^~sF*|F;F);Yiqi z4J?eQ8-AfxfA>a{xa@Vw8gf&T;2AfY2gGyxUV#XyRlRxg!2s{NjK=*(z~%n z==bWyNuKh>N!II%#qT`vm+qU^kRTm&)!*-c4{mG9M2s|mkwRqTv^d5&KICijExYtP zV^_6X#oP7@VRfGBlMXA1_8JeI+cUloF+2@MYPK7C0385)UTVrY#&|F`+VGq+{Slk4 zdI;A10X;-JyB2sycFlj@&@Q|o*pOT1Y#3?Z9^Y_(;dqMyP}I!m$?ZN+>YOf)Q)Fav z(m#EAwz+yWu2-NNwsU)CQ~jQ8yx&p-M*}92YeOkqwtg>Z($Y}Gu+seSb0VhNds@Ze zSrP~$hs5fEJp~?}s3xY5!)wDgk`ZRIQ7z8zN4XRKdPwgSdVJ2AkD~1!JSCt#fv*dj$5)RGJ!h=f-r89 zbv}V2xFD4Dm&a(wT&gcTzrZXy1q*E{y3LmpW4pDOCy#ezn0jo)SF%dkj%t>zJy8bfpd4g?-H>}6ZCP$0J*|%STE3cg4Y}fd2{6T(B?~PPiH|9FrBpwKSpo%pW2)BR~mN z47;_|G|d4leVg_W!`=%Q=zW#;)=7crWj0-K)hZbRowhuNk9V)7XCr4&8{??x*$^+b z(@T)Cw&F*NWWS;qV|+CifZ3Wgc>lnpvTxWrS7+9d`fAkzn|bH#i@4?x2W&Cd60N(Y zW6N`Th||S4@+pCLGTA&2OMe((o|1ocA(J1W36@C|XP3wrhz~X~XY;? zANk)VO;~Zy{lzt(sY{)6y1i88O5|n_7wQ@rC^8B4n~?$54~Qs1C!n{?+DyZu7 z$}T|0C%h0->n)e7iF+*V^Zj=^nFweWcjR+KN0>vZ&9AjfQon1mD-#BGm$LQcB1Q(q zeyE(@>-(Uea<|oAUYhBFu+&3den|xXmLz0^7j}QQA}Xj|uGMLIJHCbHx-wo}Rg~rX ze#?#YC~;@q8#E=I+ShgrUv+>KMy+$Qq{pr(cq(KPj9AVuba!WBDkH-)ze1h~Rwi4V zr9e4A&eiNc11pY!aoi{zrkCktc{@j?6&Yk<10>T-gq+A;F zzn*$BH7ZNaI*2hVNyY7i|`m587VQ~ z8tFXXlg=5s8;I7`*9WyaL|Mm7uHatLqHZVILcnxnLhlYmP6c0|W6wb_X9HvMfn>{d z*|qYOy3=)&lN~@_AjM#@Io7-ZOQV^z$X>91Qx8JQ5O_gUMquTY&C*pn2vAvB`Dp~s zQ7X?q5OTIM@2?-3x>utqqc(&*)DPysEX6_(0UUggb^k0qIT1^I{Vv5{D97Y(pBkE~ z!(|<#1H~-aw|ri=aY68dXzW|k+9fM>pIa<(M9N81&ryJ59?dqkzFYr_hISyAn5!EG zo7MI60hxNl0NYb)Y8kpk=tDrpKjOBAteG`-4+)qOg5ZP(!ihhh(18~plI?Kwr+@u$ z9T+vQtm+%#x2H_mvZJP{wva!bqh{GSf77q!w}nv}K7bHmjhUQ(9H;*pCVUcd>yM=c zXoAKZkuT%^Sl;&xzoP#WnmpfB-51)fq6>9)4>B=V7RE_aoF?e-_I4?#%3r2l4@6M` zHEg6bJTE8t{eajagOmm@pBOo(6%&wha;oj>T=xN>K@>z1=x}Vm4G-O(3VNA9zCSj4 z9Iq7gsTRippdI?RkDwkWxD!moP)poMo{Q}guakD{6U4GeOziZt+S>MLO|uf8Vm!UN zcc2hR0+gN$5m%v#W0$A6w;zu(A|$@RI^E@bbpeU<<*>w7q%*!s3J840&nP9}yRA6m zMLN@NsFcOpqRMVPET=(QM7AII?Y8-x$2eyOgjfWguy2mjTYn!4d&fg5k*iiJpZZ4( z_4WYt%IcA8rRjl3->V*}_AjHG%1v_54l{0?04Kdw6HmIqMs|oc=?B~dazyB2ybdvT=1A= z1)Dxcwzv(2px|6#xCJ09a=v^%E`X7S9cH|3u9D$D@klF6L134;2Kqc$gvmtXor|@%+@QFaP6QEF*ioBBi4-__)XZ9y>ap6S^6WMCunz-#rQTU+e7? zhMl>f%vq|$K8Xf1Og#mA{Fk(fXA=Tj-FSekd>3ioR)NfK!^9sB;1HR^&gvISTqUOU z0}{FZtHbtt?h1Id_WgHbJ8q1#JV5~iXjTo*VsH&LJn18hv8z^Rv95;s)n!7~-_b@0 zcR>H!WMa=j?)!~a^89WxL6`^e_oHv`VAaG~%nOfov1)#PuBxQ_vw3R@Kej}P$YI~- aTJP4Fe=d>wi1qgaWOB*E2y@Zp?*9NiO^H?j literal 0 HcmV?d00001 diff --git a/imgs/1 Introduction to C# and NET_6.png b/imgs/1 Introduction to C# and NET_6.png new file mode 100644 index 0000000000000000000000000000000000000000..5ea1f818eee2359200d19d25f01c8b205fa6846c GIT binary patch literal 1408 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 T>|ppqTLQHQT1uZ3EQ0?F&-+t= literal 0 HcmV?d00001 diff --git a/imgs/12 Files and Streams_1.png b/imgs/12 Files and Streams_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e83f356751ba0cb5d4235a3df9c10b325d8f1334 GIT binary patch literal 11752 zcmeHtXIN8P*R2IBMF9b6g3?5KN4g>)U8HxVcce;$Bmx4`rGs=(YG|R?2-1=O5vido zgpNojAqh9@60{-++)r;)>td@iH;iORi>+F&YYoCfBfj_ znKS2YNykB#FOt5OOr56AoMAts{^)^0z}c;A=QNg{lS= zVrQ4iw(z1`ZMyce+RMVv@}6CPNJC@x?#-ynmOyFi*p!sgYg392pF3in4v*~Yj2`(J z8JC`{`QQu$sil4Zf5c*p1SL4|56+ys{`w3V`XD`=|93}&vDw)zSc?l!@?P|$Gva=vG!lXwCqZvl4n=Nul#x9wO!23{}ZFt>vnE^ zMCIKGSR4O@$8758)|E-kf4fr@^64>r@&E?rxRfRYM|x5&HN)CDQ0*tda;+Fc!16&O zX01~a-9|dzt#4eaX>34B5`qKcRp|#)7To{pSpD(eKJSu>MZ2`ua}j6 z^_)69UA-H0yrPI%7@OXm!2{6#n=vdVZFkiK=ab$0bdYgknow74S)14Kn>MdaNE^UG zMRGecY4DP6|8n8VQaqR zu)7LC*KIf9UHW)-7jg=BzwE^$Lt*$~vnfsUe}SkdMCqyM;p{cV{uCits(hLUVt&Xf z@w2f9qQ*5BF_SXw{qw6fy471*!J>nEn!c)Ec0~}*>}a%V7Ixk4Sts-wcTHtvH|tmiP|*p;6F(f zgsVj}U_SfsLAM5=Z9XpQb8=o*R@sVtLPOaJD^$6uJlC?56@MslXCAVoSi8;gDF&V> z16<~_OGyV{gG29ePoG=HA1ixHGf05ldz55;T~r1h3|gY z0L=T%_7{f!0+tC|D?;!dF}NtJsuw(TQ%#^XcpLgV6w;;t@@d4g zBguFO(%-sL)t^w_XutiH4h`^7Q7~y@-_Ev5ZPXP+Z1kbvd}=7fp4w3V^5*1|CWN7L1_lDurzW4oi7@ifWQ}t=x%tzD z)Y?IK(YXox|hI(cZ6AE^;%r z`kNnCS|nL&rqxcI5R#Dp?m5W zk6&+>_r|SjqlrZ1nsIN;71x$0^Ecs>n~-L%I^Ishi?!%IA5PnPQ1>68<)nS9(>suP zLkNtmZwq?G6=+Z3neae%XiC`~A^gzIL56ceb9u*&r1V=SrQi2RF2La=0O0)tBIh0O zz~Nd}s`Yk8T3{oP|JtS;Cxc=uN1#96ug(tARIig1vT4e_Czm+qy&|9a0VQLI%01x1 zPwIOyTVS)^tLunU5A&2oiB1JX2KDbebpTx`t4s>CFZ1shw?hA1myF`G^^+B-F=hPB z@2FQQ+Pz$sm#pC3{R(xS9^=|z-uN+m>1M)#jJ86z6NH_X=P9IVSsQ)mpAw@odDBjx(^7#s339(r z{Qh3hjD+mc?=|@u9a%w=$li$!n{_kSb{6c;bZQlRj`TuKzT0DSYx#El{R6)zwt3s= zSxNir)uk}h$m&uHDJ(FQ0sO&-sLE3=7e~**>eMg9m%=h9B?9rCUo+x!A-ml zH1`;719L2}>W`ehResnc<4{b6|D@kXXWZc}nOiWa%G4}j^Gr4^OMu06H>kK6=hpp9 zSE#VlN>WqH9RO*&v}p7O-9I~hC#lAv*AGl)_U-!r^!+nr+^Xy{jIu}QG^ii8%+0dp zo~)n+(nEI!^v&fk&~|w%(le|1ZdFzXyHJ)z;>y5Qq#6od7=c14U(!W-Dk|{8rhK$O z#LfrJ;FafqoqopV9n8G_cHG3BM3HTyhEG1)-!1?;7OE2Orqu-cRa8L0mCgy1!5K2e=U zDO$3%u1tphmtT;G%ZDqEcx?Bi6p(Wtnh0GI=z4Eue}3zv#=-4KRz)76v__tsL>|Ta zyz#8kx36u>a$nobNIRX9=Q-Mv<5vtk&BHHMSbCo}5O&wUB|*LS4*MH|6MPOHad-~P&b`wr@kcvqW(;rxhag(vSyQu{0dNzLAEb%KXhevF`9-va zi-F>;UA^+y`UanGl`Qj8AJ3UJ$x|Oh)sp{~#=-UfLA>{tKH$f3Vmez8@dYN_&Af%% zQwY-U%9FN)S&ZIo>yY31$p~2b!V6ekq}^==_F<$*w_>ifUPBJm zGAu1;3#qnhizxM3=D7wRhP4EaefTTXIZjIgulkr1uZ#(vXx&{@q{Z}`4#writa*kU zT*B&JHZg{;H$HhKnf7WlJ_2Z9a93JdQnK0$bKJp8*Dq=DzY8{(?Q;F$N!3gu&k6%3 zlzhT|1wn~+Nvx^GEe7y{M(-{S@1dt@*<^gpKra`P@uxr@OhXb42YexRoVd*IMC3V6C)v?wo>bK&#`oCWB60ApOxTAq3EFmW&kXg;dvwg4RzTK#Z#$b12~ALaTTA!Yel?SM~y&bfjh8GALd_(4j!O5F*61(zCRK zml@twf4jH$dZyA-hL*DNrA4Y2x6l1vAuXv%z6%0LCBHF9`<6o6yVd~N!|egf ztLV*&$at`~*)93x)26-8mvj)JC%XMb1fHc}(x>qx4hi1MK;z&t^B!P&9`jj&^l z4jgVnWWK26Z4@6T4sW<1v1;~Jrvu7hV`q%$QhxvW^t5cAeFw5;YqovL>;;6si) z>llI^bhI%#_L-=sCeqeGF#kpJusHTnlBrLJ(`ZWJ8JZx7;qjZ_!~f>W zBQDz&#S@J=>kjUCHhCW1f!ws>cmaE3c+PuS9$nH1YCs4fwtS2S01$Y`z9HnYZ8REo z|ET!0<5KXf57c!hG3fO3HT3D1MqZtpRD;TYPGW8{1ee%tW^TjMP%wf{J<2xs8xI)w-l&Sf55<(*S z+*<7S7|GX;kE%M}aYXndE4QkUheuXSYp1glw-Tg?c;vf)xZj%r$tRNuGF6@4A3^^5 z4X_hOz+u8^8sWtriSX*}7OQtJ`@^a$&)Ty5UWD1t1YZwMNUC`!{BK*Yl~~Ru)=29l z{|;qRSikU+hIPE|Q2dUP>;M1i|K~9Y=GExE_%$~pAy87F+gYd7klJL@H-2EIR(;B; zFWEGO#vqPccoju)U|c7B)&Jp{T;CAt+kb;Bm{OZPJ;pvdCWA4<8NZEGqPH87w-mfS z;Uy}$y22m9smM)}0t5@sHN~jc*&t$!k(bx>`z0T4+*Vl!x@t2Jl`|^mJIV+s#uFwP z+brGn4wmmhI=`}_I`}eKl1LvhOxqhZ5HmW#VJRfq+x`iOnb>*(VMWCWdW5o6aFdTa z+?Mu`x235_7fn4(LT5c}xI=1QujZr7k6$i@dBuOQUiEO8h{a!2wVxNW z7Dt1_gdElzq;ZpmSz9ea*(00((Gf_PcRElreTW<6*-F7bEixbz^z;VH5Yj?=Kz|H*nf=Xt0B$ zYl#{acT@kG9euqFA!WayYE+K_c0lFlectv1wOmcHD;mI>!lI>l4OeuL=SKNT1)?E3 zrpO8g3M;eX_Ek}m(7=zr$?s8xBhn>(s0>Aos>`Tu#7ePVdvTdxTsbmT^h;VvcQQ55 z{|l(2T76<%G*YYnIJw3!+@69dQ~uV0=z$3mVFK)%M-9ZUyI#Hbtu{s_K~8T6rgZth z5T@Jef9U`fdpB2pHrX<=_M};$&=M5lXEnSGTA~}sU7^5sA1U|G8@11D;t#h)b?|$j z#m)bsLhy=jW(-|4jpaZZxnH1H0Xf4-I_SK0V5UvS>fSsqO~_&Ef=x}HH@*1zwQ2Vo zTT>C<@x2W-S5MQfgbI2PdK%l=Ewn}HJ)?7-#xm$z%(Rs4wP;MS)4~Y97jZqwjC9*K zpza-_^xJHTfSsfI*r-}o<-#uhbyK(rI-)}QCcH0W;8X285N!WwEV-uV3AnI^LH&9rtVFnd&Wo`u#?d?%YG9Wfq;fW3xBP@7~Mv>c*A9uoBH$ z6^739dx5r;o}Mwhi>o&C;ZD|9`mdJ8L#DsD*pFYDezj|}sj;UkteR{roZ4fDnr*}P z==SbwChz)BaGOs7HxJPlxho{=kZiYKX*i4-mO1ct5If@Qioi2yPiWOz(^br``B$)? zdfuKLBeIssghEz&O6t@k+j$C{D@TudDso>Hq+x{W4#1NiKDpy%IK4SY;7B?A0 zM&>3G)s5)R0g+p|e&(Wt@a|y5U0c~voeISzmmYYP*4uf6`%dl#`Pj>#Jgf?ZdC>qEicZNuK&A+YQ98 zq+bBiaTLCGElm=s@aP*!Y>r#jBoi8^338iGaX(RgV;2@zGIx#?J>1{kXu9#_9kH$KKhD+Ilu=`0U8VJ| zbY(GJ^np{trQ&z)(u{lbm^gsn>2Zhe(FTUqt9%xoKAuz~8utSZCa;Q_zQI-wySSXH z0o3{WRGO2|SIbsLJk{j;cgYPPyee(yh(>aP$B^>0sa4To-q5A`!aq}#PnJrgOw*#J zIE{5CRRQuMHxUOIwB^-!&y2sJ;7^J+8)|w`WV1fumY2m@1*BpfI}fHSB)S`=KKpnaHXZPx0)hT5c^g6-aoH?^6NF z5&#vXBnVn9=Wp5|lCP-dXPQ2mpwG>Lh1#q3$cDLz>2HD-j_(dBDky_tX4#MXw?KG0hI_>z&xWj%)QYPCZ-F>_@qUPE;eU-em zs2>Kr=zLM;!8xko+gJbQhSg^;zl(7{!()4gtSIc0YU{n!`36gv3cw5>eCrq6)k-}B zpR~h{$dE~rodxQ+6&-fHKXB?GSg=P8_nBu_8t3x zDcstG-W?w80jG})1Ct}JR%Ga>nng0IbulRa_6q`1cKF7P4{jUB;+vTVHwc;;FZb|J z_E0nkAf+Lxc!-;|1U_DX<7ueB)W}8j7WG07N8UE@m~nnbq(dXELbXgqi*VCE31|le zZw}9>6%K;8hzyw}Qgv!WfsyZ=ms5e>MF`a$!-%r8H)Ys+bn&s#`8R-xdY8Bn8D6Ah zkt>Ib=7mBl@83qR?ik%Hhjq7ny-A&$`jN?6-p4P%&G-`JBDyZ1yY^~{*4;$_2kt#Dd>WaajNVM&Uj)8c?oeF=n$^C#q9M#Wf9F`ui(k?%M8 z?`H}&DyYk=ZfShJ*%P#suf4O^Pxy$lk>|R_O|6`y+l%<1kyP`XeDY0ae~_({2eK5X zOzotcon5ADs+*)Cv;eg%RI|R=qrbK81m3w>#t4LrD)Y=a z5<{qFc;y#Vqdw63v+Hzm12*jG@l9H&xy{z`HEg+ybSA&s={S9W>*~Bl#W!=xBx@tR zOZczx%TB{mQMQ${@@o<^Q>&@bOiokM8uAxpmRQ*a%b@ zMDITCcS|MRxOi~FYIxY68CSu>4~JRJCeMz=8ixt!Y!=rkn4v8kX+sSa`Q|H23B%-6 z(?j>-qK|zMI^T|MpF_8P_FXTZyeGN%z4leU@mQZ`C6#WW2Bx@a=SBDK+)V?0g@3EalepsX_R)T-Z;z`$lUq*BYzp z-%O<~R2cy<@UDx|=CecViGcEL*HE>4Y+Dfujretk`CLv!B;2ACa-7NMirc%9Vp@j0 zfo*i()t}CK^Ax*8PIqFsiBZO_Ig|DX6#lgr;LfyQm8cdA6($KNVcyZ*-wvG?CYIo@ zdNUfz7#$by2aHScXWMnoUNfwUD{p!K z^suQ94`oWsZ|OO9jn}QWkx}g%Dvn&t=k`?b7Wc*P?~l|V*+vjHGCKCV6%tv^8b&kC z!;)aC6zfVo8*K9X9`_r#OMV8^ET>$%#*71MUc~C&2Z3d7<#KZ2Q!erTm6>)BinyR} z7Ur9=Mdr#C-$D~YDEux47C1RQ+l-jrXAWF6Rd~iDeLMyfW0TNY)aUt^F;u&H%amHIXP3yuV7G^$?A$eFJW0L67+WjwrjY)D#le;<6B{9fBd8u8PoSt3rIJ?ayLyzo zeco^U9V*p7d{j%JeW4wV8dKEETCa!}J4L>EbiRr&4{d?|R2Yb>W9_f!x8PE(o!+v_Dh`nFCk;A`|ZJx+zOYe5!-h##fIIk^vwk)mvLWGVVz zP|CbKbdR&+!+V}QT}%jTRqw5<@tQFzf+A7Rvul8PKY5~_ZZdh46c%$ajzk=Y0Yj2L zin=o`Y=sqXvsFwd$E;zw(LFm7tJQ@OuRVRZN^g0Fwc`d`8Q;AkY&Ncl-`bTyxcVxf zQ*NJxv52*Ay61S9jY9%G!Wyb@#~8vMNVH(3Z`GQ0w4F3TlHc4iV{RzjH3lLZCxr43 zdD+180@m>n{L@3Z6Xe}ZadbnaT~@ISjbW+sn5E0Eyo&3*tje!g=ZpIBG#F}GYH}5D z@;k#DWjz7Z*9L^jUz-`lvc^B{ojw#PcWaq>EMRRkAQ@u&-tvQA7Lx<`GlR*;pfUL{ zUDNv>$_I`LE-N3iie4x%F%@p5#`-o)+YOXFIdh9`{&}{ZY-TpQftw4hil571!{{(P zx-?FlLZm+~gX{sr(}wf)BkAQFbDLIam=iTZezYOD#%g}Mf1sXLf7kieg1hy~fcGtj z=`5tp9nCLSt=>aYjC;FwSnNLl;`%$>2NErcY4O=ICWD+BkXR4C3@@@Vov2`nHs{pv0FOE_h@zvwbtH|0qJ7ht{kc8ty zub2gE>+Z?J!M%{4P{Q(xMDMsx>%x;5$G&vysZNz_R{Gq+fnuhSF_zg%4Htm1*$b`O z=(CSXldW!vC9b|?P2h^0GG++Ub$3Bd33@|F&imL}Vb=hk6em^gw zGhAk{`RqoMv6U>;Pt%0!0(I)v!Cm&4C zx_FW_#Zr6x1zHp2D{|xRyf|_6CWDoL^}9v*Jxuqir^;h}S)&9U$!LGb^&gMixH-`i zrP?PumQ_`Rb_eSv6j;_~_!$8C4%T$UL(VE!7Thu3A)4iU$_k;@sxTgIpurn5*s$$v)uS@p>*vk# z>_aVecjp26g3VcTn~;6N1gd;!IB3AU7>CY0&GPIU+%B_g)N#seuKWnrPIR!uxdAh6 zGAzn~DFYHm+a^4)^-QDF!La8FM(3Dii6+Fcm->@XZBb9Zz5!>M&iCdP*(+zK=Zc&f zZL#S1NyBXh;!i&+gf{DZB9PUs9GQOB$#UJ~Zl!p(CzEph>LU8p=l7q=B(fyZ zS_*30^LLZ5WK7Po$#SY6cZ^TcEF8gtC%E>+T)aX0lv+hXNG8mS%@+YSY@@3*}bI^DH0B9XUc8-Do?#RX13=c0* z`0{3IVqqe}Vpew^7J1RU$2~_6UTrAVR7$HBdaA`*U*V>^k$zmaj&3oHsC6(5N2;8J zqKa=5qlr(}^_V^=JO%tHHV0iL$S%XH%z~OMMi~Uz&esQn7mr7}VLSxTLIhe2CQ+Aw zos7Ta=c_OKO-j+FVhQyIj*7#U>o?f9l{BX3V0;B#KUH1dn{8%R2Aibv?p*;Q zWnBItezoe`!wrZ5c03ER)tal2E4RhZ;`N@D7xx8nQ`|_s(uUuSx3I%$&sfv%G+EFg$U>(XI*7*Kr7O@}PbdoM>!pJy-cEyqV0`_XZ; zSYyQ=;&4O=Y#%a@@nVHU*`w(0`#mJjdN$i1s-9&1{Wx`V<8pQd(Ioc%;X|G;Y)Pa* zs+GK59~ZS+>$(jI3>00C!43%BzV?AN`ls=GC0Lyz5w}uK_`>q8?=2hZ;C@RY&6Eaz zm6qAK;tvK&oP)NjoVacB+WGv(b390td(;Z8%@=QeK#ayxhQwgd==ZZn2491cjmJbJ zgjwYk`NnQ&rLE_3ewMvX>L@cfK@f&iz=G$a4tjTP$g@nTw6?a)%f{oKe>wau8bzuTv>lO@-Hb#l7h76O1bDl5%!PD|F`Z`6iL#~!~y3m ze<@TX2T4()R3-^epPQJJ|G00kGf6^|)Sgpf_(Ruv_W3$HG|?J zxD^SB2I;Mww66CvMD~$Ax#GjXy&1E{*)i3wG&O(>oygV4N-{cMQe)RvLpXf z(AN`%D9qS@KKAp${>_&HMp*w_5ES2Jq_BLdQE$e~f18dOyAJ!Gf+k4C6XbDE7m|)! zCH+eg2~S2%{g<(yr2k)O)Ky9%a5J}0Abvng^F?mQZ?;`gNCaQekvIh8xU5Ho@qDzT zRiZm$BWY#zMdbfg2?chrz7ex2dH+v$%rbY>B1-d;Ea@O$^y_dnu8|ryr6O&B!Tbr_ zce6B*K1`Q2+_z=Q-qO)+QKd6kvaROw^jP#p)eZTY&-Oe%WnxAW<`?{Xtko;;9{IdZGO@JHTd(vAH!^ZYdH~RgGZECWl|I-{d5Vr}VMA5) zC@DHR>6Y9a3w1Z=z$2g(x;)H}ih3Y`aQq9y>;9#cLf=~|)Zzl0?ar%p&N!3S@O^v4 z5@$|;R^Q24w6Lcw2FaPJgeksE;&{!)gS{E<{bipJpj)#)ML;M&oQgr=zy0?zOv)1Z zI(}-5q~{#1XHb17F?W<+GP~~>?N?V&<)zo8%I%PG@q_6?(>6O6+Ax6oGQ+Z`D@l8N%>wT=I4=% zAjj^3#qgt!05c}m%2ES~8fxGjlx{50)}1Wq4%KFyYrQK&(Hkb1yKn`mY4y5UGZDMJ zCAi@YH+c}r=Dbn->zy&s`Gpe5@pLlLc=Vbgv2j2gRy^s-v;k!i2o%%H*(wt%RYcKQ zx*WxP^y85d7}5nzAS+!+{lW0_R(;DdZFpkR@TFVt>GQX8F`O;d*{n_&cW-qE=!abh ziZSTC&|9dg+NUs(CawPpd=v$U?BExz@AUYrvU9(i#f`EGdyKOFKs;G`cH+2ZNe=vQ z32BumK0pbW&#MLll%X4M+qQV)bz zFBi&j<>JlGpmTHoJ*$L`pOd$sCMp;4oTR{x!#5i5ae*N;u?LVCT(q@C-+6|1dS4pN zi(fvv-b=md%2yX^+u2B&Q&)e>_i(?3 zITn}Zq6$M?t9g=!F*R>VLst9t%e{`mc)?BqAwdvF`Vmm|y10I)U4gF-`)&DRnh#8l zCNq;uV<8lB1`sMqgBN)X@aY+w3B(v-tqo=PG=07e4!j?>n_1)SJ|(+!dI3UaG0n+8 zaN@cANw<7^0O_9JBh?^Db5QLvTD(5m`on2jU9}!FxQNA;;G3kT$=ljVy!FEEcZPkpe=F@^UXkS%n}=zn&@&e`k0}Q|_%1*-LVugc|MjbH z5MBn%S9q+ZSu11IT!|xy@G{nzvoCY&^}1wQUj*+6YmDs6xGk;6{D3zJA=o^>haQiF z;Bbl2*dXh~=0H8TlslEtyZhzSAUQQ|CPj88Pe~V%t7v!nHg3w)}u*AY;qfrwC!($&KPIqC=Q-2oC?A7p#gKvz9d*blTuB(4aqIZh9r@!5A4eY;n(2wJA z`K3~W#v2i%!wx2fYJ zZCI1A2Tyyy{~qe+M8-63mGCH%CFHW0()y6$^6^q4)i&iwrNk_M#aingbKva4A%zs} zNVpukY!nBC=onS=+ubZ&5QF}V#y$-PA=igMCpc#%*$TN@`Bl&bNP*+qoQx{*nkI|A z@DY=Nezl4BwSu6455;lo3zoVN;~oQAOykz*0;jzNdpM+PGvf6?O?6%^`(c&k-9BAh zfUiDTNb{j`aVU-D-VC|T8yLZM&TnJhKnJ>n(NS-dst?!!9dT<|(ZUZu#o>3SJmtf` zTO}B#c-Wf>w1S*wQ%_8tg&Mbs83%}6K)zG>;-(S-G5ZT&8`vw4lB|E)BY0*ZdTKSi zQ32K*wWg}q^yyp+!_X96oS8{~*6J(z_%Lr`){x>BvA_4iV6T)<^=}Bhh&AuQwL;1AeTbbh^>KIn zK9&2i@9poa^4}3>%d)IvkAYBnX?c#R+_8<~mzfLdwPp9lP!!}!ylBGPd8B42Td%_? zz;bAA`JWA&BC;-SQ|nC4xFY?`+znMqt8_Jq=(I$Z54F{8c*R3UDr0o4ftWoq{N#hc z9!VLD6mWkMnH}5NU_|gmxDInw#2J}j_Y`iwS_ALP`$dZV8!er}qivtVc<7SnF-n>ZWKM-TZXeGi*5%bO6bO}U4fWX)E=^$4;Mq5bZ9 zhN;Q;MEe&RXj?v3p?RrP@+`H;YG=Qn7iuK>Z)7vb!H%oPV= zP_YD&%ec8|%8vy?J%bcUokwPi^LtubB#)xdYZsQ@BCaq8ON4mMM)Ks#Sq!~yl_^>E zZ0F(2C^a$uwX*shLa7l!#5bcVb_KM(QGl+{Z4@ z67o2|CL2+)Y1KT!Q82A1Ia9bL8ExurdVya3Q({p6^(o%k+fa*u7s%<6C4N)*@JK;Yt)lVA37aIe;Tt|lV5gKVFu7beW!G`po6 zc|r=I!OIo;@vw8TLVj~eum{rUzvFh|sMO(8c>B!JsM_LHi%I0~T&}ux9N2aM`;^G@ z$r`{k0s^a8%_^1))n z-={H(aL1uT)5qeoM~82d`$(o9J!8h;mQ{X+0G**A{^0gD!?Q$a!dHxQ(+3yx;%R&M zINFP*IoIuIdwxUMI7TFs;4=mJ4-PPcS^e{KMxj)voN1SLqst-!P2h6kB)I6gbmOBT zK*Y@hLqFB)xW7aamZRgiLjsI4r~4+vc1e-ww3-XPX_*sycy~x3bgfwu4EY;0O^~C= z4X~w<$WFzOtYRVw&f%&0EJl4-a@4HsGOWMv)KQam9JCl|7iup2;&u z0Tmu60=}u`7xyM?>l2RUIqyr;9FgJVdgHb3=Q#SCqL02O2#g{XI|=1mL{jn1eLd>^ z?z=N<*cya2r^YT_sf7EZvx|T1zF0d;Jw>U_XR|N?o7|4k$5Amms@W*Q?q!a(AqdHrsDwuWIirPSBCs8c!MthBuqC?S8Q*n*(XO?5C_gFW*IeU|7B z(X^NhH3KtIU+-b^CSUHL^# zc7T-8QlbaHF|HhXY<q?Z*XXB4S=P|OPmLM2pJ-l7KY*13tWnjvS(zTdz{eu(l;#uyY7U1+q+0)wh zXT~#k)|N<{VyV@Gho*?PnF9N{f-YJkQP*bCu4^id1VnIBDZ5#X3D3Ad1z1KMhAbB( zx#4Y8cLqy`t3m4M$7VH@`nJ8=>=kqWE%`TmKkG--jRRk&ws1g&I(7!sj5}*12xaix zJmH4D$0Yq<`1sf@QIoN85}>g;KMGA^SLV1hA5_QS1P!k0TeBxexg#TlmkTIVd*L}t z)~}{3$5|i}b?l4w642IkkK`3?d{EMWonSIYeEwbgdmMN7*l%YEe*^Pn`RDZ^(-s)o zG?Qz$dOO2&!9rBN@0`28#NNq9E7bSo&JG*J81Q54VQsiJX|jJo0=FECTz#YADS@{!;&eTw z>bu9K?zK~L+xAfMnYEu?AE37NQb?1m0ZSImv{`1Pi^2Ry&7q@v0GcniZ3aWhUGrho znK>&>xhHdt!=B5!AGe203(1dDgzTnh-HgH3MgIF{(kuH}Zd$pXJ>kqO>blPP8t&=D zcEBoZoxd|n=jpMYo#$L(7JM3l`D{SM_9xXYgVpq;ozE;G6tZzFA1|ZJpInh;)!xbV`%}Z~#(9mkk z@+D>Z5DngIXmJHM1kHlK))|N0zg z9z|Yxyr53$rH1s~bNy}&^dq&AG;l=_M4I$&`V-iSwQF#cVTROU@f9Q)X2sM>HgvC# zyl<-~+tr=_@3u{FaXj}(mnQ$F*%e--AIR99p{m(X&I#{>Y4lZActCcyLt*NzwzSxL z!lD#iv%M%!kT3)lJDoC!@!y4YD(zjhoYNK1f8`!k$FoBnTYZn( zV*wrukusBoTkVN8$K;%-I#y^HYqS>v_8#Z}7IaKvWC-0Kn}VxqRG3G$d3XdvY3If= zVL8k>{o%;tncTm7J>X~T{zQ6l0#oTO%Kh91zCDS=oXW;^?1VVW)a9b(aW^)GH@OSx zCtMt9D!tmSZ(6(lAS-LJcO}rmtHGrlt0CAbtAIoxJCuF~a5-&V&9yI$i z_NZ|E#bi&J;UB-b0?~lxdZ8z z08CJ9Q0Rt+uLb@=kH)ruHeBP|&x9mjhkadh>gsO_rq{}| zksJf$g#?^b1|?6KTt(u(4iBNh7q}~OVZX%E#=N{zMo$CHd7NgO>AhlBw#uIObtrp zDH+{Xr;oB+-FS<0Ty&{jBsMLz@>vGl2P4AhbaEki5gY6E(Wqmyh@CX&lMB{rqlbYS zbe9Uu6<)r@gQv)yyji$591>`B6+|MKDcL;`OW1~GK*|();`kf8jE4MZty$$~r_oZO z(D0>IU|Ykdh3la2P)(?qCqY5#m$0;@wx65N{^qbdGf~ceMKGWINV5}&{%)gKtTvz% z;GiesdR2!*5t^pqcY1Yi@)L?Oo8m%h2BI`1`feCLcSN{@|!48_%lqUNU{vUGwTn;lq-5`g$* z$sBY}EU-)Fs3JYVOes1d2JY*FarB;XOZ?$M_mOE=-W65COmr)^sX$?fCs2v2g1n_V z_|k_)1DjmdX;zHOfFDl~nvA(0}15+@<)}HV1C>g(NS8;t2HlOLjE2 zxc4K~>3gP-{t^LNC_!4Sy_#)tQhtnEtFWN37a3ChcGuN&N>?`V&-|ITZ zAe6FTsowjCl0TI+ZqBPq`1^ytY4F1B5SA?UqSck9{;mTmIm~Cupa>@HGIghqt10ZG zblN$wv;xAlFdxl^E&?^`ctC=o0T@+w2vzqxcL|ouI9fS240S!~F+s3*i7sYvtlJdR zd^4IN?;1zn&$QyMp49om5gMFag?F|I)!h4%Zj0ZQ%)ZQ?@^Z_=ic~yZg!XLaYQbqU z?S4Yg8>B^5)nI=hfdyPu+6p6Pjq#c#F5Apd%kO5pwM#r6e{WhtQtJl4tT zjXLx4Ym4*=C!zZ7;PQcfMx1TEGvT|JnjX^^hb~kgn-C@VH&2-A4vi!ZqQwN`#-^CY zo8pgz`a+G;^1Bz7>sg8^f6^VgbEFUc6jkO^L|G1m(%SgB*mza(GXC)lv}59|6YyPI z{H|TPlstyqmi%EF)Q5-`;{K5spOC;1J3@A&ZD{F1bEgaQ;CZyTf#DQ^Rr9-d{d zZ1PSPh@oHnd+d*Qpg)tt5dUGIH&zJglmh;o_rS3eYN>k#_qw^*hc6YWqFsq&>XS^` z@a}K)MtA1$<8o!$$4A_Efae4|bux6G!W*7{+Wn8yP?Yj^ z&|5Ebz==k64u=!pXR~8G{G2a;`?AJ@-W+#NKcF_7ddbD>_Np`CDtDU{(V^Y0`yD_d z8qQU4-7{mQuIT7fPJVlKM7;$vf6Q|u?^Ch6bor=*%eVUW+XLQOgA1-#KmR8;&yEHXu`c4b* z9!h{w_jC30R4P?vH4n6m3a~`6w`nfJ33x5G7mAKwiY!!zu~fTPfeg}ri$${`DU2m+ z2BMuUui0X>(EBVE#84?^YwkrzdfU-Pz5m^b2&|DqjgQkcJYopiu{%O1py`l#&2&cioUQx*DP-JNC4xX#hmB&E((pXRH1LT2?$D>CA#IAv1%(@ z%YiXQXpMQ@1`w0Q(k5Np8Ju=IRo#;CKC3 zX`6axe1<`pxPXUc?dF8RAV-NHx=>o6>P>WcgI}i7#+9UymWf{|6yXQJ zGa4Y5Ni~*fMqk0EWjOClTj4#R*%RinSiN8@ANGLXDMw4Vrs_J+akK2Qug@3pj*abF zd$3B%82wbd4Vr)^NXE};8lRnBO|N|RspON|YBG3t&hXc{BuLfZd7J*|C1v@1j%&ru zlc{KWr(wf$*Uj%Od^Mo#okn&4;y(V(Ch853tJ=JKS$=(jjwdQRUt*~FW@t+Pgf~^6 z9Zr+$GeU@DWaAN59dXdQ$EsX7=lu_6#=~R^a^aLPFdrIM(^@BvHkME_di$dX)0_G8eemguytr({w zA|f0^yVBDb45;5w>zQ@!nMaAHRl`aF3!yphwkAD;l26f~B&%C~^hB=O z2@bbtV+tR`ltpSRT>~{#7dD;&=9q@BV(}uz*tFJXh4K-TD`Ex%-pvOGc#PPZx%VI} zF0YW`nB)?OfBe3Up4VLcMg}V*1m2&S7n{3nX&hv~+0-|CL^h^QYAR3hC7)*gegWa*AueJU-hPTRLexC6L? z{=x`WO&E{uk;%8j>UU66PCoDqQuPjQi796;`$6NSaA@R8Hp4|uEpK3f*l}B$z66sT z*B)pBJV+A?tW!)puMZ#NC9_^rwr)3Ix>_!)Tg2h-ku!japW>3)D7o2jhF~(Ae^OE(VAIZ#n1 zUXGn50(*b{cE(msOSL{n+7B%qSh#X{R170FvWb4bFr-j%`mtk0)#3Pxc}qSy0{FDN z)rvUOP24}&q1qh1fR(zED08C?@|M#FXEUe-mg51qs9THxD94$A?#RVlc;UhoR0cp zai(|b9hR{~v|ScbUO(6dAw%$wHeTOj&J6$@Qv7NVdC1U&s1@uSxN40ta{d zFMKz{Xt~P8L{3qX2hYba7={j~{epPXRuJp3m9&W+PKfAfTMznQ@Aw^`e!>pVqqksa z*FEvm9hB;;;7T8WoB1i9-$T1PFZWcf_kMBa$Ed7X@15~$b?rC=Zk5m))vS z5rzM<5r2PuLb;Is1f7srJ()y)eY`=u{o$!1@&PTvt=pki&!8{ObJc-$ldu!<7}Kai3B=MMFcwmHG5R6%FlC2pSqX z0Tw3emxpHAf@o-TXfhup)jiPnTkowkrIGgs;xA^D?reb({rESU*l=v(2T7RKd~)^g z0uLC%!Vz|B%#?fyTBN_hT55rfCwevmBpd|K8d`|l!-J-I$uuhxV;Qnvk?|2S5qk6c zox+`ANr;e{-x=JM&SslK8G9M=EPx7@nOfxvkIcQHRL|cg`e$idL#cBTSNJ4f9~q)+ zq5Z>0b^&WuhsOLp;{LVQ%{_rAk~SyUG{^H6pYkg@CmLou8W|dfAsWvA`Gq+N{m0r< zQNVWdJ6JS=gC6Jp^q!CnNsHA%(An|FfBpTusiCi=B+(toqmzcw+6hf$Ela;^{EU6CLo8K`D@ijgvpj_DfRjQQ{P`1c?8;?aK~(pW+< zjL4wUWh1iECLdb^{)slabAtWUTwr$|TEqq9mNACDOC z|BGkS92oB&Z{CX-U7g%t1@rPVU_RUHgWp9L9F2>~e4vVY`e z{R4+34&Kta7$QfALeSqIbbf7?UJU#*wf^%)Xr0GS2kLwje7h9?u#2zg9ccHV#9aho zj>mL=(uu!W#oLJ%v_esAG4#-g0qY;1Xol9w8Duo{!2i$tL+4aB!I2=VsD8Rdj_zaZ z_D>I-WXB)~d4XfX_fI!{^`|gF>vV|L5HRz%awoxZjctDXN98fZq{Den)@wuX&jk1W zMR2J@7GXQ1S?E8g3raF*Mr56wW`X~36B=0&7i!rVtzZ+9A~$n?<;x=PKO5rzU?JxJ zVwwcXWSvK54QvEK#1R*-x`O7~S>sAuotOiHMo00(Tydk0jiiu-HCdJ(|{>zucnaK^`Yt7-fm%Sa&5`j3^q2EO{(H(?f7U z_a$BcMF_HCLmVGLk5UYY{_)w%_?e@W=P84kSnWSTbMb8KQegTfK9odPz4C7rWgFTLX}5t*X;3Qs=p>w%&0pGbOcZm1Bnl1h7HIZ?1!w{b37_{Qg8 z#5i`vekbky^QYriotYuHXjolOpA&>scaD#>+1NgYG1)$Ldk;nbujcW;Y^5Z_{}j7R z4!;OdzF7Ce@oNQgo#b;x7Rlo=+)<4}e~=oIsG3+x*w+n~8N*~IiQ>{DBQm_9xwhwu z$CM5aF#n|w|9f!sckPq74qgdIKdNf_PIc>cUs>loVK;xi5!g+e;`*h9G zh2T51nVP8Qsp;%~<4TKoF*>^b-tqa2+-~9=AY8FqyCHMUAh){9iT1^+%xvb`75v~WIbPs;DUJc)pq@Zy0UIOZbgt;#7mKg2sWN2LAR)+vt(6( zYoGbUe@80K>pZL?3-IB~`#eohL$RZ{tq7+?;F9l1F{f`}4D~VK^y!J~pr`8wH|^*a zb}fgm15=~@E>iSnAHUq+q4i{qk|%#w&3Ci6{CC|(H!gD#)Q$D-omwo4p_wczE6$8| zSFrG-K-g2G#zgqtHDU8g)$J~D?{HO4l?MC*dmXj3_>i2d>#3g1$ zju{6*zwNi%7GE~5J~qjQbHs2*F*fPYP~!v_$V^uOU2@~zCIO~t3Y|NwwCFE9DdBoQ zo;dG?GCmR-e{-}bBmuZ?USN2S)oYySwBBaAWTL%Lnhe?I*8ZRgz|(24xk@dd3P4PW zJ9&;MixGU+F!JDUy)JL_@FTp!AR(S(39^$a9sO1-ed!gp^uG6F28PU|_G8UAcOxz=IN; z{gt_G`jZL);8ZQa=l3d24jYZ~_TsKEzSGW)pT6OIGCwqkji$^?U}t9mBRQQ__Y0}O zk+CUA^msqVP4Pyc=KKpy`P%lh}j_cGvfLg4W`E*;VkHohQEoUMdT!ADf9 zG!7Vl@?PJ$mCcN<1abXZ()nzt-*{>1sv6D0#w8Yq>HK&znbVp9I65DG)6{U4dg0!Ti*H zSi*%@G@p4_1VPn{Ox2}!!}M0W5A)x7kY$)EZ9Bvom665F5_4-2wEx?9^|#|@&hW3n z?m9bFu8(G1#m|ES7A(7^6AWIZJ)=8|2<0l z*Q`Gw?XNgA2vJ4`3AB_2Hy<^!)D>~wuG3I^Tl3pmw0xMM&nXtx)8Jui;A}Bc<370R zdZXukl~F(=S{NP84rC&YIWNl%5852OtZZLzhyPr@uDZABCu!g5CvT7eBd zjBsOOP?70bK$= z2W?+Xqv`psqV0zhC~5pqzg`@7Zua`T5Bv#=xjhz1bSV0p)3F)%Np4lM0|8~1bMnGC zjx&LW{Zzhi9gQGULc!aGQv@ZC5!RX&xk>Pfsh-bf*TyV6QF1q!cBS^}C_41x&I0W< zLe=)Qq|1TGk>!x(Q2}mJAadF{@WWh!TZOz^J9`!OpWKG*VEa5)*Wd?kB8)nzuo#qA zzlEqhx3Y}GRJwYwnly1EJNF6|3z)F8k-k!RifRp-Rbh!%%_U^ke&WuTLe$pwKa%t4 zS~dcecGj}|I3yVE3^vtPc)!% zl3(5JX-~S|m1R)uT>?h!Z1cgl7-?@c+tLCyCl6Gtymi77Vu-=SSdz?f;0I^+)9A=d z<7XHbsr^j;T%4GH@(WX_^efn?GT_J{+4#tAo=!8&&nXzQ7u!W+zYyUNQxOBpb_R;Q z_jVi5DAf_qF>z$EVUdpt=*7kq|8x3IX1)sVkd$P z?=y1W-b7g;5ywb?`rDLx!!MS9Knk)ylNaF_Y3XesCY+h&VY#;+9rr-vn5W`Gct6yR zN=G3taJmH5OPwX!I@tfjIut;W$cO_dYEQ2xlpxcGL^HAwHR8+v*>1~tQ8hO}J1m4V z>SNn}96n=Ge&e^lvr#bJ654`{lnQC;xY4e`WXF zll3RHW`7opVRp-ZM0AQL)6o$2KCbtl-JUuVMRKn6kZIBKW}ow^gkiG zZ%EG5T;I@smhz91$$m!ul@rH^tXA^Ri=wVflA$QEF6(4*bbH|0Sw{XR+d-+>8;<{k zXaO_*0pYU;-d#(7UO(~I-|C%$``{lqW0>7b_LWoDgjhekmgpCe+3$Z}mHi!WB|QHl zqPfmgmr_Y*DdB%cSc^XVCn(vmY(}O;7N_-}oa}$G>HkZjV^Wh(hg;g0s`&pX8Hv~b z5%30B-G6u*q|N;g4nSG|KOx#-s3pOD^AS9x_0L|4IqpC45-rcn8NV?OrTwXJK_T}3 zr~eVrCjbAqM*kARkfU|+JY9BaQT{<|Iy7xJmkbJ8xZ=Y6G;HLFmtU^Mxvyz&s zK=`#xW$(?SS$WIQsSZ^>19%WS4eLdt@;u9o^vmT>D@7t=c@#H`sy&(u_L}uz*V>VZ zt!X)&Hul{wkNisaJ2@$J!&-Xo@iX7Tk}FO`essWX6H4t1)Ee{?7Ml_W91~bF=X6Mm zip8YUq0%gT1iwiH5(>Fl0HPY5&NcOYlrHkt}h)X>ru#S_y&-@{){A)^FdJz8@;Z0;xZRfGZ}7@RDk-YfhhZO&zICcgE)X6y(BO5vim+ zZs62iCuotaMLEOk+AV*?ZH_?|O=@hp3F*&R6(- zUK(3%tmOc3?sSObBbed;0)YpFG)nAPsg&J}W~UqDT`&{1RQ%eiTZ79L0ee4Rm6c7`vM}nAua|FH zD~epXmo1eB!BgbP?DAiBJsOBTyXW6t0F8{cHKYaF5(Y`Mpg_V%0o~!4l2eez4yqD` zn#b`epKf_lUq8PHo9Zl`0|N*+zp!yfw%LtY_}{#rG?agD~A8iXn-GW@)X3hm1D^)@x`W5MlDTaIZjeUeY{OunNO!f_3he? zEL1iep%)y2X|^MHZ6z)8U0 z#{d2GSyMAO%-!m>ryH@0S$~kxB_BcX3Hp3fB7lHjZO~mjSz1fme}qY9(ac9IXvOI& z?rq&c)CGhdZWBA5J)?|*F-fX_(8w4eW-1~aU|lje3KA}KvpyC>xmvz zsT$MM$V-wbE-7_G<=-|Y<@CNK>=o?at93%84Hy=u_|{y%#p>$W|13Hqw{YZCR+A)F z_lc$v9~Ea6#VJSTnv3FzqX2X`mF*r_DFbug?#xZGsRlqJQwL#dnV)5{^d4o-$p#x4 z75;_R646FYdxTdAUQ+4XQ?itk<-Dbkh=|K-$ZO z2#>9|3d}QiTc>EFv)==JiGx;77ct+Ot4{N^#FmvlMrm?4WyckB5}FeGU>0fW#nC ze$bfV&&C3(nB4U~_i^mW`-&?CMqKtQOKZA;mIL4Nju9xF!D^2>pR&T2G&#KBo>x}% zK%q{%E#jvqfbjxn&USVG&8$B;h7FrN_9J_PjpWvu%!aY0!xc^gIqU?$ZqH!XuK?bv z@!bu_Ix*p4rBUk0Plb!-^HX&?ccpa=XVw&H6MG{p5Y1_G9;dd**`;)ts3htA1?#WN z^-r|*T#Wj9Q4@Ku?QLd+XCMVJm--j@ssp^EgGa7o;|Vi!GZPMx zB9+_etskkkUIQw2-b4pSE%GKU9EFy`NPei4Q(jGZR!lipT#l&M#wRtU430r_rl6JU z4HSSnP#SWnc1dj}b?5iBA`SLjqUc|<03$$;*x}5>0%~DTxu=dri_(*)2A38QKw&Nd z8^DQ~U)*ML)`SNV=V0Ai-|`2)IC=gF?RDzdNbwHk`5fb>b93=Q`U7HJ9ESe%Uu)ye zX;)BUD{K3Fw#q8p4}#4*vkoq>jWEuZzv1x~+l4tVR5!>&Tp zOR|vfERC&oiUzUuxD5@<@pI8<1|gM3;)12?rdbnAog&}kh}Mb*1spGg%#rq#NVhu zzd(aPN$=MJd`@|*?K$sl$=5|`3h`7JH($7==^2bhzvwZ*7B7LTbZ~cplj@OmTMo3X zWCfH-qBo1P+CXvBhA@<4_WE!S`&4L0c`2@cOuj6}#7K7aO=vh4CB=`11_xf6)q8PH zW$jB7?tMG*TcMNP)e3f$yx_~R>~YvIhck{TleaR^3ATH)!*bX;}eBio^@vhY+XO$={w0WBF)Wt1XUWHRlH`h38|ZF8 zkPPe54tm+=&)aciT)`M&FRQEM*JiT;S?)=(92kL2t+LF)g5VQtT{}lpjjFSYKs!T@ zz^%lXCq5N6)n;PPAw%!Zjkv4;aQl>Bl!OE5v`icFEuvJ%4+Nanr~ghC7ua zzsVh`G>%}_F|e4t{tkr8Z3BamFN~XvD5|5KrIwz-Uk)W?6*iuf#_`v-C50a@P!(jk znNoeeXXdTH9P3Fh8196FuP7tS1uJj+kvs%|xl6{V6~WA3<`EtO)--hpO-I&p(XEr` znb*hHZAu~?b{IE#|GrU-BpuMy>hDJ2bU6b6e&t;o-{ zDGh>_Z{UxP6h3NTa2;@ax6VxX=!**zTS#x(mu$eM7;$2s7nuWM_#jXzJ@cOMgU1iJ z>Q2u7(!>s%2CiSa=Mx002ZInn$-)*FvGZUv3_~3$ML+kBpM_mS?#^`$6ZZ|D7{wL3 zzc%WJW+qqup1zQOc#SLZd;>bM9KJ}+DAmmPPNfFPspn%Tw1!Gh4!?4|i-@U#LJFnu zTKEbr&MOpS&!#VujjW1cAH9XWTYXNroqn>9&aOVsJU#VIiLtsEmtac@e#(8xM!}%`WeyU`S|r_(c!n>sqD%~k9fvSZ}gBN$Z{5@m5}u*Ii~f? z>n`=a5kc>O2T;4C{2%R@*a@V3LePy?x6DE6Y`i1b>dzCy;KjU8axP&|eC76U{NK3e z{qtXffV$a!ab_b%Fv2#+S!?rv1GPYU!_$Ld`SU!R*fYz${v_#ZJy1Qm2V605I^pMpv_Z*BdDsf`I!rL?ZEW%+T3$V52A3$3@rbE3^|b|Gw+ zuZN*;$Lcw#uH!~HFZHH_Rv?SHCic)H*cBXwY~~~}Dw46QD$0@Dip?P^vcCPE2imavm1MIq)^aPC?dESq+OEQ5U zquSv(j~GS8dn%-N-viXYlX?YQ3)rgh*$_2QQB|x%q z(Pm=~#m0`gPp_v_7^I>o7VcZaMmkgYqD=R>w0?ajcy%iv&?xQjrB`bZn`f4tRP{}D z!Is>vcwWUJek*)um9>-b%n)o|LE3lGeWDP)Cv)XZ$l@g?tcvWKbbjl3U1+ZlzZPFt zB53vdWsjeua1Q$dNv0Dk6SpZY9FKZ3eIO8ey*eV_rd3_d-?Y&HQd?XJc+CYLhj}qE z7?S*~K-gA_iW1oBM|peby7|Y*zEHFeeQj8bvw`E2y5miAwf12Q-u>m#Ei_P`%bRUu}2jKWzmsL*c|R$F#aH}{#D!1RhV}vv&M7kS7K7ZA);^4Cc(DK5ymUuz%Kfe8@8qqfxv0qH#n}%&{AejxPjRT9t_0Box^~ zFbQo~zE%xVs!O{G9w{9q4!HRO2de;-l3^TazD>EUulnU~uDTE7oAj=coD6MhJPCBb zp^3K~n=aR6`oA3M;9n0u;e2t>Wtu5fB&#TeePjc2Wo!lx*1^)rBeKlw_AD46R&ctQ ztcSNzb_=}bH48CaN>HaOD*Rp6Qtb~t2*fKs<(Z4oaPF|^pJ|pyO~n#l&m=u1`P;r5 z8z73@Y;S(DD?Ka|=CLU=_T9w)?u`2duPXDH*s|L-E`|{&fzq8fF8T2zm$4JR2rn*x z$D;t>m*J;wIOG>iw^1QpJ}Vz+uTK2T&DOq1&wLOyhRgPMi9A+(*P;p8s+s0jR;!$s zBz%;4Tftz(({q)b8(m>$TwPer|6IAXg|#{}XtwP1Rbc%MW(g5}BY1v~eB+|RE4^suek*@%m?&cjHPfQ$ zDbV$EPRDAxci{Y%*(R@$1KY-9RFv{E0U?l_PMp+*Ixva!-+m63{x|qH=v8z0W)ELGjXUkD_hb!rH|`$cx<Es z@4|2@7g}pqz*wZwmH&{HVYe14p09(br*{7>N10@Dx9Q3~XO+ zHWrg5Yy1{+y9?CuuZTKV2 z;2zzZ-i+Tk#}Ga1#CNRa&B25&&Q65Vq3#J{SxD|@8i=wm@?{B_bcB3MX~WX#Sb~Sa zT;~KD)%z~y8>72UaW_molQV-mNCj53Ao($nR7ZLZNJlzEgmI2QmZ+Y54>oR<$u?pY!1Q8$}4pL-AwE`DifgC&R8 z4Q>tfb)M)Aas2`io=-XLXG{ud?8ZL&{%iM3+sIpsO{dr8&TclFjD>64${6};b$#*| zUpD2g-BFdaR683pjyP35zjlJCuM(knqSu-T^N!uDSIFr+^Jl`zlGR%JPOAr%O*hlP z;qH96gu31JVG}5p$5V$P?S{WHhVQfjYs1z=^-7;XHFyQLgzoo-uWI(oXeZ+HY4m0a zd3k{#qx=j?@zgwWMQJ}pT=&7Z;BoVbk2KLRFTcQ4*K3aV7U#aWm(;jp9mIv^))?CJ z!i8I{(aX$A@=$Q1wqG9x8t=CijYQXJr@avlS18VHW75{6U7$41mkVS&=#9oD?xvr@ zg}qNDlOM~2wi@2}8y|h&l1Jq%#SkxV;NVCxVnK_re2%V8xH5aX+u*37B{4uuU_J11 zJ|wEc@tYWSf!9Ju+x&F$6Jg??74zc=;bpB6+WVM;>^b3ICR%>TRxP%5=O5GV@;E&h zj`c_Vs-SAm2+L4i$)? z<6LBSbY$&u!*}%b)QKrpfSwyQsvCD@1bL- zLw$_1dha@H$EUikIu~*x&=6w~@dVOSk=_;$tgKU$o4a*uc#t%prI^mKKHIJP>iJcC z&l92D=ouGUQr(8xJPU(?(qHjdUHj(aSFiRw<|+-+(KIG8jh%++bzdJ!&qA7l*!Hfb z)>V+{6HajA54Y2G*B{ldN+2}Y-BbCEyIz z!&*2(QI2v2*+rdBYF^1TE?YAhW<$@ z7Q`qfNH?>*f?$J6d0fgqw#LIG|Da&AUboJe%!RdSYPh{n)5*20I+%T@mq++`MB}XI zvPImcg>M6DyPoIpW(*J7kSP_VG7dk|c!U9NN~6IR-gWoNJdx0#ta4~8&w27#m-aLG zkS^`MZ6;k%b)r`6J(FD3cfekDp0kr%_M_dJipCgcs}*^3X}^d93`fO=aLpqtv1@y9 zY!ZwUcazuCdq_(ugLcroIB2E#NDTMGbPj565n~sxdqmR;v8i7*z-z1~MYeRF-yFbK zmwU5sLUfAg_cyFRZZit?Kx_*gnE2nso+fVcc$#=4&$*+O7Eldin(UW-VmZ_hyC;B` z_VWrqL|u$#6DzH^F6DHX-(A+ACKCrd*F#4c{He{66k*3JB(zB|N9`1CX#&-#sb8*& zBjcEF>)jPcbh!qvFU8j8!K{c*)@WVY3$PDiWi;O-gzs*A!pqioMUG)l=egxze1Srf zSzY#nMWt5x4yIS_pO)s_z#V`E-jmzMT}VnP#xB4;KphAcDH?IqJ^xvOoJI%-wodUB9FbU9d}@&e2Fx#6YQib`0$j*h zcHHPz>2z%?Q+L(sb=Hqk+UNYD$y(76ro;~ zUgAy7C;DO$diWD&K#GbXssb+4{5J;p;0$BBNi`PZm%DII>IclmCRQESe-E+?rp^rZ4! z!q9Y_OdI&65wSN(>z)uRoxFi<(QN|=EJn6v{bNl{m==>o=&bYFJy9ud5b|W;SF}o4 zX!ZTi$7n`=i7`E6Vdb7{Ax92gZV2eZrJ{0McyvJ@wLBLkS*3teTXfA0e3^%uId**%2Iq}N4prFmx;j6XGG!JT-edzv%)V>atJE#AkOtmkSrwK{9{2MryZ8x8S zwo=8dr_PHY?+eVFl3U+56r~SL6S!1hKT?{~-}$TR{Vt^y$U7^2~?VeOm*D`Ii}?G$`D-!t9qNd(pKai4z^T4l~{>lxYb-2uC+!e{Qx zZlv@Eip%OGES3p3(TP+to3@zP(N4^8@Jixqw=A$a%E+Qu4!P*J>8(F_G~gb5mo&Rq zx|50D>f8NuT|d#tdmUZ?7r(_hiwEj7gUQ*FeHgHlb*0A{HrERT8<&Zn{Sa3fXm{J- z(O^(#Pw>)Jxy$#6nZSD+i_HE^dwk6Tl>edRL?~RGUFUD8Y#C08gQ#LF1M~XrB{BxK zwjyYvCdNdOC8}d~-9H2s9`|Sywoa~=f8ttuPD58@k2@FW!2Z4jZo#5+tS2w*k^nj* z080j|ScA3=VtaX35$jwfcgW+pF@cCd&6ZYY?M9pF9`tdu+w^WK$J<>irI@|&we)Ax zM9JlO8?i>6my|VG&ms8;q6+E!#j4-NeHb}QiQW%3-^rcdVSeaWHn8-sNi z_YB30d2GfARXOOh1p%J{SzlFU&@Oj?+sH;_t-osD=cex$FNds{Zj=;Rh5-?$H?HM< zV(5iTxAC7MLH&0chDsHc?MV#6U|?-)r-ZNm| zUCdl^?OpUylRUh|0m@e%dW#|LaB zU3*18?W!@}eCkpS$im@xP^_nyfUl|Xyt3u$Yky5muzCIzfG)b17F`8BzzA29c(C`X z*~uZ;{gajhU8+EWym$&LNgaLkY#M)C--<^rb*nvK=F$pz3oGJ2Tu3cKM-!I0pyOk2 zK$6q!t{kGK!kp7~ouAX>Exwngc9Y+g44Q6M#&f_Hk_IZMc#4cMx}aZ6?g!Sv#~+ba5iXXG&|TA z8*6bq0vaC%ymR~ z%5|bn-h26RDSYeV>3^9)ak9)wCOsWdrSAZ7XU5SdiN4C0vM{orRz)d#*UhWu*G;d> z#Rr`i+`jRJx8yKg{^ZeAe(dYtEHtWFneo{4)PIoT#<*Urvu)5-R29=NB+{gDPaNzvU=e*3TR)JQHyOl$Gi&tb1NfAOZQ3x&02(X|=j;VL$mo#rB9e?3LY(r#JssSkXgBz3;E&vG@%8ypI< z4Y|uO(T$TLOB%_@qABDaklbGqOP|-zp3|N;=>6LSSlMG%V2%4FlhyNf|J?>Ig?u7l z(q@-3pJ@k2ur!fQ*Q+*k18>f3SO9T;LE3Cm_x+Z^3+eF7d+N#hf+m4|yE?Yt`Vq9z zS1#cEiO~7eUbrGDzH`&WW``$;mD>Ox5%z4WGR*e+cczy3@^0xIviQcZUm|>sC^OY# zcy=?c`8gspQVK`b$IjrF(OQXDTdA#43T5{=H^o}lqMNS*{}qBB)MlcFVVAoqDDk~A z>83R6{O+Di6O)S!O*@O)(=^neUcRyLh4|ogYChqaC|)0>0B~)J>E7EJtXxkkEPkgE zZ{aoa2F7HTbPf|7{N=XcLy0#Ci3J^C@d$7Zg{G&TMSvyhwzj(cWVhC<^hU?bpM|{F z86J*NOLl*1iQyX62rt9|9?g9{So=kJM&X*_C*&i#KlFB5E$XgQqvL1)bLB4U6PA#v zR<8?;i3qH&3=YTb1=P%)XXK;RyGdW^c~xR9h+f^Hw1{J|hFxp+LgD_&-h7P_vX63- z9x!8f+gUy1D8E#Jj5{lhSa}N@IMeIojGXlnMxe%C9hyPo%dtZVdSsgTciekQO34#U zr~N||wrSe(!zDg=h31wRsi=~|d|ip7l*KT0{GrBOmP2GnRn)@Lst+qP9+*BJ>O}eJ zqQ9~u+~>sE*85crKFLf@M~WuW*llA^RC5E=MOwcN}&XJ85+#Q@r%^vY90 z(-I|XUxzH+gHblTD(Wu2UzR;kL5hj(OHX)gxJu;WkpW;$-SX&0>`r2d%sVVluiL7o zvEv2gbQgsY##wXrU%zqFLk^R}I72ZDwRbHw1}d>A+|o_M@KO5yi4Nzn&Z_z#3Ji?! zVL0y@@9hU`DZ_4;#eQ>DX!&ze)s+`2z2U$=tPmEfpn8^?neUXuy*t>A-fZl%H9I|0 z`hJO`(-bfP8qi`UWvm;py&bAf?kao;S3)I>{9Z%e!30~j_XJUUf{M(~1|64H!8K0j zFZ1`s1=(yhO!LYebvR8RDSrIlKWbGff`<82OyW{pZkr9g3nN2o|5EuO#{Z%6DWYHY zlhjBkKcpn;u;nkB%+j#r$0~j2B0XK5*1UyP{kFZH2sTUw47POXbm|zw#ZoRmDL<3$36PI!MygvK`bMYg$B~+a-&= zkNViYY7p)?$#Q1poRQP=mqvGX5voqbvjAE2xLVFLDl+fi%nrJD>1@8Re-dmo3{sFs zp<%d)iqW7ZSnXaFpVWCh%_#%e9}5p;UGQ>k1>I3|n%+}waJrJ}86%m8BH;cP;^EJR z@3VhRPN!_Bz#lG+3dueKM_aqr)+p5+91B`&2k_wP_goH@jTNN!@RWItY@XZLe#K{$ znOG7OeF^juq_#~zsz+sHukS04l&0P~HT|ASygBm`Haq>{=t}4u9oU%EG3cV+Qf$H& zFEE-jr}JX*Y-(om6`00hF4|UYzxgI(sz`h|^d^H$*g^E_VjUX`DOo&LUeIlSXD#T2 z7$HR=>12z5&o_QQ@4o2Le-Jm#i9a*DTX!m`;;*&v#heKi#JaTUyC%Z;)KnkzyDj5m z8k|grKgR9Np<@DQum~(U<>#|l=g(H4a)f;k?knm!ysRvBWQOckMre`%OXfo_HC*w& zzN7t;#4!Xp!CCq_stI~}6xUIZ#({*Az!GY*v~XBWuc;kXEh=$NjEegn$^;o5@f$~` zFq3a_awm;^X-i?O+4q|-g%m#8<Lp!l`>^2*`mU@GeiqK}j{36fznOLMQ% z#DBLxtBi>hbg^pdMy364myTMtwYaJmJ)D~Tb+N0vH8tO5MB6m29y3kfgrCX8VAyOW zOD%oS87KXAQgYj<6@wsk_i5kPx`{(o07H%$>>X}V=QCV)6^X78d0qIYpQ~E}H)PhW zOpmXL8(u?ssLl$02XY_PwD{;90BXDUG8A6{x!f-HyF%|sO!=ha+R_f}yCY6K`w2kD z&Z{XC1LPyxHpunb7Vw+30G^D-l+wH-Yh^OOk0vlE-bPwJ_iDF`hR2k|Q))B-T^Etw zV(zVGzyy~^s*sbQ)9)O|&rP~St~hMlrP#?N+p8~t_F}cpIC!+%Ai)I+oh$$4=< z_(?9o-7Y}!B4(Vrem}!Lx6E(Rj36YrhcyfKqrr!_bZAlz$|3sWN3AbUQF+Gjv$F7W z0pM7o+S$aTJ^zT>mwHPPAT3P|#IdzZ47|OiS%|!?!p-bVdsk*Ke%P^*S-`HxfrXl! zUD+?=9-;`k8=HNwT0X%ekXv}LAiKKaD&*#sP_YD5B{2{mKvXvWy>-Rrd*!DGYj16s-p4F(z!k`4`%jtG`310`9`b+rMB+S!C^_{cON?xB)JOugHROdR|!xD^P=;8`;@q+(>uw zx0vuI`X8dU{HN&GUUibm^xo z(?Q$Z*34Fy5(H;vL|D~|Y=rJG{d)iToS@5{=`7`~?b4KtbWfYTp8OVeU?(T=CKkfHIQW@N(OTYPB4A01qx ztM*S5q zx5wbr&JN35y|r$u-?F=0)bl2&Bld<$2dmFqoxi0tXVJHWdMYyDoK0hbm0o;|8TY8# zkW2yVkkRDxQ$No0G~U_qhKq(kZj(OO-Gz1Cwwy!9wyjq4K}`33nhJTm_!iK=4im5W z`Uhvy6#Rmo6VF?+^i8k1976q=oPGjuXa(=fH_+mrW!3wTodFML4 z)qTYYfjkl920Ts0AW@N4(7!J_cOLR52)>;46^WD*jL`@ZCq;}L2}$0W`?{g9Au-`A zcLw1gN7+SdKTwaaugMW-rl5s(W{+EZDP3!SY$Lk<{LT7#Iq1+W#kFc}mnfG@p_z== z3o_0Zpe3irwQqob8~zNKDKsaAaKGMqHunh_KSt*94?1KDx7YKk?DdJ7B!%;jmbD7Q=F*SwTH=CLkw`{mv z*YvYw*3Cs?3{~e;abMEP95CFbw(3el(=D9sDC_me!DY>w#!q;sf33zV;vphi0~}YM zSjGGCH?+pn8`l?kr{5Er=x+J$+{8_u*aS(}!?ce{@xp}GJTCShogT2J^Fgb(<^2hRELVU)3+QqRw z3`5PV1+q?G(=Q>1v3V?XY(MAG7eXL(kLTV=2us}EM?C1j6(;qxrN3pn?{&5@4lbRM zeDZi+g5zi>FYCo1^CX@9$ab%?!JB}mS_akycbNuiexD7(39+^QviOuhyHtLFbfw=> zxuVg@+lFWgeAIZ-9u-w6-!o6ZQDlOtUBK|efJWFgPuqly==D1nUfwO8gJleFv*#f_ zcgCj2*A5OF*i(N^fXTm%OBB=&s2;3q8*wV7`4@tN3$U1Ir)O2gVwe)v;AI#D6ixWj# zj`tLeA&4siQka-=u)P)TtrNTg!mWV>uve=b>GlL*&$5{xjHjSW6Kr$t-E6oZ|U~71tj-auI>9B@0 znkHV0Bn@%3$2 zp4zKK*v?DzO=oL79sNcZH2u>hjYJB_ar`E3I>*DJwH`Y$rcJi=G_{ zhVVDw7bOanGsL~2S^g48a5DGpHiIG!{sTFKqA8_QvJkr5f*s$Ae4 zYd)LSSlG+7Q} z=4&aDO3XWY&?uS zMr67gM3uivg8`mbx)t%5+%~xYTrSj$cr+dv&^%Bv@S**P+S8RrV3!1qn!{70+416n zDp<*l**b=8(=##xMln?5Hhp{YK=v2@=~p*&OdFgi+>GqV1~zjy*5})k-m9D=R0sEw z2NL-gb|V*Why6LgjH?A9bG{=Ii0auG65|u1RiH-RC6HPdXiT_91?m zL^kUGjk5C&YpUDUy^4Z#5GhhclwPHG0Rg3oNbew>&^rV~svsyLy((QwsG)-piqb-F z0U{kjFCiq5aPxip?0wI9p1b#b&fiH^GUl3DbBsC1?|lvYNNpID{_vg&8B7zt3JYOs zo>uo;{yj=m29Zr>?PM{JjEHxzwuvW%`j6w}K^TBh-th9&vO2woLT%Hj-`@4ih!jz0 z^X8m|s3KlftFmfM!DeJ(`UlK6J{aNi_3v~v-FfdAlQfNQke7M2%T$2ez5B|e%padL?x7=;W*K&$qbhiNShPe~a>5t+o|770*9e#5b(?SVivsV!mIf zWMmnsmRq3n&zIgsXxRR_HpMB@vJ=93^^=<#z(3Yc<_3-959{W5sw|E}E(HELb6g>R z1Ciwfwqi4l&XqN?dldhoYTwWh*xCblqJB?naf}SExNt*V=6Mrye|*qer&XZ+$DMV_ z#bb6APsreVg?QwwWx1!7$`a3?oefU<(C9#X7b7QmFmS<#Q2@RmqU#hNo&4P9## zp>|R@8y6ezH}*C}CW&CC^Zj7R-LPOG9AkuPX62dG#w} zeo1)a;!c!(0Qrl&G3!f-!D-3KaALv1D2tNE!g*aiC}8|qIig%l%&GbxV!sml1uE%VPV>J18ElX;#b$cqdByLOR)O&wLLrGCRnfV z7^puRh*mXr#VRvcVn>hgO>v|YjOAN~@kxa}7vOnkfABN<5K4VmDk4j)F7?TLK+?_M z-Yo>v>&&zjg_Q)WZ_hRIpkIo&?gmeu6L~3JpDpRhOa{HvshWUsd-c=^GDuElThTeW z@VIPc${KBt7~!eM-290fhGgouet$VO>XG|Zb{UNFJMdOrtL27NptB$O z`}O|X7+G^kV{@K0wU|i~Ha{4hVP`hvx87T1uJAD8bJB39q_E^&HyCoMfP0^Ixj?hO zvwFOL_=JcSDoNc`i$$B#$M8u~@ffO`5cU4XT4w?v`~7qGKJ34W|DX(akmgl2m5}|> zbJTgw`zlQCD*R7&n2U5xz638{yd+*Wi8w*ZO_K?pnmKSEOCpLmDNUU=+>hKq_865% z!KQTv0Eav>NVO#IL(7ui_IDxfvS{2xSJS9$(nDE!=24s5Du7Hr?7 z8gyANYeW%J5p4l{)9U?3lkK$t`Ym1j`Ybg^X@zVUoq|nMqa%J9kB?B}wXV>Xdb>qv zBQ?+O)i{0Vg5R?9P4JzlzIr1Er;5=>8yU%iPEc}zzIRSi#sBarz3bk0$h`|0;M|kQ zY!%fI@Q8+~x=CL@G*PS>Y&THJE}N1wG%_2R0~rv9R|ssU@dCMqnuNyi09zxu{OOf) zd0rEE=PDBS*pQF4UCU=^sN7IVcK>nE@B*cGcC@hDVQKulJk0MdWPT5PB4fL3as0M5 z)Zp(B)-eKKtkgf|R3BWJTtqF+kWJMfl4a!6xq-FTD z`t>hku#+V_Sp{+g_nrB>uYDgeRg3|}AX-wC$fo&=UDYFCJ%^egmwKS#lT&?QkeQiH z;BWXW7yzw!!$nD75mJ@85FG3LcGN*@{#kLLw6w2s-g---4(*c1n=VPG7p8@DA-~V` zVAX)-U6z)8ZG3&IAxQ@aI__%o!MY-(=ALJFTuJ^-fn^@%kGHExttb5?Q)qa$(#_2R zoQ0~aM@9IJse$;riB?!eBDm&_#ECQuh!F@;Zv&^z?^b7X|}K`fsO;(C)q zhiLChZ%9UHZ&=%(2ZM}2p!D^x1{9XIV5-3OXXsOlhWuUKoTJuV6@-+cPKwC6$Y~W$ z7Jwx@7mK=|ym{88R$khXdDZa++X{mRnJAL!ttI~o!G$a;fc5M`*vN51R*l~`MK5F% z$RF!#gFbYBS{y)I(<9+v=Bq|LsMkx}dIiH6IeTo)ioFGZ+&Me0N?fiNrOhZFHq6P? z5Wz&r;R(S^6(RdKSVo`|4X#w3%GsW^H$d& zKn6onxJgOSwyPjFdcC`m8io#Dq+@|Pc|S*PNS|DO_sR-oj6WZh`4S{{D(?@j{Z;Xv zUqtvmE(pzM*C&3qGTBhCS=* zd!mOYx*F2blnBFn)wGZ+7`|0JQUzh!8NxcH?#8I7@V#3x9AEF#F7r_|!cf1-v+kbM zzt}PjQa!n0K?_&pe-#iy+Ohs&9MAbSwUvj+ZCcA7=Xi|bL0CwYki@}#Xp1sBmO?Ep zZ?YHOS)4|BA>HN-;S*Sn2#G`$qO_J;bOsj8c8tuh?ZG?wojPlZYT-i?33%B!0bTQS zY~N;p?wD%vbr!S8T9sGU$N7H9p^EhKJ!}Y`U)<@;oY$H*q$gQcm|c`i@YU@@C-7q{ z%T8N}1?Xsingi%t+Co0pbTshW{Aj=K4KY~3c?Y#nU57(r!y`W@bKMQmk0GiHdU~%- zzR84SE<-oAv7ylsN{xDTWg=YGlFCYY81 zecw$_ zBAdfyw*52HQ!HNlj_NI4;yP`Ev+x^`rw)pgc`17aCtZoH!L6amBUDw*D#E8sQk$@~ zsg?b2yt(b(*MD(D>6F&4ib|!UmIZ|qFE_#XM6q(G$ZBk^g>~G44@AawKe;P~kgX`l9gOiKhNPe&Ve-OOj=G-}*=^@^H}sBZYy2XT27`U>lx4ad zS!b9&)(?@r16h^s3}ngdqgbe9nCvr8Z!NUM*Kl3U;ZC z;EA%$v$hOtc>y>F?xA&kfO5_2PV*#2#r#LC41}Ezxz+u%wczc0^BudNg&uW={Q?o` z(PJ&&efd^Z^{xbb5xJc2nM%bb{eTF)kUHhX(vk{EGsU-!V`!JPJf zVLUGPC)9_LS(rEMi4&xS6Cncg{Hdozs%4JN5WPHQONhIkFELXVKB2?&9YHitY-2$3b6M2aCeYLN9r$)d ziit2?{z$`GLWr2%y6fh7amLmKYQN1kZctIaAcaV|c40VQ@XOyI+{C%*OxU$Xz=;Z~ zxmuTEvQLG)w^J<6z+2lF0hW`i!Wphbq z7#r#mvE^mIZ9;KtWC|)sGqSu_$O!^XUy`t^c^vE%Q+PZbV};Kxq*jmjh@qFE?WYjB1CW4oiRZz>EVw}n&38#Xzt|BKvLJwBq(b)UB zU$T<9$|^+sVnl}411zStkuBpmsjYd5Zx$SAhyB9ta!oW)gTT*1SH!^(NHTDIlRzyy zz+AUdB~C`GO7cO_-4j0P!DxTOHTm6UndaG4&Q3{~C(m_KRCL1> zt{MbT)3|jW#?`nlV?C@xNASeg+mve{v9&Wof{k&;sDgiF;(@f2JSL#yrmm(<>%rK@ zulUu6*F8H7-9X--chz})X+Hx9C|q_pdJE<{5Y_Nd*-P6KGw8Uq{q`bo4^-g z=qtXz{(0|)zr~BtRgW1=BMC&8YrD*PB~gJ<)ad2#2%;jhh1FkNFQs_d;V;z2os0Yj zfFp(6a_m(T)h1*4fVo%KS(Lk01(*!x_Q{wUR3idi)waEiaV~bfeou7pcKDgDecy>B ztnn_~4+;BD@Qx_mxr_dpub!o=x{b76G44dQ|xrb%gHf!LaZ|)R2JmGnurs|izj$XCWgP>eRB5NhKMhq|8T8^INeHDa zdl)Y3cd2o)H>1aUdxQ8eaV{CpJ49rCR0nrjZ4o4lEU0cYf<%CyiX>EK# zxtc4~lb@hwIzPf%>I9UFaKkb>yQ0IFRXs<{77E<-ih;n2eGj1Do;eO{-M6=9mcAWu zh>P8dL|C~NlQyx&R($b5jgOiq`R83aURcz`qZBOeiC~$4XV5=wp7!ojbeL~Gq4GKm zd2L}4VW?$_AE-ej+nGZM8`h3Jln{Oyi0Rr<-nu+1$&soG-v`J{$UeVz)kE)(D56QV zawNQ~8p8110o%I1Z__;r&9M{n#Ng<#7&%Wh(fb?QG7L zZB!Q4jod*+CQdb1%s=f9QB#o*Qv`Hs|JuvaBEn*h^?)BajY$_i^$`^@5UA#lh^P=W zhKjpV=h}r96qA>Mg}GKXkx@kRA*Ti^lju{b?=1%C-FSRDJmf1$Di~Tj`u6z+bZ{kN}Mo*W1e;Aeo5Y5ZEmiI zMg40KUzMTQUyi?;=0COdm((|fjy!G}>e*N`L9o5v{Sjv&fZl8>-VNsD4^uhkL3VV{ zJf8_pI%TI=k$f@WFP}*9ZOZ0#2T!2?W4OL=$vRwf8Z)pG4;~DC8mfj8WdY=@`xBU^%{@j|*fn3vPfBa(R-ClirTj|Cu zfb`GzZgn>n>64L8VP0Gv+#kgOJ}(5O&p>4tP**3nkX;-YDwPb|q z7!T5J`S1bz`C6u1#jiJ8!4#n+Q)`WA=J~5dJkv)^1S}S$EZP%Ukh@eX4A-79^m&WY zU1arzf33=Y!W+!iWnv9hoCFVcwS+pftsL%FDkNUk#caQ=`Qrc6a4*1(1LA0WV51~* zHOxzPog^4K&8uo;prxR!5^;giMT9`uaXMDtfi2AYOzj@jiRm1GFPB6LzDfJ{(p0Fu z((@-26~bX(Bx|3ov-O`Aal2B7?nb{F`tHVQbD==qsHrsf!U|p;iDFPtRxgs;uj)-f zHM>0?9QF4E*6D^XWiXJ0v7MQD718^V ztfW$IM3V}2$#p(6rz7tx=Dl8YLu7;-<{#^h7np3LeRx)V=>}i68vv z@E4FaVgPYLx3G#GB!;S;q%RS!3||Q+mh*j{mJ{&Fo+kS30?SUN;qD_~*5T8aihbEgraN38$i8SZ+B8KLHY0;*g zGV(P7gAg;J!H3WcKC+Kz@dlJH38h~m;#74C<>Z845mmj{<#BS3e3SySz1G>?vJajN zAQcmP3>KDF0vw9*g;YM+kC*noy&D|<6975cd7<7Qba3hB{Nz+OZHvcW6Tk1?azCz~ z>6X{b6TxdOf-d{x#?0lb6T(DU%1Zrco7rxE%Ca`S68gI%fBpaHaQnz-XLuF#@E_>y z(u%rp;yX)AXA?x}PM#RYwgORUDmQkob)p1;RD-FIYN?4=dn{)WGZ!zMPy4fVEloNP zk(^(}*|>=c{0JkzkvCsY&L^TuhjZKZFLApn8{`6ENlVwa(I0vlNqxs*Pq_{{&#;W? zP&dgdU~MO!m*K{zUbfy+_Arg`?yMIisw^`=`9y@icug_xx z=TbL$R#x?Dt}3wiqCLK!<4Miq^T;&Hok_%{?eY}=tMrVxK(57Vk$Up?21z(rua1bK zUHEsH)ejYj$!1E+I8pdb8b&Sz@WeyVDw$$2 z1V@6H?Ms=v^&VwP8&cHROkunp+8THtyb8aqwXmR}%oHa-wXk86U`ts5KhryVND1y} zRUW_v9N&nY9Gt+ZX2$zY2&O%fnB0f#N5ek-X1Ago8rZ0TMZgL#$PUNzO|BmFA5Q+2 ze)A@2m~iUwRp+54H{V66GM$E)peU}Penkt*n1C_&3$$0z)b6|dl^>HoKe?J&$DQ20 zX-fYa`*U1CD>HNsH-dh-x5f51!p8TmM`HC|M@gi`lpi?Vw3k=br}0B1M_6@5$MX}! z3-znfrp!)8#b(9i@QGdSW+Tjdv7V!;fPBIbvMw~B*%2g~n5nlw@3!$Lp;c&KRwZ9M z3WY)IMceot+K3;f!KDm^v+WzIDJ)HkBH$-3c05vD69)iQy;q!E({;|5B&WP@H%>>| zO$5cSPYyF$DU2er0cOj5mzGsPFMb0t+_)Wq!y8S_9X4}7Du8L@sjFi4`hWdfBdZTv z%tM##>2VfEnKO>u5}RUf$}UG1yf)2wrlhw1*8{qchr^OZ(|uC`YE z#y;mDJu}l&x0UJ9!U|jq&JCIZ?@Jm0pjw9dBuMBtj!yfy>a%T`(`rVQVbUi<{=U;h z;UE`^_7{(9xvSC)(Af|C6AzhZQ+BA#msceWu)a=0PxA8;>A2yv7}9UyVjZX70;(DE zD^mDbL@lmhfYa1@2lD6@OU9KLd+b+Fmq+ie1i^(~4|=_XBrS~y)^-u1_JuIE0EUP{ zo4OQHruR!CJ|=IMrz2M`{s^q4Q0}j6&E@ixR)j7LmQRtEI&Q*X@PQD3Q0Pd-{rBqk z0}pPTbz4yxJLPb1tUmQb>mXveRr6JP>j5T+*(K)$Ir+lh$)NJJrB`u@?Irza-(&7U zNEfjoEo?zUhUtO}F&McXXodLm>L$3u`%iXvZh*0kr*YQCyg8+kdR{R$!PnkI`zGHD z_^}%}b0H};WHIz|=NKvcj;~nT94b8Y$V&IM!*(tpaVR^!@O9dU$@mIKT%z>D6{SLS z2PAeVcwOc-rHGwiBlOQJ?XWO&R;0`y$0+9Q+1#)kD>hPa?PpLukDoJAm81~7o0I=M z4A01gw+3TxA|7OlFPmGNG2o`VsTCy`*tXB_p6tC)H%9?BsbcKWYuJ>v%o9t4iz!NT z(L;TsW$>gU3bI@4%r7u89jdrLU!G8778V}KdF$rPBa9lt5Iq6{jYTzg-m}RVQWVh` zpxCE0yc4o|Xjba%*)NoD3f7>Du`;6Am|E}|qu(Lg7cMM^{b(@zI#h{u`*Jz)k5aO= za|`@y*1~@U9+Ynqsus2Tx|#u;Q1ZiR=NkL9KN!Jd1d7XEUWSYt^ddT3=5v7+es>z~ zzooP+k*>H~K~jf)K#|c@ywNZgy1z!JU`|=P}BuDQvot4pH+Xm>%NZ*H#C#k<0Vxc>+0$%nfVd7q(^&=0g?s9;- z*>9#fz{JXRuajR^@2@WwkxY9hb1@do{MgXwz!? zXTx$&aFV5|#aL4JzfLwoYb>VyE3YJyJi7U;C<&wl)p^`jn+CQ;zwe8AnXR3atd@PX zzZcs|tO)9i2c*SX$%+y^=BLYo%Z4^rs-Fj8a7CM<)8Rfr2{leDkJq1RLsLDDned36 zvX?L1M!v(g^UF}qFQ{gh11e%qh3tBe`2p^uNh8s2+Eb|s>Wu^v&$P=Hib@>MCW_~r zA@6}KOFmazyin>@tlpHBd4dChvsA*I$jt2=g%9>xiVI zfYGYQd6Rzzyj728Zf^XPg$U}h>fsVTy?^Td$MI^6t@29}Uv`>NH6_eZ%OaLQx*jmp zeo`O+Vzzw@)A$Z3_ zBewO9Gvu~P`<@Q>mNzo;jzJY`NavK+Aa&xFqT!93Acqg zQ6t0c@sWV?mNBiv<*!3Lq0&c;w96Mi+vMH{5|&El9Q|<~=!ciii0kl>CD?QM2RZ%( z;aePVUzdL{*+`XJZk)HzhuKQ_l}t{1UA4c6dKqAKp92{H4eenvMCs4p6MdxiJ*1x1 zhtz8v$MhQ+BnQHwKqV|`i_0W%^aZiDc`8#b{X+Hlo9$}^u4ul{+$bu=+{HB#-PUdr zkSrKlJjmw=ytgSi%tj5OH+$jYNCaR;eX$=l|6x3QXrFBYs9OXU){r~Q{+=GR%9TV^ z8cg}+h1MpXWl*KwX<8YPx|bVpQO0}iVoxUzN!8tN$@5LPG`X8LBvIZVlg1gpTr8hH z1Vd(XU#X?Q+_1mHKAFY7+GhsT^mhtjyJ#u%h=to(8{6FU7kcd3m?syW&hIzh>=CB+ z=wHJ;Pl#Bvwoa;iL;B_=;n8CDpD88Ni*`ZoW7E{-#HHR=NraCDU!YH?oBEOX{UZ55 z;5b=6i%+XO#czL#aCESIewGh-mujy@|KvM@45F#-ulQ^Kc;UJ z$g|%Rf1=GtM&$29&gv=s#=au@Eb$CKLV;WcBwt=i=$Iu{9ETq#@uoKPyZr)7_4|)N zn)DfxByLvH?(W%rNPM39=|^WjdgPa$z)d2i@|NQ9t5*Ye)xeu(@<@|hUXB@R1L}zU!r9waLW*X+6<#^PXu#nY0F4Na4yr{!M z!_S}|l#AQe;vQ4elyLff=o4GMVVIrF`W5mkm&NY;RZH`*5%feRu5-kEec`+9 z9~to11c2E-JV&ujU`KWoymH#f&_DYD-s=h!QPJd3_w;+t|+wMSoGLrDv)yy?0pXyp!;Yq z@a2Ttk*rHKUohKWWb))mF1_gIio1VK@*49*%nN?_bv8_Ud=r%7Z}+af zU*Zo|sV6YKUZHlM_j)8Uni$ZcUO(juG#G-~ZuT@hkU$C#m=7R~zya-_h7V7%twEKB zxN20@_v+L21i;(g+ao&jm;CKF-IX()p`eAWvm&zv(+`$kOp-z_XR@d)#SWtmk5on863<DeAA{Y)A*C-W&I)m4Ft`5Wm1+^x|G9>t7??^(O481+W zlsR&3>9=hdTefdZRT-duHhaYed!}NSaJ%t?Qpo%C&B&<$F5F&b9W&Nr zLajIjp4t_fo4blO+2SNmtvz_hUZ~gG{-lQ1_hA*Gp8^yA_}obBF-tm|*2K&1EL@VO zT`XSK+hDOjfpl_eR#68v@zv4&njW{|@^P;70MpbeL=VrS@D>0(+AC3uNRi~w+;U}) zHIe>dpO;~uZY2nP?O{eLekXstzb`YC+(6`!(5gErOQ-3#pzOW@%5pj37aW+aYy;zV zN&j384ANlmSFU>>ha{PhWxAELlw)Su0|i!{H7`Du9HaVc67@=POk!P)46S*LAvVLD zP3j7I%ACv=mPSn!SvN$LzgIVdt4e6S!~xPYQm(G=TU<@v@ga_*UoOgP^BOk{R}-r^ zHy9tB>-gRMf6)yj1N%76f+g%u)4U-O(75e5ogkOEw47*BJz}0hVHCdK? zx-OYNS|-YJ!gA*F0yQVQfs{@sLTqD#mTMQ$qQ2U4 zY6}vT%@b)qp~PHtU^TwFm*yT`$pWvIbj7$P9v+}=@J*fNA2s1F`w83fBAhgXGU>wn z_$I-4C^hNSg6vDw+>Ffw#c$;kCasX&X&U$sNcN0tU6Wb@W<7^Rlwx z#l(#^xkB<^>}Q*IiBu?bAh+Ch9>n&v`BgiQb#^Kj<{D%szqIvh;&iYaEhEl;MqRIy}&L>k`bZh4QDED7CZyT}F zvk8s=dVuEX*wvJ9sFvsvMkQmF3g2pRkHmR$hd-h)*o$mwQz$%AV{=7-Is-U~<&%RZDKV=U?PS!%GF=f{`*tp#3{H_x9vh&|$aRlNbu_-s#E8@x=Dvrp(c5^$*jUxGzWt-w`h-(%Lc=mnD}07=ixTS%Sd6>6&D6{PUq;lb8qL27{V7olslx$%qx&_4m`S( zyM^D$FK(y`+BbzVC}_}YC|@OD_=c0puHz2}Bm?Xu0434ayTHtXJSt%3&+zBVQIvgL z59U!%kP(ZAbScl*3%-sU8UccjElrF}khu^d-!2VzuJw@$MRN3lP4#&iBGwuEyECs^ zn2=3y$NneEs*tZI#%6H_qd2l(8y3@`@6Yt>#Pu6}Km{&;JKGa}(Jao8SE_KFRxS%R zva?uE$<(AzFhB<{yj=~F3z3)$Jj~hNRS&t|zM2nj3tB&6LTX*;ZS8}GPiFqktye|Z zS1qP~&tv!vGw(17C!9wuI1ad!axP4#9E|nbT+U><6`vM4+~5*or`a%)GviO?=z4lD zyWe#|=TwQY6)~1yw@vl_3C>nI0scEUB~xKE{DS%X+Gpwh_ESKl@5ae^0jn0TSr|pw z(zyj`n_G@Be~xX?2aWVcHu_?8?+X;3?q|?G`uJMl)sqLKJ|5zwo2Ou5{s|$60*lw5 z69_Y?9$^NYH9mgyhIEq%cRt*r7(TwjXBIjg-+r;nzO*$8LRHtShBb~|P>5VH+JvGq;GC(;8j3_#yCFsY-)Sb412DtrBm&}I66aj@CV9V zVtR~4NgdQo-Lk>e`tu@u77Kw{f>F6%^AA0iV5%L(CZC}F4|q#Tezqsef_ z-eb#Vp4%Sh&YGbXiNgGDMOSG=!%=@~sse02=)iXr&Rz_M; z8|AeXX{)sXAPQi=pROmreNOnRZ^=0BlDM0B%ihtvHYUbBUs*pj1k@`QxsL_qLC{%U z;>_-J9JkB9S{*@yd?IeovPOBftxa%F^{oqRukT6TpMy$uq zYKVM8%3)A-ZWs=Ozp$>p7}h9}-9EBqhiPg&=wsg2gFb_5t5E)lvzsiq#MFE%)T@E~ zrNc46eO#{bOjthUfzdvvV~$0Tvi?T5)5E6>f1FCO7PDnyhZpgxmB;B+x)tajavmcL z4xLY@>-FXr+kylb@6+w4j4Ck_cmDis2||aC1>_9HLfZh$#i<~xVMft8wFQvbi|O8Z zA}jrt>-+m8&%@?*1n#@w0VjTalh6^v7t6j$lUyhKs_)iK0z!d%sN-AO=D`URjaX%p zt`S*ht65=SZPA7})wlGWgb41gE+^UNhaW?gNF||{(KaHN7c;^ge%4&#uJ1uS=RZ*V znjxLIx_dtY_P*<5?J*0+o3{JWHnol#N8%j1QLg~rCf5Tdb`ncSjrOF91xs>fn&k&`T@4E3E74M_uCp!n?@^?kDoU{>; zdrErYeNJ<45AibKEtmW0MY`?R-EWr;G_FBYwsC>DtE#||M{_qOiWTk0*{4G4cD1V; z6jJvkW)zLNLa4|;z7a6vgC_$l4k5ME3yyZtHuwEobwwqkbH5s=V)XAyfhL1044>9y zPr7IKsJj^W^MsN!PdmC9^mvBO-~JtQ(OdN@PGaolZsSR2Vpx&@nTK!iQP{-{Mudvy zRaG(Z%)u32%#_J_c9Aw4TCVF`5jqX_-)X$Fj=7Qyb;O1`o-VXz)!b!rU#?S~FBX!0 zLdG;ynQ@*S*!9FX9=~Q5eZzoDEbsz4sObqqs+bjDaq3qWr{`K6`8B}BbE>mdiJM$8 z+ON@!Qcv9shcra5>jQZ{T#z}VwHm$DXWxbb-(EapNpno==Z;#r3QOr5Z3eUMx3eoF zCeqK8N;6t689PD}W*4;SOk3QM0GR>s(&wwn?2J4&j^qF^K^V2i72d<|97eb(_7O1k z`kwa8?3x}f-O0%#!m_0d>4&CNBuXB#sss))Q0#Q&I-77w?}XAJIpC$S!JC+XSHC;XR9{1PF$Qfy#$ z8{LaZjPMP-;dv8cR7~h}&N+LsnZcsFgkY+cr{dBj86wt>Swo#xXBzaBP9}`NbqD{^{!a0 zx#FwroyE61?+emX2DA-FGgoyetO(SR-Q&4RF85@A9ZJ36Qs1oc_vAci`l74CusntI zhIpIFvR#2vudB?wjEe;L@{u|DF01a#r$KvPr>mPg{S}&O!BN8PwdZhNW&k);t|)m; znaTMZeYot4CviQQyM`Ad{ZA=v7|6q<1pcSTp0OxluiIp>X^c{ly|}3Lu7G0D9k>gs zYDQ;!+rv$r?K~Fy568QQsB6ua>*ii_5FEIl}AUQntH{R>b0 z??%P{_$5CvqWJmSBdiwrAKr9>!ATe&iKKCa-I+aB-OAc$j``o>r3K6QFUOlv7XD{5 zO0mDpD48mM?gHN4+Ua)sPiB<=HH`gERR3YDZxE2<$7Y3)&+}tv<@GkH8%6fN_w<}% z`UkEmcK6?g@t5x)p&cHRilhzfNYr{L&mi!hfZko`|GhEKM2aTTG5D#zG+|q# zxkneIW}jJISLrA#{;2J}<53%WzRIyndEqDhfB*b5j=vs8-ycS?3y&R<#m%P)t~5|5 z*=!zdy6=fSZR=6&KHS`FqGnw9#ldjrzfaUMM?#4g40*-N$`K^$YCEjYTVm)p5c5i( z!M-=IEO)qRN$wyzat|=U^{yQJY%4S^s>{1oa-Z|g!lr)hk(6|M1RKsQ;GG6Z-*7V* z^QB^5PMU5#fU29!CPkEr8L$>Xgqm*emzRusoh6T{FaA7#fI&2#0(yT}f*1F&gOzBc zrPYICtg`5C{?bq58(|$A^?eBLyAZR=XH0j@*XujqpE-bj0>3*KGV31d>N;0;y@&=Y zF@`*32-Tn=*q?ecr^B)lySw0&nV(<6N3hfoj?$cZ%&5J3&7#WdpI7{?_DL41|NIH# zf?0u);Ar$tN5I-`+AJdHN9~Rus+m2APo$5_IzvYUE7WYnc=Ey8SJ%ro!q~JYciutW zc?C+XcgDs1BuVq2ucfUI@sBz8Qe_`megB*U z=#QK=JRsArZFvUsCiZrv5)D1Kkp--F8+U!G?qr_D&AaL!j(pX*?PoGM#I=3)Ofh#a zLbzQff02xT8jtQiV=(+ahx_7U^&`VcS2@{FH~u#df89n-1|h5H31*u;F_o~~&LbJ@ z)iHf_kM@(VzLj&@f&96mkX4sA!1i=umM2V>|7kr{3`7AIlcr7%%Ry#P;>WZ7-7a-2 zQfu-`a?SVK?nC7CvDVDU=YALaG|(;Gvb(eMLMhKn)ufE7LecG1ud+#05#)D%kUK@m zmyM;mv#Yt<9xeOx#$QisRrH!945j$iy(*Z@SAPVXYq>?+%Bd|9C}Oh2T-^AOx;mJf~xMKL}k*B zX0ygg7+9U4N4C{zn<;=LA7s@+SSxK$_VT>=ZQGN+pGcaR{ING^#@tZ5jQ-b~nL~_S zzc<=4_wWn%kXuLkX+u@-qqv6-GeY!u6<8#H{YaDo(koX>{}n4@UJ{rX}0O z7uKpuw>g;s{~(!btaX--B>i@(PdyXYSA~q?WeJ|UP5zdJ-hJZ*=09FJTYpvy&98?) zDB?VBxdd+Njy@E$w21Fh{*6>(%-V9@Jq)Ot(>gUj%1(+M90`;DJTC1{q0o!S<$8m- z7uw`DXdmPaWk?!{!WRoh8+*S;!0X1^c7&u5k;|gB(FX%|!z(6!Hl+oYF2m61CS|5( zL59H<*rGqBBi=jyop8I!kYC~Ch?QcTP_9n;rqeR(-aXL|LVmwZdPnxBLS&cI93}SW zSD11o;g`}K?p7Mrjx=_ET1OZRah42G!fw6Y>vgBcH71`_7~KE#z$?cbUIy6KRHf9x z$($=4e5$D=HSf4@aV6e0ymY18#!!pzHhSiDmigEOZX%R;?@PRXY>@9lZ@PUnt>Nw^ zV{Kq1(IXNmwXOo3floo|C3is)uR;VTDPFyUe@^+~_nRL{Sa03t^p+>$Td@~{N_54F zWhPDhWpgJYWEN#p>B^EMHc8<@i+UYyqfhBqB{jJ$)F zI@d=P)Aeo1qJ){V8zBA=kEcdK_-WBh!MiDUCpKh4TIFA1_cIyAWf$LSI<41RWrQ{_ z29z&5lJVILS-RV>0G)6t2i7wiE{^;IX^G9US|A3|xRJT1UbU$t(Y)`MWfs`U+enL5 zx=Vw%JY=6Q!?v(nPbqZXS*6gnxt)dUlHE-r`8wsCArx?Dc6--q7g~nuvbQkgvoRiB zmz>4vcpN4+7>wAe5hO%2nS?Q&9Q-5XWhw`kv4cP0wl+(=&Q#*fc_ODRCF8aUx81a|=_3XnLE_6XyH7?5L_`%T=AC+$afW?$qwUk1)7++P0 zBxw9MfeXj?&2%T-S#d_qj9eP?@F@D{9^dFGbBg(_#bPUP2X%Lz>jfo9c5- z1Iiw}=LNpZu6V0$Wn42v%eZqGzubu5F~zQlr8=xJF?9~OtONogO924&o%Q1Rz#yq= zKyXX03`X5~xaETu?j-x#MXtuNna-xhWCZEin;cnb4vTZNAB5L@5qZB)lhy32Tn(68 zROL_#Ho&xtrv1nXm{V!8_#uXGTEn(wvD~H!6SP+~*uT2EdTg;R!+88yf?}JwXd?7% zhf$W=%FS+q=p_K z5IWp=-txWg827v5yMOL6GT3{u=2~m+xu4%Ni_eKd*FL>Ya5BFe2n5yS7$$f^amF`& zOGY=hdR(jksST1HG5M$D;U=i%NK5dN<=t3!b?mtEx^X(m?Dw?OI9pCnXqZv1Skc8_ zi6s4rL3W|+LQ^lPT@tuWEQ3Cngvm z&iZnGJ{Een~$CBA%|BxD)HIJT|2;GF~(fFq6B zBm6|CwrmA?c!y+IL6z^B7shgnX!P<1eRK7-p<{DmYB+Se63fLY^`r88hy*4rgA=P> z&nRKtw$iy?18cTQk(7B~Q5D&Q3#)+LuEd(+9o$Au_%+t?hZ`o4(>p{LS|t$2pM`C+ zY(UU*WCGbh!2)^Im_DPL($4tfZ8nrmm@xIMaCdP9tFNCSGt+Q8i_~%Os#sIgnJFlv zX!pcJs&}4)Vl3c&$#9;S%=07XMNpU0P0qrcZtld$ys!k#j>6(tW>JQc=1tiZ*_}z{ zV!BbM=^e3w$h^P(09XF=(^&u09M2nD=liV|M{HLX5Y1(S)rVD92I*TgN61T>z6!^J zGlA^7{8?!}RRFS8XKkzz|NTiee{EK^Z6t|7br0xL;H1}7M zj%ICkap%2#6UkP3l=6$St0YgYN+gXZ?s(bpLq`W3!nwwLwSM;JRl=diDQ3;ylkp** zT19r)j|C5&*b8afZBn=ermN#xXa!?Dhk{}(pPTZ2AOurT#ng?2D2mHQ_%$5U;^u~; zc>*4$3d4()Ezhfb#fxi0K7PJ{4DYWFYiBn5zIQqcgIzAzMbEd@wRKlAHTv)ur;Xp(dx*1y+%c624e3ek28{bp@O#w#z>$>DL#Pv}YIU z2>h&Gj`{kSeH_Z!N{YX8fHk^-6G$Aa|U?hAu- z$i5qu4-$ni0o|pc5ZeB;HMxM?=3YmS46_%+TAWSYjotxC=fgz;>I{+uefytlZX6sx z{qBGX9G=L{es7lM$}YM0(E-B`YY6^pQLaDugf1>zq<%*lJebnpW(gFqMVxp=6=xEB z@GUgDHF7EUhgpR&q%!e*`E+&XmWP---P zM;B|~uNR66e|l5Jg$Cfi=w!gD>tdgo15Ag=uI*^9lH~H=?CZN151Fk16Pm7!N`2}>D?X{Ja^jh1YP?6a6uvfo3r$FLtSVSmr>p-u zyrvuUW!ce8x~w{cV6!NeZy;Kx?|_ovM*if&??->Fv4U^jldRKA{y^QWv)uE$kMWlz zKSx6>H&{D`D#(h_&ntn@y)T;u3psEA49idJi=e(i2`Eml^o|< zWwNWkCFTy8GmVz1xQFSuSh3}pkxa&kPZImdCBBk(ylaH{t$*hWB2#RIbA;T&bLs{ zkLheg2o^)*^de5nNg_I+qBh!F;yS+{aC_DGDArUFzeBo_@$RqN&7e^&C(Kn9u@nbyp(rcxJ;!H4??4>8e&xz*n zy9h<`wm-mmi%1Qw89BJcZu)d^Cu`S_EwkX)!_A9wYNHC+(c*b5nfw&sv<|b~v=8`F zEggR^G2_uoq81pH0Jqe~venINFAjn$&jB3RMKwpJ?QR)JE<6y)H1)R2L6N$t(y$Cw zMbn$JO@y#CrAsCy%+nPo40hD0&W@uI!M7I? z$7u+iq_G$$qCXI$DTGNm4Bow~Tl`e!-BUyL_@IXR$%osMAp^}$FTlCrjOQx7kJg!S z;~SZd&pJUdisf5BI|M%Z#1|YB<=J>fdL%R9{nWQ%@lSI`edq@N+9h(mJXz4Y3|K_= zwwKi8ymhdkWx$Xer*)IeaBw318iUpIFDfhtI-Kuch|0=GK1SCHc@#pRhY2Q3LBJ0s zQgsz+_z7P?mXiLuC%MhdsXElA-;Uj$KQv-dG9DS`A?m_{TKjdmMlXb*ZK6yxatno$ zNQODPJiHC^a2-{F)eoN}c>)AQl6-W{xZU^>{UJL-NITc<4Q^b?SYZ_%BAFY% z;}MPR!c9lqo0d()jAb+R{5GW^LDp5-^$Tan=cNpFXZoc3O#HLY zd)>^whVYc!um%jTU7T+;?^WFwCuy;n41o6LsSa45Bj#(E>i!?&D&Y2ONEsI!)|rJwAsrV2zQplet$OgD*E=g% zzek={i(a(EKpMlflm& zHM4fH3*4VLEVvV&-uUwbv5wMQk_C44Tk89KT8V}r=;{?D4b)vd(lnCqghVXB`!==v z_LH;bx!Ii+X(6Xgsv!#lD>gKz*=~7l&YM@ULN%3weRsp7w;zvl+ej&zq`T(8E}3;J z0(?^=epZ`OD%)-?uq2ur)M>v3=FB%1Bg^TGXWZ7}q?Olms1-Kg91s1XkDFhg6TQ+Z z39cz(#^CDA98QlTm{RJgl4Oq1LKEM`0mptve(ORh%5$GL_%W!NS-M%y(#37<_~ktx z+otA&Khrtib@?)i%MeN(c|9t0i0n~@l5Kk==gDLh2`Qm-g~!g9%05^6%<45VZ%gF$ zdrx7a?AD{7V#-Iqmsv!7;*lnnZ)CIiIzKK#*>xR1A6cv{>ci6N(&CF|%DS^o9kx0e zf*b6R_1xoqWLbGdAO9earWoH+xAktp|8i~BP|;j}bPr(S$TBDx`nNVK#ItiRcjE=3 zYByVx0CXj&EoI$c(AUu@mg-Y zCIVL zm_k1xfDgj$e26*DhZP*q^QWc<&E4Rs1qu{$zJ~G?zkWYZq~1NbY97KL=~<>R0Klli zy(zffW-Z)EZV+ZG_VRE!exRw)+1Hm}-$43V?6aJ82O=rbKjuYR`;uz4tTK6yjeX+2 z@|)`1yE<_H;1#kQA#z-OIUk|eI6mr-rwDeKa$%A8&uqCq1vVWuDx}CfK)4*1p1J`R zo13*{k{{P6K?c9`o&;J~HQhL6a5*ukyL|Tsq%W`2^u7zxSZtbR_i?2?na^IDdt*%Q z00{Z(X$;pTSzth&Ay3!EN^qn);wOZx-aW>pE;~!9yXqN|!V@WT)^*UP^ zEA*%;2H9q%(az3kb=}+eB~Q&12NlNKH~|KZ?0G4zuPx`pUsPfE?tx3O!| z71)u$EtA*U(=PiC4v#@6sn3@O@@Vi4CR>twT;YC~tHHo7PJr2zA3vcm_*x;wr=mhkVxMHJ()XwL zdR-%A*=Mnn_X)*I$-(QrEuVPbS#2_2DSmzlr1OK}cKx30jf53RXrHT^{sbV_Db?za z=N2zlS$s+iTcoyZs) zW(+3K>nf0Iw46ErK%8d5s;C$|h(P}fpz%jKK* zkK5%RoGx%Y56WijxV}hlGB#byullB#sP z2vjDSCmk{4f5>oZ)enPJ5!Ll7yYNF8N@rHDiRT|(t9mvF_f^wk0`#z(fnS0K#4dG}Nog5g6A2t5d zD0ozG&;nypPyap5ESc1}?ZQb@spn8T)7Q)~b5br~Ij`uY!z`0z_Q6)ZD+tGsLK$!U zdt%B~b1p6|sN1I+9cX3j96d9uCf~&LRlHoOSVJS|;H1o^!=GjTM8%Q$*OlyIU|fju zo}M%W`a{HNq`N+Ez+!xoq3={x={C-$6kSVF?pp za7o=->o7r=gJ_il7=x29RYk(yeEUyd1OW|%|84&0^LB!j(XN3*pS<=bJZpzBqRR!{ zQx5=5^if_s_gt)sqirFA;ZC)&D8V-$Yw7>8jb$oWX~V>>{Mi9Kl~j_kx^xUkztdF> zxDJKP@&q8ldpS89j;_B4$LS&RH8}si3A&}lF*?@;&bHZwKH^-f>l*PG z-2YvoXE=BL@&UkcaGh;*oSvRKNNQIhMD5gU^kQmA5xbu`XNmgWo7_`(vw^4=wQLb_O%Q6?E zdM?vpMhWXX9=9K)`uk(kS2|hB(urBM=Mjiv8?B8twi~Gos?GT&5^WS3)}!MyEfYuY z@D<3uoJR5Pdw*9=pch+%dj%}w@MukPYV$JPv|;Ze6k7i(r? zAeSNBPW8JDtRX>d_L&f7(&kCq!J6eZAa2d9vGoPVeV`JoZVDnkIpCPb#m}k7<$d9i zEGyk{9&V;P<&~_7E?1B1oe$HidGHzFnZ;z{#u55`1s*I^=%VqjPK`Wtvgi#hLPM z$C=`@K4A{Mps0?4PK_5qSF4)IYoVC^^?GvX)=!rau+HAERjr`#U8!nxn)h^Cp82KC zCr+8X?>!%6ewpqj?C(;B_XbM)zb!Uxkqm%lyc=vC)P(g(xBh%~H^xJRcP4H4jaND3 zgwlmv?;Izmb%pAa11C}SM4=ICO5JJpt(e5}H6@^RovKW}P25krc7gSq`vS}gB{_y# zMVF;NoFn9V-$)`LD~s8k_jR^)X^ca9GO4wMHyW1LeH+(upPxC+poRB=t+;q$=+(VV zedW(-R0|)0T~~)+GEZGbMeON{c*W!55znq7g(X4^)@UwL+!k1)pW#axE;K{?y-G53 zs(kH^g)e)3E}%WAjIIC^k~dV*o-3U3ZdLx#<56aFezy(KQK>mnFiN+c1|)c`_LwA! zlEJBH#EC=6&lgU#s6Gi{DaKYiwNOc5SNM46>=nu$YhFBH_0`zM!)8uZ51ZZCsdJ(G zPCN`xTC)L#nEiL)1RiEr#^dWt$5h*di8Kb5(sA9F7Z9DiW?#~b)#IZ+h7?m)+;zvc zcUj_&EK{qhtWEdJPc(hs2?0EWkmv^ApU6|7fi1;;E7u^SY<^U^J!>u4L8$m(bgXE& zsgcKr5qQD4Isami&&BW3wo!u>B)pyGltF(dFk*Xp`ZS%iBc2R%%wS`5>=(yb1^EhV zX#eoJEzps1u4GyLL}SeC{3=vYLgA`1rPbvkO>+|BZt=>|g4&EOcVU{{W9uxc%W6^Z zjAP~M#9IiBr8htoF+G7w6h%`hDF)tABG%Zh@8?T_rj{{{MUFSNdPWnfAg7?~fZYWU zFw~rCo~Yw|XPcLH{zg)8yQ=yU#B%>df7P=i+VW z>jm#3#s1D^L=9bo2y$lptZLL?^H1GzZ-qqcqzy@?Hx(cG(K1X1#7X(}T|c|htNf|w zODv_)n@+bk8@tK{rto{KTG(CBj=B`)ku0?|XeM@AqbcQgG+U$T9f_`Y-x&4a%7Skv z-s$e<6*r6URQZLjTv_>Z>JP6<0anOLW072d*CDSL{Ug{IFWxK|j!{!O5Q%E%?~~>~;a!uo~DbP5i`!^f>~IxzA>7cKMZj%zxX_ z1Qiy$Fj*C~4c%qnc;b*mn{y1Dc{PpN5E2h+fo9eyUKJYb5YIw|eN=6-&K*mT5qBc# zmTWE^bPp>)!$)4lU2T^VQE`Ohh$H^8_-e^6v#F0+`YKn{Irdj!k0bxB)Kq+)>kJON z5@qTV;0ds}<5&|3a(+p>U#FdH?4qXWk? z`P!*ys|6UEqjUPsw`9GzipicFTk|fRyqBc|nS6HcvBzLw8J;2nG<|ZlwbA)ga58Df zaV)RV)Eyh`sK2AV{;-s=_l?7B?m9Rm#b-=u)+}$7d_VEAXgk=j_cGLv&)0^sB~Xh0 zeX(A`Jx7WgeOom48&Bs9zWfSnV}wrN0degdSqTKf)Ua7%ak znmGi+px-P!OQku>?*O~bP&8^-{(S%SW+Am215H2U?0(+r{w6vV;FEzaGE-ve8B9Ql zfilK-!RsZNBHpn*%u$!-t5^`1!N7?dj@m@i8b#Te8}(VZ zk;_{9_xdR5gXN~BOVR( z{R}Sip<%$iCmRC}D-zsOYFD`~jeb4Va+?OudB zs396~y7^!jd7neXLmc2&75%X2!17Va1@mdYH%<^%NHAEKF?2oj`8>3-BB+NWPdLaX z9TWL$N#rfXz}Pg$L%Z$~BCdF5VcFfqk$iz!hKKk86*;xyVz9xGGgrP-9Qa51KPPLr zCODBLqXr;I{WRT(7G)e!y=8rRzqeuUNQR=>#Hd9C{bDpj&c+mvGYJ(Ho1HD!W$2fE z$4i?&<~$7@^X~@i1s<}6NZA@cETHCKzawH+P@9Dj;C>TB%C=o(n=M95&t`)yZnl5w zdrEt&9PI!xGXXXA2sDMRNcMW}Oo2{LKVw?13av85&S;+y43<`i#Kpw;3O^2?p{

    @9T`*+a#!TZ z`ZR7@YF+{0jkaeRH8 z^`kt;Ce7r;((inf`%uhx0!n^;^Oif#y);IG{{92ZX;s4rBFD?QLENiFIvoH72+~Te z@K#ODSxTW_$m}Y)ur74&DuZ&U))1!rs#s>MK5ujsDbQ3_H=U9z^148l_ctoFRHaov zU77Ay&9$nRsE!coaujeZKqr07JD1kk+1n7`kz|HVD(rMn)IQBkVm~;%qJT*8-*8Fo zc!^K0W;U{i>GK{VfZ!B!~X*xti0|bd>R$ulcC3x zchbW*uBC$TPCBKAPc7hLiur4E)P%GTNG|2oFlj8E$XdjaU!hsSwYY+j78gnc%a8H@ z&5v0a$fopqtB|lcER0k5=`ISNs%HVFe=v$)+OBpQf)XKYN2261StLYS3kUai1^=pS z=9+C*TZ;H7vj;5vd->8C*CsT6(I;@rttJMl?e|tW?ECh~NRo50>%skv2870AfvlsN zZJs4XLXT>neJc;byzMh;j0jeGwb{(PQ;`ln^u@}>(po2S%S#S^oMiyM(s$|>^R)g( zBK>7qC(~Hq&BO7~?3cK8`zDT72TCy~{0Y`skQ7sT6`t`?$2y`W#uU)D4c4=6?VCi3f;O0$=u;{EaPw3Wmoz$-b3 z5aJ2-2OD#9tg}Q8`O>U&Ru>Cc^yx3znEkI)KZ6msqqY%IG42Lo(~Gz$qk>1v6KakR zXdKhUR6#+U`;{JJDVf-JA%kPTo7{;3@8v#KC!G~Rl_e9r5HFbFmD08x-)c1)B(|Vg zbi?9IL_}f6xlfq3mv?<(<)6coom-T zGI{Y)kir$ZceAcZ8f}7{qD>RBf<)H3B^fvsBAt-bF^~{O2HUwb z$1nx;#u)tm2;fk|2YR(;;bXP&2r$_N>0RgD`ry}XEb}~g$ZO5#_CCz!BL1Y!8rE|4 zn0PsQ9JtvosNIQ>y56MpwK(Fk5LIRx|Ngb}y9bR4#S&6E<|L2O->u0}Z|l?v>gMpC zTS=O2r{?2q!n`NXFTELL0R;&57Oc@cwLPrit2$#D#?U_zao>z`zwZzYqQdU;0V*S@~hb*X}dbsbV3m=BG~%AJ;OYOkOiS~Zu^y^ z?kL{6U&PO^wwy6thBNG@%L?MI7thivY3|p7mp=HhHwIHo*@EkJ=+`^5ZR=6qC-~&K zREJ~Oq;%*;6K3|}eWMunjlzPOgW%bzXQE?PBrtCy$dHMjJE?IG$$iXRyd`*xahx!d zGTD5`Bz`q-QTLcIM0hKvBuc(pnAG=BWwu-s{{Ez8ga53P62NOvb3G7k58# znsMdQh`)fFS_rOr6m+=&XQ+9R92d%;9-Pelek}x@G$Ra%kSH zZuq=#FD?0yi-TzL?PC;qecN}TiC7^K!bevUYFtWou{ejt2Cd&hx%rJ=KLk@bN71n2 zZ&TG%xfg4UG|+&S)t$GZAMK=-`u25jI_ta$8Kr0~{mIbytyb`@p0h{qYmdE+=Nu+G zY?S#S?a}JHKZTa+t*s$vZ0oWQ*>>7_+IdDNQ*L=U!k@(KPzNAh3k5ldEv73yjFWH2 zu;6L8eQvs+p$WtxPtiuD+b)Vvfe=~U-pfKeVmi$}FnmkaFrho&KmT`C$ z6oC;XRNX`g0Qg;Fy>Tsed2RKO%xYW}U#=e`$iwwgw|9^IBpL(Qh4F~rzqHQb4RVU^ zk&9I$ThV=v^+K5Fi5UE>d_(0_4c+Ax9SnUf?>WXyh%+i1hQ_OIVWV+icz;ymn2p%3gRxXfw>o~ ztIU!N02w&_&v+s4$%yhmb(!~Emi0)l3HSqSYDW6Uma3su@7L29TIE)RC4!8y61xU| zFX^e{;@K|M-c(NRlwqOYYO|S9xgXL~Y5=Q2$G3?k^r!RJl@60X9Nya)7xLHg*VzB# z=#E)9q;6{b05Xa0u9F6L?PkgX>HNz6Udp<56!W+A(}FjJLe^1Ho#{`zeCHYAgijkH zMoHixL%RNEUQ-*ra#D03gSv-B275_fm{JFi83a@054JZ_+W#=wX$vAz5_e}b>5|EM z4r4{enghE=^R}AyP=*SCuRkTz5}pJ39CERh!LohIl%^))>~zHfg|-|MZW7%9#=N-) zQY|ueDPGkJJe(Ta%gDJA@VgZE)mvN2-)D4rprA6yj}^tButRcYKQyUCxc`2wvlL^D z!8=1yWOBrS&8L}4m+{6Xejm~4dy-?@*bG?D{4#CyR-NzZ=GQ$@kL=oA*r6$~6Jxad z`+y$&n2J$%@$aJwl%txjWOIGlp`a>6OKVhT{Z8rVl~e+nu_1!0q>MNH13N6F4uROU z+oe8Rup6PcvxJ2^I+(Z?Ay6vT%f^^thWh}=jp+Wrd9RVjPUX8RnOjvtYx<||OO7Hi zX7lDT;xbw(1M9gehwiz6%e_~zK_H{f``$1<$qbeZo+_t;E)>ZW5C59)v(AO3!nWR% zR@*NOywJ~VrEZ3pjk=kY&{t-ef;mqhznZ|R#kK5JM+@z@mbk-Xdfs9rBCA9XR31IATn#M`i`{8v(vo);>H6QaBRHLuJ}r71@~0rxF{=1!V`_*`$+@CvK< z33Cudzr-o04|V*&rYG}H{LTx^MjrUZEnlol8qSJ11U6hV0AQSH{l2?N&9+ zkF$n(;zh^~ASg)IQ|oVm=rmr(Ia_cNoc{$*r*yi;mC}*0kTRL88m%Pj^keo#u9)g7KCkzP0+}f$&%GQlE;G=eZb!HK0nfc9Xx%!C&LUow*Lgq&}@hYNwbChiJ z#})2jr;s{B0Rv*sz!{Gp_NZ{7>lvZv~!-^wNyq+IuEtZGVsSvb4H1Hj5xu&9Ns!nIkDkyCDZ z?Jf9TLXG%u0_2DF$JJwlR`1WO8AV)>%)CRl7Ksc-p_g7Lyva5!+q#*D63yS6HP7cI&n%iIb6Pu zCxJhQAFK>Rxt|ij<=irZV%kFzKFRDX$i$6Q{i3^eHuc_JsQx12it`W5$zkXZmpwMo zhYTg1!9dHk_Sxm_K4RFcfK%4m0;%2l9b-`vGJIReMZIZ*z3KY6;y-mF6gV{Fyo0;0*8CLYnD>g^cUTvV`&mU6hNW3-sE+Wg z9{%ID#6v%(=;Meyp|?xCniRZu;KH~4W3OA?ub#q?I`9#V(&<9Sxod3hO;cQEb*?3U zsimX)LxGluR+}1Es?-rn+_>^FTQfNqYoGyw;R=lWP&nC zwE8(c7)dmIZ{rW#|BW82NyM_8;e4@^%>SoR(}@!V`&d3E`d`QV2hlX%{~vZsO!3o> zbAkQi2( zBnln>;wO|K@-Hm_@BID$p4N)+U}Excrl}OxQ{GmrKN}O$BG@))J6~MDD}awIKGgTq zEkcg>z!?;u>)^S8k^k2&fV{@0UWo}f<}E@OoK&H05{2D_jp{x zq9Ed_`BaV=f14`c)F7}cvFC6Q^)68>G6np;EYFf(`xXoxH zvzGA*=eZ?2iwf*)_si2p^|)?~@jb~RY^d~*TKmH=Ck6XrBC*KzU?pwKb)3)3C#U!k zk!#j|jOwZSP2Z?u49!oMoc>f*U`RuV*}oz^D-0V2_;K_Pd*8$)Fiz>)eIdC+H158r zf3^N3+~;vwbCbzc*IT$yZL{5(LF@6Twi1Xmr{x9N#uH!kGF9~ha4cW;7RBk9Y*K`?@{5y2n~5nh6ysdV=%!tV$XqpvZrhAELdSz5XnI*Fg|qpx zsX15q1)}H5#m|z5r7idxQ~XgCo8okVsPOr*G~{V)R;SP}U#IK)-k}WtfLs6GUOr-p zP_fyJ1m<8q)dqbmm)DZY9JyyJZ*!N0!&1$+D7#Arh~hZ2u`4wic}SV_i{*6LJF0gZ zY7TO6xRI>>k#*MDywnuS*G?i+D?G2g_js|sX92ZqMlGWVQnV=(8oJY%?3Xq92Iz7m zO;aHI^9YRs?2<*S0c(VZMa(*POsK2;798JJq!*g<8_loz2#;IJ(b?;uU}W%(HGiE8 zW6rCUmN9SEVS?EIAUv7Ju=Ho>fMDp#C1v^KAk`-#d zKL-E3_5NV{h^0d1p1!7Drtdk#%Ft;g=V&YB>9f4D-*?8%)c)i=-0a}x`Rf&RJp7Y` zU^>@(r(Bv|pgC4Gb9Tr7X8dTtwvuVWW?49buJU^AA`JUL@AfTU)gfkX0S?LRSg8F? z{>^`FE;T$v(>Z*OkvJ;#zp1?r>Ojht9L!1V)O6iWsFZ1eRuEO=!56wDCx_jF<=W>F zld9$px8-g-`|HB?MqB;&mpoTW0xav^n4cfXbC~UvNb@%RjGN3fE0D%oN$kyEv|;?B zB`nUIO$(ForpMO8La$xfIrURtSKNrdWpIL9!LYGf7?fSY_-33q?aRdMF|p`hk^=UQ zBdkuas^PL%VGIf|gjWum*4VPuRo@$v<-oD}AU| zqG>_Ff6BhlqaPpJ#oGjgk1AX`Wj#B8y=SU%n^dLZM0d2eK@exlFXu|*np@nC9h(J` zIb}0X5%T@R5q=1b5+iDfv3Oa1)NER^PcgcxozBhH+%P6;7~vxAwv6;o728xX+h6YO zNsb*gUwpVn$<1kAv=(fjtH#Sz1bt35s2Quwa7AzR13W33j&_kr<09g%lKK`i=sSA| z+-VuKn@%t*N!a(iKIAqDtd8*R98l4URNG%J>b=8oj~+Eb(|R{Jyi*t_R@d@u>pX)^ z*8*;_Rw0*ZZkgAdU4plgqOuBIcT`u>($hysgUr*Y`JkIb#oH5}{i#&Q`2ugkWM@!D zft`BRIpCT??QR3t%agGXc^Boxd^{=dk}xo55|7`T!1R7QK@*k>*r(pVD#RMKC;|ru z>~u9kE&~ph)%@Gg)HlYXzesXVmq*{g`S4b%H8t$PLh*CpTcSV#C+SX$0jyQ;Z$Kv) ztc}Qd&;{L{P(8(k|H2=QH7QK0y>$O-z2^^X^!gLts+_$c0HM{0YqkUl=g0FMcpOrd z@1C~yx=DkWx<;sh-GBZ^mLU=y-1;QEP4;n{y$eX%x4HN`A9=^G;%c z?G5S65zk#aTW3(G*Y0j>0P9G%)$w_G>Mgl%;$bE1ZMQ)lABdtah7w_ix&?Be)W zrBcdzS_hxUFa{}n?W?AGiFr=gZbik!1ad^FMELN1($M3#&E)Dd%d#RW9rrwjomuj@ zDn#?Xah~lnW0Ki;7(eVXDUF<-+J?~NtR;4&EJ5K(3V%g*mtGT2Uv}!;W`6rJO3HHA zGU#~dqA08H^hL#mu3&h{99D>%Jde=0)5YJyQmW4eO4{1h%U>7$HJU8*NWcSb&2qdT z$NVj3o^35HR-XGqpzKqUC361SFw^VGSTl1V0le(0gvR5m6!GAgh6iP<&YfAaJWwT=VtK$(c?1=?s>YyQLZgV+wCkJBt z@$O0c=i1P~yIK#+2z!}Er~22pSn3~^1MkWrc!FHe7z%**wwnJeu=Cbs5P(2jy)|O& z^&j^r`Ej$rB(<%Hs+ltp30>(5RB`D#=)7B)7-yUAwx?*RB*_N#XW_|_#*6jZ1v0IC(0GjVSQ;W65lOphmQGNE2`gf?1~yy57v^!ilL(-dU&00?gx|kbedh36B{j{FxJalCb_$|$Ev#WmI8VhX` z$a+4+pqoBr+hSY&4(~1#8^n(t8~&y;V1H?U)z}KbPyLJRaxcRTdiQ35yZ(Gij$M}D z<`0P2G?q>{N*9#%){T}AXnf6J-HqNoiF#6C*v0;7tR9~dR9NOG$#DB6jPpqd$}BC* z)bN(88Gk=r1mm~IoU6lW?t3H~E@v*5zChOwWhJ_E3RgdB?dxiP#frF*ANXtVj+wu$ z3E7b~8LO{G4XpB#l}1C(w$7lkQ;P|*lZ!rxDb(GC>-n-xkm!?9A=9UsJURFZD>i0x z2Uq67inr%%H?cUYW;+nG>$hD9P~R`Au?ZCFHm6gs_9oz{)5m$jCR17#Se@g2d%#MY z5kzKkcEi;H_=02R0dC|Win*2wICOWd{yDyPo$QUM-nvjZE1Yj$r3$xkag~8@H_DDo z?IE7Yd-%9aID_kXzz*99{ZBDYfbh!Z+=RKh+mZgd=)s8A(!zb_Q;9Bbi=#RE^<=+M zLl>+y$+xAM)zZ7jgSa@Ym)FYQ2eA9<;tXcODUCnZeR0STga#-Y$@N`vc`13L&=``m11Scrq{pgok>#_&$e-kKj)Kafm&6N~{cv_OC z?eRx7d+XinWqqBKPSvsYl@DZ(>`rpaQ@`Z@$fhQ9SjuD(^m(y|#EV;!@-xgWN|O5m z=w-!SVj!`;=q!kdUmUWRQLzFHJxncDEVK)sn zx@*TmK~QQb-(KO~N34w|Z}TzJV*MNW;8Nh1@Xd@e@tpvjnt26QmB5ip!0$!nyP#op z`?yIFlidPiOfF7DE&_j1hNI7eo#3i>V;{4kVtVk5UWojBlsrd4yWN0G)>G$trO1_& zO-V{I5^ElWSc}4ANOZtZ60=`11Mc+5o0G|J+Ax96#b@Yubzw! z@al(fOtEQ{EwUc#FoPJl>B77{`(?OMD_%SLqoL+%KPs^ehxpXn^pgQ7_&R|}z=0sI z@wc!1F}hqE-(toyA38*iWA==O22SvD@=F8Hlkz@DT>n|&Bzc5txm#bDq;$!Azs#Q> zih9CgLJb@sE1J0>wb}l_NeE5bUUU61nZ(1LH+~Bt0=T4{F4`sxukl|3sPiftcFt;C z0>aFFVt?ucxvT!{6KJwoz5iD8;!xPRE2c_t|JQfX9os{rAFrSFLzv(R=$WE zrPIw>B16A?BnZhDo0PI0S=|U&M{#)(=Fen$QBj2(RMa3IdDS$Bl*VK)J}T46HAe9r z_ttZsl01Qrv9B&Or3jwvp#$@7D<MW?@GUikn8X{ zHxS=z`H)|mwbot71d@c8l~#&6u4ja;i~xU;hodioo#*y~K#g(a%2_uBZ&m-$3=ym* z(hp&wRZ{e)0Q7J(*Njt2-&a1qklJ0MU;OI!liqO(%DR?&*AA>a&&m+F_(juui~I!8 zpbjV>p$6N$_3&S)Zgr^*BCBPvto;lbesXo5z1F1LbGXQk3TJW9!6was9sK@rOKf81 z(rZwaeRima^@g}AlnD{3i@H5<%~{WYtT?U!3K@?ugINs;I6FZb#T2*dX?LW&Oq1$u zw_*xOvWh4IXfgcQB?vUM{j&8O1o7P27qvrHlPc9G=3PBe!0?5co3+ZcVO>DAC|a@Q zr^dkCOHw6?uDi4Mp$VzyuEv8G<_HXaulLQ*vyD<&bnQq1YQgqZB9!d*SooH@IlXTA zi&wHN+Z(Bh*Ev6|R%`=m_K*9t4xW&u*&aBn$;yDm%~QyWv& zmZN9=nQhIi=b0P7j<{d^QE^I@x18bVAJ~8L~~)ZMO6> z8B8|p=5#ajF`Zk&+SSxSTp=$K%=EMp%1fhSh>L_`0eU2w2FfQnmvM+3| zPo=-0*j>Fw3$S*6L22Y?b`n*INPu>_vWmYXzjH+3T;807q<<8=84A#q={wy&X$RZo ziH$5ydR#nn^Q+-*~pwxWG?~P+|xO(&->@(4)R$HOt1;cr(WGn+o-q zmWyk)26?`?;$h>=TGhe$vOAf#nt7YlQSw?e??I%{k+8qv#c!c>d1`!Lpn&{&TtC%( z+znyZ$N#Ay>KkDzU3hVBGl_N9+5=(a2iIF!FUyD*dPY;$yCR&Gc0=8fuTk$qKeBrQ z`-G2#-sGf8n;iJy(e)W*^@Zhdwe>=B9+^o54qkNr(%aX+9l*T$^0@wEzkmBXLAT!P z015N%3!)yrpksSp(nQ;5TAx5s3bkDS@G_H;oq$N)A!Zy4r^;PYZ7ah z$1u@pA?)Y6NBF>8=O7u~eTMul2Z#KK!Pv&J!iFJq+;bwEXaMe7;?jc<;YZh zGkqB{#7>)NS5MRt)j5?}R;ANAFm+f%F55&+Y9rwE+z}K~jlb(znNxrmoYRTf#h{N| zvJ9^2RR5zAh%NKl(wom`zO$#!kz^hm9sRlbd4z()D~g7H6SO=~PtWqehw+3&!I!iP z&N|-@C9B*3`55*f#h00~*UqqA73sy@iUrC<&<^=YmWg7y$ui&s8ATMOoK@jR!`r#Y3cbBmB@So(~$Z^ZaVv*U9v!9u~b0|u_DbUM6N zi&yEXu7^K)P?6?0hDS}DfK}g0#2QuU)CC(zJAu$~P_+^m+m_+qum{M=!(~99gf~Qbn)Gf&3n{|55JT9ecI*uonm5!B-zF<8k_t z59&1@*^-~F@*;yKan3s#8kJk{bcErN$qNFypZGaUZgHH%G41bCJfLiXF12U#45r=^ ze=j_lIaDQ3+++TXXO|Hx1ODUxsq8wVnp(CnsDxrf6hx|kiio0wA|)7t2ns4qq*@5# zr5K7)q{k@j(gYP7HEK{UN=HMJVu(a~6^H>LR1qSfCJ-R+#H&x#`+V2@IBR8{wf3CZ zvuDoi{e9;fo>5bIu(HKy%zfC&2iE8U*sS0ceA}Eg)X&5cCLM%{2QmwYNjlAB(7M%K zSMzAu*$`-4k>uSZBb-MQQPuHgx2S-f(wmRGo^o5`WW@aQ-Lb4>kEA>4Cq8XLYAUS# zRL$y2b*t4+OUfxUl)a8B~_5tm7SogK{BXx3EwK=HjbPelv6XF;TV z^|74Jm!?MfJ-hl9M-)${d~ze9B;xy_YQepiC;HCKVQz1z{iX}&Y7UYx5(BWYYmSMw z8ag4eW z=5ry)_)sdz%x!q?GPLYu*F(K5mmO~5(~p*>3NBNcdQ%?rBjQfY>TZm$QGVql7NW!XAm8%^s1S*$V% zV3na3n85f4I@73e>KErO1P$lx1;ZJ;7sy_^4_bYJL=Z>@#}`G)&=C8N2e1jd-?Pc` zSKjA*Acq|EMlF!~%8O-0T?ga5!X=5Yz-|#l)6(DR-eVfDC2P{v5*FyA#!wl|9@=wO z2uoezZnGbA8#+j_#5$ApEPc2Aj^KMwn2bunt?;%swr73fl|cK=&tL?4E&Rg(!#0$2 zWWZk|k8u+$%h~TjUoF&Bt&kVY|pk@XumvHoxKU_BH8XG_%+8mEv zFe8@ajh*QCIn*!~nx>TmPrY~wHLRFns$65@+~8*=FMX(I^2Q-(A;1(@x+6_nA98S5 zpu)ZkNwQg#tY7hpcwh}ykA(ycN}L{5zSSk`VP*rLT{qKKvs$^Pp)`>K$h9k0^Q~sB zNvQRZ-?3TXIY$^uPDATD<4YIaLuUpiHuK571!{POv~dP zmAXT763{b}M4WL+i!I zwJmQEF1?v9_Ix*eaqXseAVA#9hW9Sd`^+nqjO(p1XTv4u*$^w9EHHk<1V7D^!-w>? zETp#pblX!70~(?E#P%*IVtz!@)DGj8z>Yp`^Is!88BTIzsMO!V{XcIA%i zbhi`b@GeUNRR;T`Azgiw-H?=J8pLEfbH|ABV*W$|UZGZsrQ|v5nt^4dhf9 zlN((V0$0zKoXjJ8I$u>bk=6il-_ zBE9auu@dnEs~yKbm>pDW*BC(dTOJN*&Q?H^5`YgZA1{kAoU?$lP{2skP09hQv2~AL zvj(W30u$xJXZUKn7aDAf5&|K&YyUnciV@>Av$qD-5leO(P$b>SybSG4FO)x*XxSlM zZ}d>lu3Rgc^15noL4-p@&3}_j4&E&;?kekO%XiYu^{KbDfUAB4hpfp#8SY!{lo&W; zVJ+tGn8>O1zdj&mj{ih^^uAT8XTT2e6tXBCbsp<$Z5(o6JV+2^jrYken71f9g%bt+}zkb&7-dOvnzgukfjIV`7q{msc=X&na39)3^j7wE> zk^Fi}VBSXwcuKKQRGhaZHg^^`Xu1)8a-!a9SN?dEzL8b%sb_v?wD&?J8PVjvhYqX8My{be#88>-Gj)2MIs4 zzOcFpOD%oU*C=l&pj=C&IwK%iMQLg=v>Id@8X~8>rO4FMt^biT$@Y{G!zB_eH6T?{ z97^Q~kAKz&_iA;4UnnlQ0xUnhSJH06Umh(z(<>8+XM5lG@rkl4>wps8#ZVE$G)!Y_ zaiPxWh_Vs)>_`rynSxuZ?($Z<1k+#|*G5Sp0cRfFFV-p-YW$rTb^`z!#OHXVkLbW3+{%qi@%$qYU7c$ytmRW-)S322NZ%QgTzr@#YI)L3 zU3&qLFkhEGWFwNMvol>W(MNz0t2*!{{uDX!HyEgvcS?Q>Z_|lRVuzUMJWvJODY-}4 zqQ({Ju3+H;b#mJ?w#I=H;!$`DmO7l(cAZ6Fs2!a2CXNZp%T9cFve6lgD-d;xup{K0 z!BD;ET%f;`SOi+EOV-g3t*Rh*r0u4C(@fv#q?+P*osgY%4JYmz?e^>O2K%k)FuAur zLRN_IF_gP~^e*~i#m;6co2z*j%ZkOWMWL_C$?PncZS6usT zz)ulmq(lKVXWy*N?M;iDzHDbJ7a+}C1p0#5#!5otceDS;KklM{Tb;aRa4gQ9ZTbDm zTwH6$jSUW*_*TOFj?uye{wfQsSr@_68rib%YhQmf4ZQqveSV8tBKC(}sfB2lDE>R; z+i%DK5KLW4zhyD$58|p(;s=QpP}hpG%IEO3)%hK2$%UBw%$}WV-Pclr|EGgK`}CmL zzZ65JH>jSy=6%+C-HKG?M^|P_|9fgl$R@2rb{(F#dGKK#U&DXJKIF?_YOMVoi%e(n zJUysN$%={bQ|~)se~VCqQ$lLiuA&g|Klb(8vwkLL{A-F%P(h5XY>L?FUr9hCIoi#9 zRsUa`8xl%=4656INUFn=$o)%4R_dWuWxWy06XKJkDfXMtDhN@Ecg7;*p zlZFNqR4chwgCUibU7%JB#c6$2oqg1w&DYEPJof_29OuqY7qfL~tS4+dX-oJeRU8p5 zl`Sa@UsA#H-sT30A+G*>VRq{EUTO=Z?Ad-^N;j06d`ugkMXZP(8m42^ezwkemQGNs zKg*a(ft>0!GHkT`_+);+;o>YnxcMOdPYochUh@U1N++i#We4t)KSl96qltJvS)M||V_$}p$u4CVvSds4b?g*H#!l8$V=Bui+t|iFV@;@R zG0c#C84bqF;HBqzd;j_U`TOVo-1oW9b*^)r@A+Kc@8>)-F#@xm;XOk`L&K_j`=%)k z4V}>OyZmW}<7Wt~i2x1F`6S(&TK7U|*KKXmB^A#Xo(jpP`zaGW?a0E)Wxzid9L$%V8+t%&W0lL$%h?(~L$%&aO_h6syLO1d%i%BWHlLjXn2I^ougSK2ihh&$nR2EQfdEdjbS<+7yakkvVc}hDCw@zlVj(9 zeK^jc|6P4-s8XUg(7XsQIMe&bCMJ~pCz!K?FGFs$q>=K4^gp(5fO%u@BjthpOD+Ek z%Cp6d90SZ_kM_L{EKS1BghKzj-EpFWfcX{h(U~af9HDqdv-m7P2R4{}7k2xmjecIp_)$BAKg9H^(}mnq zdlM=ogDI_APnf5)4MQA&kR9qT;B`)rHix^wN*!dvEM)sYRb{3ji%%VG?RuC*LS#P*jh<`D$613 z4H&{<8Q131;_!_-Aq#Sfb1+w|yO_}G&IcdIs%xML=;`ba<1gCnB>02y(ELh0z`Zfb z`-@e#h3AXDbCQE&UdowsD&gx%+tEt+=Eo4MzBn*JpB)k-F!|Yze+_(62FsL~hjg(P zl61Q1DLcQQaUudB3J!8fOrSW5a~MTkQ=NkuABj>)cbCB$b~{H8K4zJEfBD4I)5|#N zQd8L<7}KWJ&zFBxpj{ZIyyugtxyz1gq2<<>23sg2SyYYO%iw?c#g^DTLlTf zUf;UDwCmNhAabhC08zQdT_v@*E|C%-o$~;b@7ev}lK|XwAyPOhDf@JP^0Pe_dp+zD zm~>=h*DZRsbj;Sgw84Dak2=c~IVSUN(!|WqkHQc!)+y1L>_3G0qPXve`;Z)gql>ou z-O@#88Sqh)XFFW zfbll4Wv+D9*B8pyQx*D9S4(4N9m?uMC28Z^N$)c^Euy8X4g0S+wlPR=>xB^`?iXKw zJ6S`U66DoegWswB3U?N!Tocd8*prA_eeFVDW~6CAnGTzk=>-}G)JV(mXIJxEqyWhY z@onl-H;QeI9%G|f0ZI00CR`C}zKv4Mhg=Qs^#6)xc5u`^0VhO-+f7V}RH;3XWg#ie zhOi9y6w^r5Y7wV>mb6txYrt1$7j35gSYu}N!^&lvg2*>(q;nu!RO`zS}5U8P5J8etC?0WrAb#N(zG! znj?=uIS2DhRqU+%B1wH!kQhlV`A^G}3)*Y~4>fGJ@y33={&vJ&pBV(*svOI^C$(=Y0yzC=gN>`!I z8}w|QVA-l06eb|P8|-J^g}C4rNW-povKwK16DCCD{ zWuOhX2XwfN)fm)GF%Nka#h3P6o;Ix#B?j(1`8lwQSo)h^EMKifxO#9Wi0&bpmF)Mq zEBdQi`W2_5*nX1T|a%2E5Qs#g=Osa87z=e3fM{)fwE zxmm8$Dl@Ep4Rv7n>RCq07g0MQ62;EG)~bnRnEtUctD2+ zWXiO0JFuMmNy5-@oMV{AY1KPFHM}4G+Ud8IO^)FMQ_ueXEo9?#e18A06|pCg`BP;+ zzIK}sY>ba@AfH0MA-SQU9M|kUZJgBXMBe07`jG=nE*mUPU~gUIvY5O0%dMKJ-h!(@ zKU_(A9_8dxp37E4@dFE}g(pT_L*3JUB*k9ay%x5C(IvGbN6}&4$##7u| zm%i6^lT%h5SX;BaIqr6yy*?fUMQG2c-lU`BgZw0vJW~BmrkV0Q9CUQXXeSZ?UCcKO zW}Miut6!Xy-*I6tQ9@CwZ#DWhR6qZ4IXvENbadJf`QsOHy95m+frzD~b8E$MCBc#k zms@~6mbP#uJvIc!`tsTI=&sTBgGEe)k8k--$%4H*rk(!h)WZY-QjS&^;b?j>lhIOy z0bHMgJI_g8BfPy3r}tv-VrE{Pur8jYmTFD1URQ57>ui;Z>PV=|?<=M<>r((e z8hMHw4?0Tfz)_Vfq@B&qY|5rM0)L7S>$KTwhRE+bwsvLw)WYPTyhBgbrHA|Y`&$)( zQqS*j9}Z{tVhK$2++s%tgj4$zF(DpBBWft>%U*N^C$_B~aWM0g>7}WMB+`467T<;C z#7a>vRmX!WnH4Pv^1*qExr_U}%*wT<0ZYg%RGS^Ho~!ly>avz9(Td+qI*SLCe?{XG zA|ANCO&EQexNFTMkP#(*z@6jhNYR+ohrJM8UYzbHP{NvbXvcTLRz)3NQU%7?y!eRi zt?rQvA6F*eF5_Vqbm?MXa$V=;8}S=qSh_3s;e)D*Bda!}2m#K*k^&Q6MuCbTqC}QF z^?Ql%R8FV<#dQ9(emc z+J>dd`!l&@r$zy1-T`+hxkkB<&42=7TQ_&|ygM8t;==BKn;V)OX6`^vl{Yv!3t z^A33ZyI$i=Cxz^Pxvtk!$2}|FnAIQFdRje)67@`+KJ>2ZY1Ul#6pDucbZz_`i#vt% zb7s0m*5Bn2-w43Eu^nR`2|rA&IyVj73e9!_xl0wxRmk!Kw>{G8FenGO1h(o(2(r;R zxGkunkyp396OvZ3Kh~%g8KAmijq10j&b*dxCsc*V&`;M9$)B^_1A79c4n4waNDb2E z=jj#Ln-a^Q7uD6&3HLv>KC$UYHbmyF6x)nBv)uRY<VIf*i2wF&ZIs!tpR& zHNZzJn!iixHqJky%uf2J*1&}F#Y_rrKTNOLs-28!&z7RTq5swttgbV5X^QWzjb_*y z*MwkH3wdt=Ox(rA9n=|QNQxpiVr7laUZC$gDw;M=u+1TV+iIe&r$>j3<8>Mf+d^_% zEPZ7LEi-R=%O7U8q)BwQBz5nCaj97myEaCq0n#adln88!M}pzp_$wI1HNI+hOIO$II4S736av4AzyJMG63D360L-|uGQ*qny1DLh2&;%uaLRg|O4 z8(eTAi#72>E3qK2a3^ZeQR5NOHvXtY`;<pfa9BKt2sm&KapLvxw49c{~<4yW9@POsKF!`}5VdAoGwQn|;6a9nao9 zQqrNBE_*=eHmu?+5bq&M%)v1`EncfS-^3BsK%Me|sN^X5{YOaP)|=3zL)njN!I3v@6>}aG?=T_H1CcuK@ytvycGy5w^qOfM z)pLK+3|kHWob95tf8@VtSwF2*pOAbTr4oCq4Y>^~ww}ej>bf($V1|^Z)xc$IoGF&D zuibOV(GaDMC>W`X!{@a@Vs2}jYVEJEZWw;bg{V}U5$Nt6#2g}_I4>#;Eq*ouD|_e1 zgGc(2?vAd0b9|Zpq;F0Mr~bwp6YRTQIk$Z_wMvpse%aDyt;&LuG1A*>FZ&o#d4P{C zUx3KaQPoKv_!4k0j~6)qlMMQ&5Swq}p(UQ3k+hzx7L!qjob{ZrK6J2fKTJ7HI7pS7 zWxOa*tZ{88Os;Pn&2+!6e9(9aF*g)0X{)mO=G%J&S0T`D?X=z2wP&`TQKp9%RAng( zcuVCNld!hAx0kU%d9FHC_h6#`_GWhY1&Vo5u)3I#-Q~@lgBHf^n?>C83*2qOFh%yc zvVbV}Yrr!pu=P@u-#~i43-SS72dF;WFY58jq)yqS&Ikg3@y55iJo6fvFIwZ-l&p%( zn}_Y;cxf>q1I^s%>kMbv>3y9L{JlU`TK74;PLK*8PefoI%8{;Pa8W3qjVpfC_S}*p z`Ngpevb=h%)J{}U$G?gwIi}kw`gln3nDENxYE!A8Mz73?f{IDtJ03;+cKt1pjwMwa zPNoeIuT>xNh45^CP9yD$B9Zk(W!?L&vN{0q|A)%D7i6d&p8l`OQe-$}9FhOR#g_Co3&=v%$YO$eBaEOz4!VO&CQICah>L3VPQFT z9c*xuh2`+U&Z2ho$ib0EGDL`lg`fSp!IfK~hluvp{t8AXM-G>lMxW|(iaB(NgY6?4 zUVRL6RJ8ik;kT^7N3&O{6Yx+sn;7`?;iIui#94)xkIM15C^?uV1iFI<`Z+xKK62Tu zNayM8Z2PGUNXCBRAr-MBUC|;ZSY7mZ%3WsNMr4lh{dxZA?;Bv_5&^c~uC02b`Ceyt z-OKy+$X{t$VA+2$4g%E~ha_)aOvEYw1}&3*^Iyn=T27Lz#wC_~Xy@OM^KO*vQ_&!_ zJ=~z?H}G?EtRY2U1|7uwlqg)uo2@Y}`QOE2tP{VE@G`UaH{uX4XAn%lO2`a7f<_Es z=D-=mR2*_XH>!Qx@GPa!}v7@V-MjZp_0x7D)YJpmRnVfF z4lYD*ZOL%9$BVur`fT`fvJa(gC3}T}^TCOd&`zuS?=xLkP0Rvi!ovLvD+8oPeuB9B z67vFM|HsAnEdX)zQ2taF<>Z++v+5cM zh(_e$%uEjByRQgS0-{#(#oUmg(+rQ8arbiBqZk-T@DL})aLRHlJM$GovN<4zI62s; z@fGr`Gjf!bFQ#{tY4dya;+6tZGbAA(#$L0mGz1l;O^93>Zy0`p+B2bjk?u>4DmlmO zeCZ4|`@_qkE>q_1~0ex?{#XD3UEhwDW=f$*RZONXhJy%p1X*51r1vBX+JphWgfGQMA} zJTjvL$(7r`{D)V`voAE?dGj^8sT}NqJ)gOxI+0!a z4Z0WKZTsrxa`2S?;kDReZ>!1(ZEe_06SzH7aoZmcC&E5jsa5++EKL9$gLQ;<8Jwc@ z+KxHRGQSaOahr)(2TptY_0m^L&^Nv6T|wR>rU2dopZ-{;sbZfH*X-fE|22cRElm-x zBZ9Ek`TIsWmNXM@P2Xrr_5$mKo-g*FHh6(!#k;b^!dq6qW3G=GFu#1#@_o@eM6t@y zLyGq&D*HwV5xn}4f0(I?jgdKL1r)2p==IEwXY{go%YCrEtggET$`%pi?&CDfbz<}P@E$eH zqQi2}+@e?sC#ZD3g{EK1DBuD}0%C4(NX^`_-MY4_lJp%pI1M-lN-nDwB(jDi#bci3 zWBpGNck$S#j7yrH^B(N-sf1?#XwT{)*R7qLg!I%OeOxs5o?Cx2mQj0qxdB(znuc?} zMNuv|8!DV*&I4KhAnw=b6@C?@+!IwkxK=ZcNz5kKnpXClCIEUdi6^$lpk76n&6Lnd zrr`@r!cL@E(xBYt8Ex zUp;~)vLU6^Yz~;Yo!We#R2)=qDLG+1Zn3wGOEjZiwJ31;nCedyc?9{Q5WGmL7*n`i z%j&_8!CyY>JWDg#|J0qK>{j?Accm8L4puFea`a4zPsR1C-xH*~9Lz7Hxq71;de6rB z=e=PoAwYXSqOQp_^(pZQOkbRU&Ux4!n*!TaGXXe%o}1rx<=uXeY8QBH%L+|63Ko5uO* z*F1GT@yMiy=eJ0&p6B^Y_`HXNX(gW)H!=OyLjO+%GnXj+O}M(+jgMr3D=wII{-du4 z+W5@C_@D9pSt=&`U>G*n3*vv*;l!-pRPhAs#Zww#%TGNr;9W5;dMeLE%z0#v2(Uhm zS^5(!v4rnlcl5t;OUz&DEbHl5^zO+ezn6a}^C}#X;(v|9)ddCxAk~D?FUI9)Q`2^( zbvRNh)#ZYSv))Pv8o*B`m@FJwz|8Ng;-#jhr*lxBx_|0SqhXMt z%HdRb?vjIN@W((DWvB)QjciFluU^sFTmg=v?SDWX1l*fysRV=` z4Iq8N9@Bkh=y{jINp2)0yvG~J<@2y;c@#U~^R7}-y)H56)i416N}Ao-W<`>=4oN9- zhVFP&eZ^(zUXbVhbVzwDv)Li9#eT<~X-8kwA+DuS22$UUB7*E;@Qb@w2&xV9K9BJZ_)^as6~5ardB}c6UH5_W046E5 zAf*-V{AOv4)!y^@-$X^HTY3yVu_l z0Zz68Gu*2vE!jsd-D8Iq+GmtOFIN*lHv7nCxPD5T*|<6fifk>)oV_!E_}RH<9kzDP zRSmlLg?4=0mDYeAa%6hT2l7w}ze#V`*p%fQl?`X@4d}x(Pdp6`~8)YgLi`y>dvDNsGCuuFnaHks953hwm85UF> zgvE}+pai|#hYR6ZFcODSVL}d+$YN7i!KeL{GxSDX38S+g=65u zeIZZ_v4Cx9Q>_&Y#Pggd=tWr|JftU{qLLElBZTS4jLyw`dtZ#Ii2zX}zG2347%lM4 zi<1^E#pROhKPa@`@aLO(Q9nWPRjDy4TaqN+ed^rc*6s00@1_BD<@!pgs&}o5BQUL; za!A@xXkFA7cRcaoPk%Zmk||8lSrcYOuUs$YskA9R|P9PRNIxR+#DE`!EiF4DxJG2!S2!S%Lc^TLXZEU!Kdmk zVfe(wB!1-5?swi=Aya|jQ|waO89|0iz@7tEU&hPZd&$RCqYD%_n)T)%#%PjMork>O zaeD4ZvGvOBtLHXIQVZTS5tvwt`(Dlgg;9$;9Tnj6*Hm}5#aJRRi|2h>ZXf_;WJW4Q z4lWC{Hj+os6Z5e*vd=ROfXOt|-et<@o+02ZGC5mGY9T_MUW}^h9-X_=GhsswEy$jO z4Dh~n)migPet!*VA65~~ERGACSFu=9p+B$rEc(vR{wuFl88tZZu^$d~?VFV8R_2nC zdyj`=-lew<+eUtc#G`!a=7=;gLtyf@!KO_R=F0?`TXl>oUCX|?Z1-epux;7(f^psQ z&c@S$GlibCGph!VKN=pN3swv;cRdp;`Vl2P+_iX*UES@nv~gOGThw5Bdj=`v#dyvu zyX~2hPcJ{98%XL%)25ZBNqrETKIedVn#9vt+51~T>5KvC?HIuK^Jy(Q&8Xq^No!Ot zMDcal6^lBz6a)Xs2h3@vafG9_BOOIUz?cw?Z zM0+bmuVB{PEHyUc12cVmzOU$2e-4N5>Gs=Oq*M#h8%Tzm=Rt<5D#1L=0y1tp!~@?KI=0n9`y)WrcS-d1vzGZt`tJ-dSIfObn^j3}MF0UOE53CA-o#iPblyToa(4EZyGgp^6J(4_Ee z-1MWXPWQT{C$OVGYin0s4y>ZhP# z*5elexKPSNrOD|Yzx%{A53&rj_PYAwuE==KDJ%#Bu`e^Y|E6wYEb2q(zz6XYVZ~Z^ zK6FqvTs9OVCmt_YGVFiaNi10T%75JZV_N|k$~Y~Um^k`JgsQ9P2evc)R-A7csL_YD`*wZz6fg}IU^qiO^b z=FR`Ml$4VPOEOvDm0rW&JZAQR$Gk7;NAI~WX#p{LeCThh8QSEcmzc#TtNZXTEBY&3 zt@_LELUY?s-;QyWM1F)`e!{599Z%GLBz!2Y*C`F(6AFj5Y$s&!> V+?&O(<*^)W*A2}KD)pUW{|i5xuU!BD literal 0 HcmV?d00001 diff --git a/imgs/13 Generics, IEnumerable and LINQ_3.png b/imgs/13 Generics, IEnumerable and LINQ_3.png new file mode 100644 index 0000000000000000000000000000000000000000..c9bf60566d777e0fb4637118a6f6f0ed6014ff73 GIT binary patch literal 26584 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 literal 0 HcmV?d00001 diff --git a/imgs/13 Generics, IEnumerable and LINQ_4.png b/imgs/13 Generics, IEnumerable and LINQ_4.png new file mode 100644 index 0000000000000000000000000000000000000000..efba2c206640cc5ba952ad6142119a8d6c4efecd GIT binary patch literal 13179 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 }VktDPpYDS?t&km}*rr^PFGYU!m4PQO3A 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 I{qb-A2Z?t5nE(I) literal 0 HcmV?d00001 diff --git a/imgs/14 Exceptions, Threads and Tasks_1.png b/imgs/14 Exceptions, Threads and Tasks_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7b904f7ba6ad407b4d193c594a80b026d4aef1c4 GIT binary patch literal 20938 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 literal 0 HcmV?d00001 diff --git a/imgs/14 Exceptions, Threads and Tasks_2.png b/imgs/14 Exceptions, Threads and Tasks_2.png new file mode 100644 index 0000000000000000000000000000000000000000..54474f009a53f908b98878c3f274691fa2886388 GIT binary patch literal 25351 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 literal 0 HcmV?d00001 diff --git a/imgs/14 Exceptions, Threads and Tasks_3.png b/imgs/14 Exceptions, Threads and Tasks_3.png new file mode 100644 index 0000000000000000000000000000000000000000..244f0c22efbcee4152898458ecdd976395229862 GIT binary patch literal 7414 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 literal 0 HcmV?d00001 diff --git a/imgs/14 Exceptions, Threads and Tasks_4.png b/imgs/14 Exceptions, Threads and Tasks_4.png new file mode 100644 index 0000000000000000000000000000000000000000..ba4085e8c2bdef2b241b73397f5f24bd9e761d46 GIT binary patch literal 5683 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 EA5Ra*q5uE@ literal 0 HcmV?d00001 diff --git a/imgs/15 Design Patterns in C#_1.png b/imgs/15 Design Patterns in C#_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b0d4567ce3188846417e51af3834c7da870cd8b1 GIT binary patch literal 14164 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 literal 0 HcmV?d00001 diff --git a/imgs/15 Introduction to Visual Studio_1.png b/imgs/15 Introduction to Visual Studio_1.png new file mode 100644 index 0000000000000000000000000000000000000000..576888afd50be7be3c39d945fdd646140a7f4e0a GIT binary patch literal 27239 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 URPQfPc>n+a07*qoM6N<$g5wWNE&u=k literal 0 HcmV?d00001 diff --git a/imgs/2 Variables and Types_1.png b/imgs/2 Variables and Types_1.png new file mode 100644 index 0000000000000000000000000000000000000000..cbb5a1df9a7a8a57684769329eddd9d04777b80b GIT binary patch literal 3470 zcmb`K={M8?7sqEaV;M{$LzbViHk2h>mpT%D!gO@V4pB#KE^mfDaSW^~OhK*xlf)~XsI6G7B`O9>KyYW@k6Y;N* ze0e}cvVN%d`DU~nW;y{flUV}^m`<>!naebFavln<3(02klM6qql`$9$&%8&$hu+Wo z4-I-5=;)M9?ylEfj;8=C>=ifi`rLstVQiGFtSm7sOzh`m(}|kUt)DI9^&uU>vmeBp zmo}HiDn<+p-!ezLg5)nX!0k-zrp5+r*prC@*QCPeIAw`5WS|)UP|;4cS6kkvX}I|L znfc}B=2FKV9M&NF0+Q0Ghb=Ami7yBPxPWFl0PMY$P`(L7X~ChcfxMae{L;#kL>wB9 z{VPN~aC=|dW)Etby5P{TzYb}>hsv(I(E$XjbK_}TIKNCgC0uOF&v-7 zZ?w;N#Aga}=X^$NP3cujtXspL9af@1lnzBWPUZ5)9~(Qs_A0Adnhb@t*UWM*COcsk z$3AiI2G_PuLB*BXBgu4MEcDK=HP(sj+F3O)VgJ<~r9x3Uf7)r{+Y<<);cLm7rZN7p zN!BfXQfR$!&3=w>&GE&kq*_Xr2VUc3Q|hgJjqBwe5yE~qb9p8*KXW+!m;tItpr^B2 z%|Gfg%7gHdiz8oEJg5n=f%JF$Z7?;|T+|EjNJGWJnuY*@nh&SBl(1N^(se`@%M;qa zPQm(Z8)M)6`KJ42FPHFTy^ZjN?ZfZK#%sLUGSMiG)Iux}dRkr!*AtiSUn>8xZDGIf zj3}m*LTi+;KX_=IUROCy8s96lSRO~zN&OL+e|{AwOVs=m6Q#h5=UXZRIldFtB0Uw& z*tdaJE;R6Y8OTT6bHe&%gg_#y78Un`hlI-`jS1;bh;P2~E;MBx%vy}ty6%-4+8XU@ zfhbNN=fha}mxtLN_PazG6h@Vc&uO0H)xeD`>vRkeQ^fqhv!U3M#;5#T^mI|Oe#yZ$ zx*^?p#%%L&Y031(A?l*@B%c#O?)luUeN*^U)8+W)5?_8M_RlMLXygXMNy+ayIs0I6 z<8}D&{UIC8aQ3xw)geC2mFkvN&oSbNnuGn$dVm)ptX&etX-iw>{GIi>*i<6f zthCS$7kek5pu4SHMXPc&RZ`+moA)JXrJMPoQ*TCj4-;6iYtVCOjCph8xyYDmQNa}7 zMSHU2cj;6P26Oc`27>CnO!9KrYj6wnbsQAU0>EuFy5~?~&G%6&#m?aOY1+Vi1xJp| zw`oVE+Lf@fA>JNkOK*Y;@1rm9=w=+vOD-5y6i0CyieTuockxM#Z1Z>F1rKa6U7I!z zkL-#=3wb_lNCDqm?H&AQg^tvw48c=5GFyLj2&A7OgKhIi&z7#9o7I2__B!c-r`3A9 zIv;zQ=+i@j@MWJieAnH$D@9?TPxhCirK;(?cdke7idG{>3V#Z9btq3?FsXjV4U#gt zv=!th1A5bzYNH|Z?yh=6M?ZFWs;!vcR!rEZVrSbze%)C>A0eBiT1Fo3!6;wQ31C9R zoNwB;l1Lp6I3rS9AI#W+0}Lu#d(&dKZ;=@U>Jd)^ufSvHYd3vRiPsXC7|(IZA=Ugn z!}Ozx>!TNHbbi)v^L?i1)I_iQCL<(|0GcwF)ESqg(-?f01i9wr(tbluPwGO)eq=@q zRgJl<^tuf%x=(PabjYAcP5UM1UDn3}*w$|~vOy~_i=g6ney8o{m29eP(CJhw@6D}>L0RwBwKxUmZxPLocbwdN5-=;NU>{xb$RlF2mK3e^JL;T2sQ1pz^oZ}m z)6z|u-C0~WpIBR_)>~?QemTe_@S+xepQ1@LzX81({id+okXiI*Z&aB6i+iAwO-p$? zpa_$UnX-(&N1A4GtPqj-<~wejceE4O8D;LYmKx2rxLSNf)R4H<&o5;XEYo)=9!{%# zZpgRS1f72H1?_0{YMaa*3oT%3qFA59n=r_2dPQ3eg`|`?J*Rdtc}4PLI)M>=D97WA z0MmXV_vmD8h}kkOG)tG^7mCq*>QJ0Kxe7}U;&5LB;$ zXU2)Ea>%GCq;RCp>!q!2NKAwo{uj(Z+zOeMnmLz5>~fR4-OhWchIqONCOGbf3;+{iW+(gwPrtr}wJ03p_mJd<%IU?t# z13@0vttU)+ip>WFJ3PQ#JLq3cg1YiEp54cQ+I^@Sy9ur*Y@XLn`lDpN)y+R1lo#f4 z8UJ?=jCu(J2suRCd)FN2tF)lC%lqW47gG5Vy`H8yn;@t_^&K|?7Amj?GVs^^zf_Gd z_s%$xW+zQaX5@1#)*-t|RY3hloXJ#kAkv8U;lrXeG#!qlpzTHIoFL=;0lJc4wtbhL zY+_u=`Vk|f5saFr${~N~zAMJvDu~}mH8r-lT!V*|cX%!qBAsf6hld7#T;N<(8n|#9 znRn9g_M@3s3N*jkmJ>)?4lr;*9U=hFr^sW*#tW#K)>Ik+w{|U3?G>^AT1+TU3V1^l9 z`^oKSv`KdoM6l9((&Y)b;*UzC94&Dc@M$%^%lPW~NfjJ4pP$84>`Z@W+0Vlvmzo&l z)9sp4$!Vlr^fi;3-{4yILK#Uz&_QxJYD>+s)*|vWw-UQgCu{7LE!<=jJwO!~I}4o% zc8ZYq5u9|B9!IJmkY=oJVk7m^4ks`%0T*{Y25q6ovINF;2A(M;Lfe5|0h9V# zQ`|B6qS36#nuHF9(#d+YFJoEMi>KOQJwa4IQyFDVF{mM4qs?P0cz0CU1o`i1?ZKAXQQ3uOwzY#zf2q${D-{OPTYcD6m}mXdTd9ROYKNpH+2sv5gnE%E+9O%# zt<62SP}P2_9_K@EztG%x5zI4F5qWyra7jwC8o{sjuuXyfll9`*ip7L=Y4M9g**ycr zm_?Mn$wftoZrX(@7Y;5- zp{$R$1Q7fs*TBdsGMVzUPN|Ft8VqdA7R)08{TNXpK+ z^cc8kKwGJ=9$Sg4!oPEYauC_i;zdw!X-oXP$V7Lgxvo!UF?ZcF(uvDM^-XA$Z8t8_ z9fzjxK%}o0jV^?9(ncE<>`*%&k&(%T-@UyD`Q+`Is?3_V8w$Rve`1Al(e@InTQ`6q zZK;C2(c5LZ9oT3-Eq(4M1stgQeS(k9`?A@g8vjS^rI$l=x0cbX$lp?Aofjo~ zJ<9rcg;^4$9htm4bYIzngZN~RfUNe`UgqVt8ab(PmD)8z^Zp_@8#YK6>;vuIfZrOm zJqlc5Sk2^zn{(@7daI>63r;yYq*|Vz4pqtDG_SpG1Jzrd=vwYD(?FXo6^f#Y70D?9 zgXdbmW0pUZ+x~AhtfCiuZ@HDt%Wp{RgsS+|v3BZYas3Jp_6WT`tv8L)%V}H^utBo2*HD6RP$x+3e_vc=Q1D42TyZ1cY3UJ<&0!7(0 z9?702$H@|f+v#B6lxJ-C9?W)fy!%4eZ_U&zHGJ3DjWT22Wi+4SWido{^ z@OPCY@oD5C!cPpSo*?+w&BHnvZ6V&&mDl;)NcoOb+50NdWICQvr0^D1;TC*mp#w7` z@LkVR)rBk^AhcXGhLm)?wNe&9wZ3>Es7&OMA+265#i!>tDNJ_-?V|32Epz)Z$Lr zN+arimNMgJH*+pj$tbkSyY6Sf{S zSMWKvXBQ@=+)q3SEe9iygBjox6Sm&YO)NQUU%M|h&Gdi8X9Y6QZW9~qkdm$8KwM$> zEQxq0%lG7{z+1>e`TO&`I3!8*#l-dF^@71)xu`d^$h{u#oo@cYwqKmeRJXyIA!P#+ zJHs0KzdmrvUcViLzo+m9*JlT@nQ?nB*SeVRb~1D%(Y?Y4QWx;GHHxBHEoPASh~%&VNuEYg?({;x%S@F34qCd$ruyuPV_JoxYH29-JN%t&($yC5hcrH6 zQ9W?6X|>=~d=#L&g3AXQ+jwXExG$L9ogwxtx=v4Wl%Q|(E`xtItWFd~1-1&hG25_1 z+q9d3x<7jGNy)Dv%?}5m%*?nTd3!Q@wlnE`d5ds1$40nlVI!Ozn9UK=Qc)kE`LTh{ zHwspiUcB08uj1Qle~rx67|9Vuke*+or4Jt2S;Xs&LEG>YpE2J*WA&9KKWQlY(sEqj zW&O|gIL`N0uBb$@CrOo#bS#q-`ncT&^ABL$B}-G_mf}-S%Zf#x^KzR&i%Z4VD^)-G zo4qq`Zq}zf$akwR2dx+4{ch-_k&e~sVxCWc3xbyenjdJ@4gQ&#t6neCsx7TrPnPa` zenUmS(aPVHyo^ozxD2mB&5pdIvR8b5rn5TJ3LW zonF@tU~nWpMO*XWezDvy=s?&eP?@J!CFUVyc@IcKi;xLS8_ z4}FViu?OO|qj z;LWJe4qqvyEA_jJV`np2O*fLFE#rC1)d+lrK#i9zEQ?y@X{~PKW)ahw>w`HPb_G)I zFJUyi_!o2~l(k3Kg{phYcRI5lm)ue+c}vE4cZ%(R%WqM#XXfX=!-%8b#nck7N{8LL z?Ii)_bUfLBhwc$2kRHdI z2Mw;)WymHbzn5OBe2dzO-i}iKCWewuEnJ_K|9qqSX%S*`L;BM6>&Lu5AE%?GgrRW* z9M9jwHrUNklAJPU+GA2O$J2hJzVM2YuWoY1_s6`m8^x&%D(2sW>vn!1cOUtAK9|u& zq)CJP%yTp{_yo_mX0E{a%Ncj~$CGCcmI+M_yD(aUP~l{B5-3tL#JDz1cA0b-hV*yqj&|aLvyg1YdXGL_k;I>THH`RPSbCy zVcOovH)jsy_+WP*8I+O`(3-2l`CusOw&shb^3~WMf_{#xnB!p%Nge7)coEX1s&>T* zRn~ki>Q%et@=x0-VhHgGTS)5o=ii=F-J^(S)P9t9RYkNFU!fRXg4|5?J)#5Ix)6ox z6Z}b^GnG&enGWG0b7rF>6}1P^$A%f5PCy|KiT2ja`^&oy6p~GpGLGpsp)BD_USd?z zD}O?w@ROfJGgAR3FV$R6d_|0kqaK>6z8(fAi4Sz4stJO(#0jfkqKzPeAQTJ|p z*d-1zn#U2Nw8a&meT+=gWbd)kSTFJ&PRu(8+m~W3_~nqu8;4&yiA&@}EeR=<30W@a z^GV02NgSy2;Sw+(r7+86q>#!5Vy4)COPtx+#77V?= zTytrmWJUnZu0F{sa)*lS)gX1D@NJ0k)*;yQj*>FV#3UPO*s7nS2=VLdQ9TjiAw z*=1IBLMkd6mHgPLr6FDAfx-ab>KCD*2B0#wr>iH_PCq5TbkoeYx#zaPk)#-z#_7yf zb$OQxaKCNZO&gg<(d4YOmNMjPPEq!WzfVOa$!ShJ@1UPu93h-yfllxl4`vdl8>)1Z z#tF|&?faD=BeA+Mr_QVb=*mI3xGv4wtLcaP^1S>`H80UYryZw9wYhr+4!IUC^DR=6 zfa-ZVjWld5H4~+z#{dHpo8>=l-48X6ooMd0mp|>vqfd--wI-{0)2v9%)u0EMc}k{deN70(K+gtsK-Xt=V6V+dJ{HyhVBW44LG(><2mR7?b_t_niGs$39WCb(L#{$SBufkNkc`Y>ZM)wai=T` z=6aqf*}HelRosl9NG9AOjS1U)VAjhdh|mb5`6A5mMWCiKCfaiH$ACsyr2T8SuD;S< zobG65CW`=cR>Hw*x{E$uByHlcAeZz^{clZOO3f!Jq@y&HOAv=#{GK>8IBmQ$Odrrb zCN-*$cb1D92mj#Ya6McCx)uA5|539wIxB&B#>#ilNgljrE*X-nsIXke)G6t;IdrNW7>o9^bWC&S zT7HQ43Ke}Gr00(672zI~3u%@Yt3oxJaWN(;PUTnJCJdRt(MxdLsb(9)L!r)iVkX%r31aXj(F{mXtdTUHXR_AuY#`4lQk)-Q@WipL`5(q!lkdQ*%@9%V<=*yFe7bQ; zgm84|W}QM{Li;OCY}d4ZPb7^iB}TeWOT2azn~M9?$Eq4~P~UemLYSj+v#vhUvdV-d zUc>^{`yQ{}`kZW%MWVonnKxGIO_WYCMgyhfQ54*1s{T$1zCG%<`IhIxjV%{nK60z? z5f2F_a%+O0f|$6@uvO^4@WQxKKi2W&gZ`c{);S*MQHW3L8Ng?{Q2%!>JovLD$<_T# zNQ=M%<#QJ->)pt;$$}Tts$?AfrCjz-A>?dzvY@Q^*NYX05z*(K#)eI!TW`z)9xdX# zg<<*K=)|-sH24<=r|o(2(exd90`NTHP*?*}QtdD_RfBt>jgD6|`;<=Vnu1>Kt9)=M zJXCApfuccxPlnNu1^(Ldc&xzouHmu~>QUTE2umY!ssH%oMxtJha zm9eLeO)bjY>b2Fyu*TVw&a0(w)1NkiB+-%zR_C^s`N&kz0`MB3X6Pj<1JAc`O3hu< za1=-ocj&Eap1%5MFqk<%1_02hRtebX&AV62%7vysI~@_{*AS`Qiu5Ri^#!6!Ip86O z!ZsxE7ufy3P>Q+?xvl=0tK62yIiV>!3YJ7*j^f!&J`(062iSby-(~J)lLAao8E=k^u0Sah!*=2{@rKWLVSx(Scb$x^iRFzkIkX^b#N@d19< zh$1v;*)=B}9X1-lvhxPfwN*vc?!-5TZ>jmIDo=LYl$2qgul^OdRWoUfE1TB0s5c~lTwABG^8L+fI7dQX7FF|nI+dn_)A^L?Vi=k*dtiEK9Pot8G)1*!Zl&EY16_?kZiJ>Nv0B{uFXPwVhSe0{6Z{Dkpr z6NtPCDpzt#V2DYZz{(YAK3IF?IITAciJp4emV!Z)l=czo8^0zunC`?21XI5?^5up> z5*^$E57J-diHzDyh?w|od52?v1a<#K&v=pS0FPB14Ku<{ea|xBj9S~n(08Xttj~KX z&I%R~({vAHe7|5p>QI;nAfx-|y8cF>MYoE?SfMP=u?ByRKWP@IWpFrFptpOZ`@cE# zbZS6yxEYMNB{Ughj9Y2H2g;KxB?E}*W~`tLn<&vbsCjTZX6tGh+1dyKi8Q+>OyTo= z-EG0(&GgT_+ggv^y>Ny3wXaJn@ZYRs9ea;@^ei@@doxjp8uhO`ZT+a;Yo^!pSnoG0wpAqdSq^z&EnD~DH z1RXz5ECIX0_z_iNj?c`(bQwG+HYSuEw=>iBR;6QmlOl^a*qMPGx2C{v4%=k4hNkHUO+EpT-r?na3%jS4-K@4y$0qt3LA!_0w?~^&YES`a}bD5;!ZSOrJ=XHy>1IFMM){ zVnr;eokbjD{a7R@{^L``+MGcbhag3BG*h71O9f(vIBM0 z|1)y>FSBYtigH&>3|*!|$^@ zub1@jb*kA)oRuD6G(EY?hq%Q5yg{vq1VY)q)OrN<)F4BEeeftsYL@*@g9xHF^(Gma z{ACH8LoSre^WNKE`UxFQpIP?^sP6i$-_`pjST$R!Dfp07I99wyRtfkc>NA%J_njWC zNKIH_*S(ZTdM~=2;GV?yG#lRt8RhHg0m$bdr3^zKqMs!cbeAnjXL0;q32C2mXMJ4p zQFu%P=MF&d02w}}XO|neztv5&e=d2AMsAi_<62r@GViEV3}SsHQJ9`}Ewz|@TwgK2 z_aW=#KI^(nJ8~(snGp~t-9Ew%9UJ~>6#g$XMJs<;Cev)*eMWKgzYM8I07!(JgvpKK ztN@(^;3#;kpegCa8yuuf@8Xz(xA^`q^@A{(mw3-_hd9gF(exP)rT`q|nog%?%5q;I zX{LZVby{DGN?hO+8nU%f9bEykK!5g$!*Wj@FHRK%7dG+1Uns*W65@eQF0k;$;h&0T z7LxXZ$Z5!&1t}z&6j)AMblI06ABuZn7SS<%mN?m&=r$S`a2;>mk6b#I(TYI!?kiJx znTQ`TRVJ*`)hJtw#u8^6Te%)Gq&+L~uv}5G^*%5v>F0)iec-abD9#uKdjBnRGbKl6 z?VZtXI;^$`j5|%nH|!s-sd)s6!?uE!c)=-XE#DoxoIOK?%5kJm8_!z8BDA*oaV{L! z|JLmi-pwu{=_jJ`a@*VUh~%7l?&NT`eGxnw+m%BUPQP>t(}z z1bvnr{jLAcgQDE#Mo*Y3V?}DC^&rr9Ge#*&TEhW~OCzRk%Ce`+W4c>e>;I!dN$0Tv zmT;WmL4Vl_uQX+>#aQe|h2U@F_i zXnWq%GeRRROyi0&mM6}`8n&UW5d)m{o6;zcXL!NLo|yhP_oop0Rx9`Z^ubp#suOrw z@gfo0fAUTbT(vJG;NoQae_`Zs#JXm-$n+2zsb{XvOp5jd)hYeW>}c*T9Sy&J(SC66Y>ErHyR=cf64E?_I~=YG|X{{LMn5sivn| J{>=9Me*tn(L(2dF literal 0 HcmV?d00001 diff --git a/imgs/4 Loops_2.png b/imgs/4 Loops_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8a79d4631da605386fa987eb8efad70ac7a88456 GIT binary patch literal 19347 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 F|1WWM!}S0F literal 0 HcmV?d00001 diff --git a/imgs/4 Loops_3.png b/imgs/4 Loops_3.png new file mode 100644 index 0000000000000000000000000000000000000000..dd6dcaab844bc3f79f990332e7a41203e3663b19 GIT binary patch literal 20699 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

  1. fyqd-|Braj-Ryo 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 literal 0 HcmV?d00001 diff --git a/imgs/5 Arrays and Lists_1.png b/imgs/5 Arrays and Lists_1.png new file mode 100644 index 0000000000000000000000000000000000000000..53a6f0bb8355fda3498335bb6ae5f45b3a85d859 GIT binary patch literal 25930 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 literal 0 HcmV?d00001 diff --git a/imgs/5 Arrays and Lists_2.png b/imgs/5 Arrays and Lists_2.png new file mode 100644 index 0000000000000000000000000000000000000000..46e8df9827473709be8a9e6d2ad57b601c5887a9 GIT binary patch literal 30728 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 MPumz$rRfm$KR|MqYybcN literal 0 HcmV?d00001 diff --git a/imgs/5 Arrays and Lists_5.png b/imgs/5 Arrays and Lists_5.png new file mode 100644 index 0000000000000000000000000000000000000000..4ec29cbbc6473e81f2020bd453310af7d0a19e10 GIT binary patch literal 17479 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℞yd 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 literal 0 HcmV?d00001 diff --git a/imgs/6 Methods_1.png b/imgs/6 Methods_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f9d70ff047bbe85dcc2a7b706ae52596cf507ddd GIT binary patch literal 22775 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 HaEtvnn#bb4 literal 0 HcmV?d00001 diff --git a/imgs/6 Methods_2.png b/imgs/6 Methods_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a56bce6d56d51db240d5d40d2e55550486036488 GIT binary patch literal 20147 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 SPQEN7DGc?@bZhRr#Q#5WD5hEf literal 0 HcmV?d00001 diff --git a/imgs/6 Methods_4.png b/imgs/6 Methods_4.png new file mode 100644 index 0000000000000000000000000000000000000000..8c7ec503752cebb4a15ff39feeb10345122c21e9 GIT binary patch literal 6639 zcmYM3dpOhm|Hn5r=RF2j>T6I!=5(EHJb;{;lR@-f^c-62#Nktu{L2 zg?E?f)+`wp`!q)CJUuyr9+MWMj82L{kvC~hC2>(VzX{1mA(5wRMNx()?^z;&v>>e% z%Gy9GQU=FJcFMu3^(}@h4-nm8S19GSe*y&iIy*bJ{W~L3R}`k_!bC-umkCgTx@5Z( z_9nDdUt|k*tx_wp4Gc}Z*`?E z;1Q>fC+c6b+2-|FNNgk@p*5si;DWs!n15Q|6VVOm6}T1Se6+Tp(V^P++acJVRU2jP zbh6+xKzvBH|JTp1;N{RS{3a#2)h<{X&!rp1&mH0Hd=OP(lX(fr!> zHdhHk1v&0NOL(nE;G2(u$*6xEu_CPnpi&>Oka`p{QyXY8YdZ<;qd=_?Fd%@tYuNs> zT@ucQiJUuVQ9biIP!Fn`7*h`Mpkv1yI2X^Cdq$g9Wlb->1~ye-_JMW9c&8}R zD$AH_pHpj6h}>v9eIs%@t1-z$@m0)M&Obd2kM(qDztQHyvxb7j&F$@C6_k`Xo zNKPqBDB|gTM)H1vxJpH=k|0}J)&O&nxgx_G$Pr(55N&=UnN zk@P|mE9Cr7FCs^mW6z_w`W|ivOoA=VySw?xmK(plTUFndl(;M>tqm)9%OnXw{5Wxn z)7uvmYibcNIV3;;?$DtL1dP%n(#^m3+yU&^EN&lw#?aq;k~)K`BTacTHJ89a&SVfA zyd+A40-q<$@n*kVfTI;$V3#&fuWnL^9>+FXyo)|1}P1qhD%e8vM_CfD|Tk zeUMn>`(;ySCW4uk>LXgYk?7k88o5M_l5VLC^|F)C7Y3IPh=$|ekxliZ?W)zeDx9Th z-F9fCTuKb2Mpgbf7Pe}wTfGzX(>RsR(`S&c)9dOl!S?_?r^n(_Xrl>@Nl^Q9?Akse30U@!XRb;v(E4#8!nerY8YMV4!>#J*r+&qb4<}= zUvh6hf=9XY2?w(tgz&YUp#g*Ca>YN{dpv)nY4vV%yCobd*R?;;owdkJcE|0*%tV9p zuE+Bz6HG&RxO{2YxTLHD2gGAf+IFyj&+wJ#9eDLHTr#OD_o5O$jG0MROx-|Y^a{ar zpn6%(@tcj{l*tR*<#AJBu;wpLcFZRDh^U$R{I;2BW_@-zG(SI98yC0q(x3W8b3B{r zaxAY6%+X(C>5+V28S=Jj$~?yB8)i4ux!he7m(Z4evnt?Ic+dAr6P-4JOSgI-xmfVN ze0mL~SH^x_N3h9e`J*F0r}yioycVN#251$6xnqLrKQGr?(koxk&Mv~ai(RmSv5rl0 zQ9vSu%~pzfOIdMrJr*H(3%p>%k!E?5q6SY7hI*&gzQ}hco@K{{1lNL%s(4eWB-oKM zYLUKvdiN4tSG#H;d9&G%Y0K~@&$rmZaA=U>42_(9kJe#SlN(~q2&RG{Y1QKoH5GA zdnhnAM$6~b(1-WYDz5{-Dp`DFUaVGdvyk=t-Yl(Nr%XrzcI?Ko?7Z|cC(-RGI7z(G z89%THA*i(fd4SEkk=17XU5@mc;j>dZyocBcaZY{FXE3&VZgBMLJV;B=d@PW>Mm)vy ziTxeaMc)-6QI9LsAuTj9zaYgKsX_O@@T(N+wrbess@@8{bA;N#HgD@(urHZx;3&|^ndu{&%pj@eb zb}11__{k=Az9tkas1hv>E+~Rk~{1#agY1ht1HA|^r zd)O@}074NsHT#szaR|NrS7Arf<}9&svVHQDcjbg=JU^=L|aE{ih%tDwd`; zaulZGsqqJn-&@$h-a3^A4Dr`J%n(b(p}cPH5$im{F&fKQcBZ2pgmedlIZlNaH!KMrHNI9d*0H+k7NX58J6 zEF#H7ndvQWmPF9tWLVm5v3X_Y7=50N?jW9_;3b43J)&oSw+A>}^ltgntKLzwWNG>$ zpgus?e*XDoP}9&8VKt|La%ocuLzZR1Kw3t!@#zP)+^tRPRo9;-#Qf6#qAr z67yr(UsgFHl!j^RRg^K=pPhcn%W2goPNYLK#IB2Io%tsr9NHJ5p+eJZ9=FYiWVh=h zydoLuDt;Dd%GYR9{dCDh62r!#%RX(?biP>eYrCo;4;wnk9v&-FSJURBvHo6!kF)vZ z_n%=I*O*-E!phuToY|)LYJ#z~2E~}A?tKZ}8QE*1RBd5LS^l@#SFXz!Rj0CL$ZqYAykaEu^}+&ftTY zX@Z|>VWrVuS)6*8yTaWzJY1tq%&GpZGxz(uNbbqZ{{%GJc)ii6H0l~1Hg$db_5!nf zWTW4RZ?!cxZz}RJ*Q4c{wy6*&iaiaPuc#yW+korL=xCc|;8$m$#_79BBc4LGJoSaVUF}fB?HFpX% zsfXcp^ye(;Iu3s}BL^kKHj0}c1+nxB==Z+%go^H`GOh$&NWWQZEF?XcRaiixL-cSP zVry}vg}e>-7a|Hw(Nw`4EJ2x`QNXWg7JvbYq}5xZkkpB9Q(E&66b3C1JrGe(R^FxE z97Cslu&-E$;MTwiOcMZcfEa+@XSL19D(cf5M2FeSe4ZBlI-sa&&VM`$EoI$$X7Kdn zt9QV^`-3alW$Qw?dxbwedO0bVwxYM)um(T9aFCPgE^s{ASi=SrIw=&m72if@X3~^c z^J_`D-~w)gcjPXSqxXg|yo!)cGUS=$?B?IxT!%Y8miy|6mDJQ!6DzElYZ$(~h5K-&R`m%7-`X0= z6W_~Y6YEtMSC+rhTXF9dolguR8Nj3qU_9J8OY^PBBctYvUS};;}J62#s;17}CPZ zo`pkW71^%A?qlchEW_oulW9J>038B)$WXS40*6k>(&e%mbtM9$^L3KZ}g5x!-#q zznrR~d%e5@v}-!UcO?MF0;5{$otQ?f6hpJ+N{zfheL zTHeWq(J`dXHc7=Rus4X7lK-z8D+s8D&bJRLXMOLUcqOkbgPMG*_1S$LEmjq3J~yjjU*As^v2=>k)xQa`?K1c|omS zp^-GR9r%+@$J82n^~yF#Bec0`8J^v)`aaf?jtww$m8Y^pX$BKfXbJWNtj35i#nF_W z=yvbcmHUEAf3!PzXiPO)1QwyCqNW5d4+YVqUL+3qeq4-L^SM#1=w+=mA36jN)W&f( zE@smhfS#pF_hrPTAww4vDu820@+uX`V&g5V)Er2;E$yG*-**c(Uo0j-;y|Y-7JJ$* z=7R7cfSt(2t#HR7E(Gk}xtT~&+O|ts#+GBn_7Q) zRGXgYcQJ?5w=f=ao`-p6POGFy*^9UQkKfunn+*@oj|S1Z5zCb|V3@z>=Yy`usEgu`V1%l$bNdoMuVR!WeZ=l6r3!*EW=2aLdh$Pk+JgoE}KUfH#1 z?O@gOC~iP2xIKFf74sf=Bd{t#w^JH$;&@t`bp@`ID{W#9Mis?=$UM0&jthVG*#Q|< zSHnT1maNmSJR>!Gq1@UQrGEk7gi}5naUpKn`M(I6wqZeMxae^FM+Yb0vXa7H%vz)W zRxRprz0SSjLgs6J+2{96UnRBoGqzq9wvp=uL=9mQrPT#W8l+v1t7O`kWIFF|IaE>K z@WYo;f+LNp3YvjOVQ9&hM!)fgRJkY-z9z&8N8|Y26R&$!a}d$FsK%xrtmbW?$O_^GsB zWY>1iI1JbYyz1G;`N-tq<@*&Tfy$SS4Eg)!_TJh-xBc!A@8fqZoA%zt59-6kF*j25 zkx#z(>t){5C6`kP-lF%@qA-wRZ(dzfwv|IFRRS~YVn0|swxq`{^Kq zEMMAHL8vPszE1#5RfRFjO@TSu4g_SSi1mz|Gd3^Qy!!b=Y#y#(BcWD@l{n@18PFqs zu$w&G=s_?Kg_bC}D{nSNuLrA2C`c^RT-m%U}TM46ESN zkz9xGTaj&K<|UMgqPp8wFGH`zr_tbI^ZnL{a2iQ9QQ`zU@Z|C?)}VJoBWdtIRz9hD zn`A8VhvqseUqA>+%gb4FufxVf7aH^VXxac^xwVEaK%QpUhzOt~UB#*K68d%ftD(Ud zClN$ZwNvYFTm&CHw0%LvWjFE}K&O}}{;yQI-KhQ1^uNBm+EteMZZt$?dAw zauf-!nqRqlRd%i{9;j2L(%z8#W9&eX6CU_fHxf*|WG+)>K(hxM+|Sd6{y#4>IK46$ z3k6C^aNxuL8E9P#<|dMjhOyb}(m4uGUrDC>C5{T@s-JDwWVZ5=gtjhLXZw*4DnoNt zA)>fZLVsZg%pI~TX_6NXUA_6CV81jSBZ`L8ehPEx5(iCt1W4DW#Hpaidr^Ktj8U-Ql6GFGC+TG>%x%hMamq@Gy2BTUSCU{?<^8huRCDncXsx35Dq zc(e}e)%X-r-nwS3`(INj+(|TXp_mPei7VZ^j`#>!v$A<3?DXcpI9l0jy4|%N2)_G< zUG0G<_XOrWd+^P0g*n^QnXHQobK8}az1@jjj|g^ey=r+MEL3} zWB#>Hk}4&6Y7iTGyp-4N8Ex=NAjYRcU)t@_onbk(STWyC@+Ls_v}Fh>UqL=c+k6S0 z=o(>ay_G!b=+pU{OC>v&rF>quEL(W1swK24so$??BD)&zH*@lG3&ra=49`?@G7dZL zfb!9<%qWbyp)+E=d8OP*>a~(Mbt}9hBr3^;I^on1ke?d%k4SCX_ICJh#y#wW=OiU{ z1pjCIGynAO4-iND0DrqxRO7c5y!g}80r8mjkx)v6AvTZCwnfiEo0M8>Aj(bD7%)a}LC#H{ZeD&E zsjj97>TXxvm6)Wa#6Lip3hQO82c%?EJluZj^k65emfEW#&f~oLOMR^pycr(kP>-hO z{5;6?jSIpp&_wZUvwMSBgb%EYd|=P4zBgi6s{4tuyA=u{z6M@`i&oJ4KnN+ajJJnJ z%JpvrfX`(v$L`4OV)HXdeM8y;p#yv_QRS#Kx|a&ib4h*v%n@Vs-DQ@;MR(av_*3i4 z*s}{>aK~S?8(|Td-A?OyBllgSu}!YJ^L}lywzUnzTXr!f=GNW$Jar9+6&vqGKWKk{ zyK1&O-BpI$RSGyS_NN+sT)9*(t!T%iXc}m7?;MrvS5cn9PzJJF`EF3D>IT0TS0$;| zmb&l(7dhrW3~_o{0FT!8!nEGB8%n0!reG@9rl>1X1&0gaW($J!(H=38m7SiU8*USaA zxocZBr5h9U2rqkFTzh@MR1_{LG`Q!S#N9v9t+Ef%mXYYdO6oydB>!C+ZP;#^nwMrr zKIM(_OrsA^?eDi^2|-U1Wmrt3|7C>bG>H+5g1?E&g=`Ut+785$`FzWtj4cn32jR^^Y8Y N@l7*>Dt+hJ{{y|VK~4Yw literal 0 HcmV?d00001 diff --git a/imgs/7 Classes and Objects_1.png b/imgs/7 Classes and Objects_1.png new file mode 100644 index 0000000000000000000000000000000000000000..0e03c1161ae4c29f2cf8a06c5264f4595e73c11e GIT binary patch literal 12731 zcmZ{L2{@GR*S}J<*oK56jIAs&MD`_P%T|PuEn_Qdku^&yjL5#PDJcxHjV((W`yl%= z80%Pv%08C)&!F%7`@Qe?e_apPT+clB{ha&U=RW6iKIcs6Jsmab3s)|Xk&#hrsDt&$ z$WB9vpQq1J5dY)6^O?xVILI`>N)NnF;nE3x+$zbF+rqi}cH`*-%!U>sP`1FcEE{t5 z1$2^>$Xd^d;EOGZCY~HLG{#CE^RudSbaUZDZ099TpX-*h*}8W}a(sX*EuId*_h{_g zUO-#eQX$`Z8yto2H5)e`-`t&gw^~udFRr@Ia4{$m)78Q5$oodQz< zX86zjT{Z^;ISi81;KqpjpJ8OcVAwOpf7TZjdI~IfWhcKAXGhaHWx2VHti_70{TQus zef@WR%n5hw4+&XnJr2utA2~la63jgDAG20+-L&}-(BQe0P;szq<&v9>wMQ<*@in|DJKP(414V|&TlRgT75ulS#s zsK>&MZ2KGC)AvWt?}U8cDj>_#zz^KZO)M9Xjx!i=2kk!`P)TH`d9k#X=cKA~4{Bty z48HP7yT_f|xulToQ0`WUrCgrP57&-A2h3mCat)oCUzEf9gNAGiLur4LL=9{c`RWZ| zSX5V6%mVXy|6x+hFUhFf_HawA>$o2V(Z1x{Q-Y52d2;`}3f#fi-~bLA_fHJae`Wt- z##E|&Z0x+UD!BT3*wj4vA{XYU%3k3#G&6_b5Z9ieStq#^*)l zXo~FRdtvt$$e1PRMQ`Yl4b!q;faB#2A{^Di-t-qCy69~*c0;B_7Fh29lHZiU6rX6s zc7MPz8vhA;Fsh#@z_g}fn!mZZwb2DEMobUt1=QYLt4%L#2L0xgCvBaGF@=XR63)8g zYRSVbI`%jOdpbAT{SF|ud()?Q`{5E8xnZ};EjXPWdNw*1$JT1^i}nV33}9*%yy6U`Y(T3cjPS}ZzM{3cZdzC% zc!Q5u3oj;g7ic<#NW7sr*fWQgc+SW!WL6S!sFjXfMl%4`ORW(!_GVW#h0Kb#&Fcqj zL`My4*(SKyPR{ltmR3IK`DBP~iNF1D!A)KqcAOXL2mbhMPe_k3{!@bc658YrQntrF za_C!zo-m-o8si}t$=1L6{yq)t#A?zlAFTszbw@+1?t4JJA_aBsTmx%0t{C>U6=);z zaXjeAb`u9yU@vf)8~nLW4giufWw}u?mSsZ&`LL3cRJCRr4A)H?!-rNsYZyr;r}3kn zAxSqWMl{CK4~&WA08T>j1^-V@d~apB!Hz6dQMe)S9mIh0gC%G-x<@$%4E70wxZ7DL z=iY5nZ$}*TD!s%>SIZ5&2-RQS0xnC$cX+lQTS5bkXp|E20#}Lti(h$Z$k*pL48Jwf zM9szW`6XtBhK_%@=5MRBWXJ##;QvjT)!c4>8N?Qn6nArJb-?O8z`@Tqh+Z?-rNE-S z(g=+hsof=Hl}S}?EU|4}CAf*4_~k$;a$~SoH+f$y7PprTIcpqe2+&t{77fVV8Z|)T z6M3LkbDt>E8JN&p@BK4=3UWb%gni3#*8u`$jue|wn~o;gH+$yxlXz9CFGs!)*v%jp zKeFP62(c&)}alY#|zk)*aZvaelDyzIyB1rB!o}g647S! z2|7}%=W(Ti2_4L5*;^M^sWQvYYZWRQ4Pvr@DhVD3fH#3~AaDF6BZuYR;FHrz1{~yB zZx+pN{^#Cc0~rtz{9dPL;fa`0$%*a!%sg`67byR?`yTj7$O}vYh#duoKr<^cfHLww z;?GIgsPJU*1H;5}l~5e1^*HKXAbB%r)KX*6O9JyBzC_~CT)Nw3}SiM8L$(xt1b@S4Xr1*@%rk- z#AC_NQ9`E4NuVGfBtj36vAnsrY@xFHaz6mO6K{64a*VZjdt!IJ)k8QX)x*rosAjNv>D|$FJF55^!~m8mi~tD z@4TSy!tK%R&d{P&&zO2o*`4wYZOX0SH(zC$$Zu~f$(L@zsK!eQao0nIhInmElg;(A=gqRfynKcWg;T;9~nVE`Atq#RR z(G;-bz@{AMLaEq|smJv1w#O_FZzTiVPV2o*N;oe70xIP?d6jVfc>mqOe!K){Hkc^g zkL+rCAD5}1H&Xxbz#=T{o+-y`e9K_G4}mCqqyt(g=(oN-q>{hr292iM&k&Y`PQS0V zdm`t^YuXeI0qZ=1yr!Q_o8%+in_YpI8HIGC^w6GY8E=VlEz5})>x*DjqCi%l1$=UB zl&*N%WcuSbBiXJpI>@xjosO!_Zk9yx{H5!nF|9jZP^QkjMcf{GbNRAAA4m`Mwd8WY ze(0CZ2R9at%ZgrS2W@VT`gaMoC*XZCzO!m`A64>v(9+0?AA!dBSR)7#01oR={0U9+ z=Wx&;R8QYY;dFzFway4UI2g4S!uy%j#;*vK`5LN!AI555J!SYH?Jmi@op}|0#)FTZ|H{h>rGcI;RVv)n4D48i0DN1 zBj&+;H!bG^!A@#K38E{x4JfmM=S&eoQLHB2NQ4zefaOARscZjNt;&c4Ofx9z`oPWf z8)fKTSNlZj_OH0fmrgU#!wFeBVFSu^xLbuZ#i<5enu zo5EdBqpgJngCUE#GjMJd>W(T-)#UlOm^4?k4)Tgk-sPdjOE;8qh4PnjRSHeJ5-x@r0xG7O4Td5sa^;lYpW)+&n(5#>!XPgsI?6lRHH5h45Ek8| z;(mNK`OJ@hKN&Wjer7NSwlco!M5ilY1cS)t^s0TMXD0%!aT1g)uz?hQhUH2x)Nos^ z^#OTb!ucQM7Yc7K;PYm)cqPp`o|g38=8_19?RHD$+pS+VmXq6beKDZF@_@IgGeAJh+Al=#V(AhdCsP;` z1qWU}_xA172kN|xEWr_Y?{;T-x12M(tV0mI+>F|0XbB)iH;haCGiQfz+-FI#mi%y0 zljM*@o=}K}CedeIqtz+rtGr$&ht#n7(K}LjZLVpl@5$9@hHr7@OL#q<4Fe7J{IA(d zmAT_uxxr<|?$V=d`T&u; zC1SW%(=@x6bUguBmFc@w*S^CO%xh#8P|jwkp?(>#zUBj`#pU8_b24&2>DcPL(eu{_%G_g}Ab`M!Wq!`^)=bKQyk*bJ!NXl}Zs13l&~(<)hoGEtb2AmkXM9!%s~Y9wpTLd) zBLUs&RlN+xn_!ex0FQ^2>^jSDBI+47r)cJcvL+=f_l2F}x!)%B5I-MyWz}(|d>l94 zBc5OGTLcQRme zptnF#-dNNORMfvOJyv~Kl174cW08^+pTCHafP={mXo;BG+QT>*=DAfByjT7n1fMd5 zKb4k5$G|-7PZF>Xgl@3nyu4AnyN%L7E&1 z22_6P?2ShWI=ubgagUMsEzkpxdinKdWAi911YwqvYQlWxdR= z0;6HWcAcg5rl^ZnI?Rt~Pf6G`0FGYSAR!_m3aEKxF73zo1S0zCSg*wYv5&|A!^)X`lItbNjsNxjkKs>*#F@)d~!Solr#J0k4JNo&(IY+bSEWZ`1zK_)C5;J4(&ew zh2-Nlk63|QBX*s_^SZr+Aa88*IJJZfz2C(nwGoZ;JqvRntV+!Y&X)>;_>Y~&I@l3+csq*eckY!g*g&t=GB%~XJ5_sT}K`BchClD5dTk) z4~HmJ6sQDh-E;!j9^IjuWhxdO_9&6})OHom=JvZI13b{FKbr0q3v&o87tUNSE~QN; zMb@)+ye@rfqUeT|ZF?|gndwWO;8Ch=(ibAyL}LxEPYNS`KE95a5h7szlZ=h0J(-k@ z>M`-Le<5m$oRWykI8kZCEh5VOUz`vTF&$TE>JYKr5lEqP591oXbVNQq5QBk06?T*cfgn+n7jv!Lbg`OAD z^!?(A9paBN0&El#*7 z&_;OqkJ)`C&6KPcU2~4XX`18w$yOc^={CCJg>NqzJY}IYw6yv4EuC_=P3g@d*a|T; zYTsZ?N2lneEs@*fhw`D=B4I17%ZZ&rE$erdG>1Q!Thz@-0u$onziBPJrdV6NNIFK$ z5k%r_sBII;h6SWPqd)Ifw2M@mjS^(0Oqrs&g^Yoa{E=cB@u4sh$(8a$7z2$!OPks{ z*Ad#9o=(neCtbZ6>N)z*vTnuJjS%~Z4%>|?C{LHbvOrOYw!&j~_JAr}6&Z0&&VFlq zdp@AX|8(67cCRzmMnaI^M5njJx(ST@;I918BVBuxa)zX!uf`OrT+qHnuf!A1Yd_;E ziszk?c6^yZFZXhM?8*=Kg8kg7djWeoWaHci_FwutMj3Nz;TNXuciitYnfXhuIK`lP~hskqR_V6znHQB&1Xb3>`T z_E}-tL+1(Ik^|w?z14NJ1NwyWI!mIwOh}X$o0tWO@|tTn-tI|a1hQc$4wixd`9Qh9 zmX^a51sSZG8ZRW0O%85mD`oSP;3jM|WU##qcMXhbbCnNdYJ`fe0in_Gi?jGh6yB2zpWaC=tr@*KT*zIz$vQ~X#c0kg-V0(9`8=CE* z=VK4G!eY)DRpM;gW89zbBB;%p)HD;}9~JZuE{|luk`j4J-R~`rTI!LQue-<#;?_5Q zha(JJLbml47JB`+NI|NT=%7}Hi>=`O$_4%tRl6!{L(kKkE>EfXvQncKVgB7|xni zSbJ-043ski@-K2v0OY)S5-jEbmfkF4pXb zP4C;(#I=YXlNBDRr@(NHyMr6)a>gxZRKVB0;CFo0E_tiNhDBXD(M9JI9R)a*iXkdU z^@@)*+-*9;7RVJ57k-B?OF{>|HyiXahx3s)2Kb8IceLETzwjc(ReEw*k~F{tKBMAc zPir0@>m?E>Z>(l4@7K#z^=nNY?(rw@n)xvuCdbYXv??xn2!=;F#jocB^`whxj3Rl! z@XgD`W0(YI=^U4(3qHT zcnIHT%QZueMWv!F^6EVpizjSChauj%YiBy2oeQ9_XCY<+e7@#s9gypQFzq_p#0sbA z>i!wyiL*;hw-~JC1vZD*S_^*+%GrF3I}{CH~@-3_zJ1t2ucb-IxOAm64ZZv9+3 zkq77C6kGNqF+~JzU8)x-J3_88vjs)};z1>Ffqov)$LA-7^R%PdSkTy(Akz7HR7RY# zLF%Do0dtSq#tB}D5EZ!sn8`--kT;7yJ$>S)Ylwjc@iDkoGphG8P4%%)sX2mk(W}8n z7>KClzhsyFR#{lSA;}RFuZ6CE2Ypo!7yQc=;V{NylvGH1tBmU`>_&h~$v%4EQQu7( z?th|6N?;Fc___baRWk9H-$IT+?#sX%L?;8fr9nae7p0w)RCGrUpU4>1pA7y=gjpw) z95WZWXF#{<&dBY~kQT`8rCFTVTJ@awI^NONHo6{DyA>|=`0Y@QGpM`%nuX_9%@9hA z@*El;gzLki=P@FfDj{7spg4!^&Dyuuoj#ty1nZlGB^9?nE5yG5)|8LPI?oltB!5H!uPQhR{<#$VEPzr>t8e56ILhto4Z7jJI+TWm=}UOLcBo0vo-psQ~CnC0nO^ zev_7N)45^1n6?sW%OZ|@I>6vdp-%FW8wEA7IaAhy@lv-;0=70=P%d^C7n5suqpH@( zi?_@z>khlSJDa}5eKevaSd&$SJK6mnu{ikA=V4Mh5{v!yanWW7A)MIqaXCX&;b3S9 z`L#HFcmUhG7ht2~Kf~Vn=|%Er?e=YKipv8gD?8zo#xP1dppdz zYvR91QQU2wI4t&Fu}U4MB!)h<$ZO(zdwc8k*q2TciZewWc%6jt(L;dS2onY(6&nOA zXfL06vb+A&u1a8PzCJlG5Z(#qgu2tnz?y$f-+Jyn z9x<1H?KQ&pV1_n@DL^0h!o{~`Y%mKG@^<+#*zpU6b`h)R>1)ysJwgdTV37Nj9wN7@ z#!hv%t?Y#G)`mmwl=y;18=g*`3+7!roCvbd=;=n?R`|wBIlg65zj7Z2$$InDB!ssO zCd5 zvfbCI;? z#8$oNBqU!n5|O>}Bc{lIA}tr|j6=Z8>@x6+^*43M>ixful}>p-gbmy8tskk4wa;gx z=*kD*y_U%2$bth_b7rt3xso&b{8&^>>KEzEd4}58Khs%pqU$nqz~%ONU4P8V!L!py zhfGjr+}yXJ{$C07!Y;ePxXgoGDSz+EgB(|AN62yrfp5CEf6HdCu3G9tpQ#`tCKBV} z2keOc@&esSo3|1bRL25WrRb&!;DRv}r=rLKJuzz?=kb61x0dER)vWw@dvma{@v(b$ zxm9)usJEu-9n#Wdh!b{4*0Eiq7+sWIVc1uf?JNh>=ZuGN z&*emUlg-3ERD$OgT*`SUG`_;F(0?Zrh^Afczn7^g@8XR2sQk8%`D$KZ&M$z-3f+T2 z3K*bK@I^7dJG!jlOY5KL`EdRCx%vAnPv|+_Cv)2rTQDlEvy(Z9ojye+g8BA9kEV|M5t!TK3W(zMCoxhtNC7uOP zdZ->QXu?#Sv;)rO=Xo0B$X5~(pHFe^c`f@d7eR=6QruPRJzz`P+LQJI+85zKX z)C=G#LxEbTlVM4AF-ZJ$DwxiksI}bmatl&pY2xO+hsf2uY{7|$ z92pU(t1<3IHmhkcmF!$ztNBix?tVcPccat&%1upx%$7w!R6?$uxd>rPIr?C6#|qoc zg)XC?_hVwnyGhSvBCN;sWae|dQ6Y0DQO$0YBvrjM=r;0EE3w zK&xh|SwI$-xuE>9SnABXGVN<0-Qy1Rf5gbK8)fkTZ`?FWmq;v^jqOP2TQAh8$%tXr z^?9CigA+6%|2aVy(Ne+(%mKIM*B{Df#IJ)zzF72mnx}^~Ql)>tQvK~~-6|nSy-B4* zV=%q@5VhYza0SL>^>?UmwOJV2p-l(jP)rB(Y)St{y3PAvvqgq=f}Z>S>(R}qjFqrI zOV{j*L#Nt^L9p1W1@-;=_x)}qpwh^9Blj51%+{K+n)x=P21h^lxxrG`YV%z%Dir-o z*$zjAXlWS`2I}3Njfwfl{A87Uk=E$5but2DP|qV4?AIPE{oLC@O^dag=ZQ?9pL!mVR8t1Z~_r_P*^oM3K=Wgxh0J%6;g(b~@fIbAZ7 z5E`&H;C>dce&(L!SL14ks!mfkgCx^cKC4c5cG79;4l73HbmYfmc^J#MtcKGl@f%;P z^NhiEq!tv7`kR(KkPy6%PU!iRUTz~HBP(?UfJURmKI^2X5DG3URxrG)W_6EoQg|X! z{=|&0qj5M~`w!S`P&57K?G%7M+6iuKdA(z|4>vxRH>U!By51pu*Oc#B3?eT)QQd0T!(=;$5;K);?m3NRpXe!F>N@;VE31SB-W% z5G|9WHp|#hAq+|MXlN#&4XdeS;*zf*9w=u%13a+d>v(!FyVQR;^10s6|Jgc<0vpN+ zb-g#flP`V0yAK}?*Z3@5uxu^m3eX1@r?ev0qT13ca%q-osu#Z0xx^Z!N-a04d0sX} z6l$EQNlXmCA2$VqEv^{+G6e~UvDw@m`jiM^lxymIn-r^Bi~Cbsut&tNB08>@f4FI6 z!M0vo1=s+VZ#=b3TOqugo?WVeOoTpgWiBoL<`M1wJN>aL{N4wKPDv?1SeV|h-60|0 z4tZgw9YXc)rao;)=BVzNSkoYZ`65{Bto$I$@_|-*)BtOkYl;2AERK9-seHOk@BC}6 zn1Wgf+q4H)N3%ch435vffBQPma~tvrTDdZxhf@kqLHB;__9-uYQ6XwQi%#2Q0xbV9t=h{)U6o$Lt2sat9LmbecD?Z=WN9M4wc&GC=D4mVS!7AKN+0HdU z80&TW$(4T5r8g5MtqF3*ITclmKwB{tzwB}}&2X5w32l0@s~>$Pdall;6RWL`9Q&0` zK*t&)?TvX7jWsVMX=Uqbm_B7CGFmpf0Bhu}{0zy38TBx5oQ;+N@@=EdfPITxsAY&F z<|w+RFc4}x9vgfAUe${`zk^$^Pv``XOttlU#NNKpA33jlfdzP(mDTU*(sxYxniB%* z&+(IQ2ZDZ))^A{H){OlS+HqPrcD&N{cg3^t_T<%?R_Q#KZ#YB(qi}`xFH^!ib4pw| zWY3BXTdaOAlA&zFdfyyc{)q(?$u!m4<+LPWEoA^G#re;wxIquKL>2OrSpURH8Wkyr z_5GYvVY#s{Lo)*`pU7%!w4L^c(p-Bdi-!h{w(#vzs^xLZ+AGg)lWqWyO^)TaPHM?5XFt9h z$sv3OaCv|96SrL>CZhpuw;@xLt4oFLP7L`fm}-9~v${`?X7#SEIpwlVuV+x3@!KQ4 zz?>%S68l9*h-HP?A1P?lIQ9jTZJ11%kGvWx%pse$`fbeB!4*CpvksU1&j%CjJu0zr z0_ZMA6_hRYUirx2z@U|8CRYyDjz^`{7Cs2NwFnle@?)HVjMezshRDAN9R_D|4f4FN zDbw=)u=n^6pG%yn3j4ds%*k)Dwx7?hSMT3Dv%iL2=Z#5D&%5TaBe;1fpuR5G|2b}f z7a9~3>MdvGB%Em6LT*+|4(7HkU=a*RPgz(5${S60cOc`S5pP+XoR% zIpg}cgud0!LCUTcE$Kx zTS`@Cd|@*T#f@Gp!pU)Kwen7fi)t8=dLf0d&?Lqi?w+42>JDXrCLRZ^o(Aky-j0hl zSk@7{&`zy+OiDixuvKwb|HJyAgvKy$qk79v*1>wn_^x&T&)o5dQJ2@*Rb8i-qHa71ZzhX-CwHWbSXR33{G3~awaPyf?ik|8{zb`W- zZM&9p9)RM}Hqf|K^+!YhH5=J68W&oMVg@@+GY3%)%93mtQblpLJ0a0j0cKF54M=_* z_fq5O zG-~l7E7}YT5(i6>bUwk{ec$=eP_S<+`JXaZ;`KLqC9nno?8qnvoV`JlE2=8j4$ z@KO2@%x!no%Q|Q^mI%>i{Wo41Jch7ah6IjVD^lO@qVP`(lHbuisJ-T@b-)@|w_djB z+^y3EVkk$eQ+v2tZiiCp+nqD3NSe1OD!MJuu`}*~ zO@19MGSVN+Q(vkaF=ZALO}GuTEZrnDc&;#q!GzA=6HM|&)KF646Y9n#$v=fh15E0p zc-AfnofY)2c--2E2pitR5d7Vyk>}UDJnO_**0K`LTNz!#dqX$XAR9i1L%s9sqFf1T zjqP3>P)$!(z8pM_iWclViPv#tAiq8SJl1=)Y91R9DYpfA&>Z~GHg&qBtr`f0LH=BL z9LrH6q+?FvYKZK3JJs;iR2Cz#M$(Q-S`Eoc=&|`Tv1UhX{8{&q_Mi)(3% zEM6@#6PDM!CQk`KG5Em>6s5wB(ps8Gzi7>sADpA&L@LQ=C{9A75 zq%!rMi^rmp#d6}lcKfZmWxUZ?34W;BJ~OaJ+&gBr8BeO;9M}GGM|(tmj7nRz=;iRP zXTbdD$VDp>rPX@Wzr_jtho1V|GaR*V#CgmD64w(&q%r@k<9A--DWcneq1w_9(+el;8}pk}U`H?qP67Yc+vJRvIiOfcaXwF&V8HID z$WH3dQY5m@j)F&3Pyff)sy|E^lWA%FE#XxVi!-V~Vk?Ztgsk5WXQgJP*M}!1sz6C% zfl3{`BAgN62NDj?QV#~IHF8sS?kL4p(lHT>shliCikN!ji<6)xc%_k+UDW6)P__B* z%=ARXa-CuW%v^A|D$MakY>ZS=X|N~Wg$;8TN=n{?d%WlHN79n0y}=(O29XoWW%=^; zm=BFBGQN`dbU3jg%<&T6l;8S-fJ-;23>r?}oJ7mqPc45$Z9<4N?0wj<1@S0Y$Z8Pw z`))^NT~W!Ts`>bA5}0wkbs$nb=AT1f{C4$^o#_1li5V7X%~*HYyVoK|`=HoLq|P1f z74W!OO@AZ$^B1RP185+}Gt>~-&4ee+@S9L36fJu-)ODo64D zO*o;s_N-}HvvA;i9A&H@HO$NByCPD{nKK1x5CCA@KNt9_) ztT;VIj=#ug0y zab=kd3?$WQg%J0M8)&$qU~leSgCB3ZsBnwc48(R$YVzmM@ly3|{?q8?#`_v~IG(R_N4r_c-pmtMn^X@JCHsA7o+Vamoo+%^~nIt#*XUwAu9v|EZ zkdQfI@DRBIH-vnYm0OP7=qA}Bhj}BO!fwKPA3RyI5^HU3vQn*qz8dbPrYyhhQCQaJ zDjpMeKX~tZg$_B{>a*HPig^#i97e>mLhBJx55*dUTd({YMB^J;dnqYy`F_W|o$@9+ zcBx}7#Z`Kw5WH@v&rpkgbSWv?DWl@R6`Rs!F5IdYt4b%*@6o*HRG1h7UyIyE=9?b3T?mX1D5)mtqd zo+upYoBJO8e-ADw0bZxcJPIrR9&PmTy!6@smKoul(M|Q*;vJ8nTV$7uDU{N$tc~5 zAZaF(4~+L9Eve3K(#qcVmL{yVe*8#85W#$n6%S9PiMT{Egue2HZo;yx2H=*are^#k zGfV08)rEJwaBFO+2!wMIZ4fCqv2G=Ojez?@a1V<TSO5+TJo) zU0h5)Ca{xfu##j{z*d*we5R9$w&Y z0)3(?-^tp~n7iVITys?U3l$>KWxtHDFsrimUoq>zeXDN%HGpvBTN(phG+%Gv>w>2d zaYZs9?jEe*F_fPP;#Qb&bE4O3lvk(vHB}f2?xNe65<@weIR?Jw+))cV|TihE&#&L4lMFe04NkPyqzNwmW3T-d^Ha8u#(+t?ZEjoA`#blEPLM_2)`U3MTLbZaT*R7aFnT^_ z(8oDh4J5qo((s$2^QU}<&iZkkm4skwcHF$7OD_uAGJwcgIs+m^`c0%6w%9mzc|Nx* zRb}2t_?T>^wYbU>debpqc+E11_p!5_W5Fh;Ke;!(T}gqtIJy`TnhhC-du{=CnGj zc7=p~dl}Z_O#=TT_wX_HalU>EwKE)) zUoGym?hdFduz({C$8yGM+nz?#?1ooAX!Y+`=_ZTRz~aAZ65t-|G6YlvlAp6Vo=Na@YyEjGO=AHGUCd`7ZU$?#tMLUVanAxIo*3>kg->j|X? zKoWf3={Gh4+EXgI&Gygc1%S-0Z%>ZD6JKsF4o}XuPGnwow*iuNJ88^eawSnQTnDVi zP9^2-N?46E0@HwWDEs##Pm!ktwKPsZesbV%@4fe^j)nCm&o8e}G$wytj=$%Hp!XY} z9Nla;^!RcW5_od@wLIo>Na*z`Mv97o-RgsKEujuZ=TE1+$LQ9Qdjs9+&+y7AgLGBK zP-GwSEFj_uS*w4Z7;{oS3IXEnH(jW^abnjkTB;Qw zpyxcVIr+>!f!zhV=YpNTK^E!N0oHGtN;_|Rnp(9p!Fp{*cW+Dw7a$2ykKfRgpO0H^ z2cSK*RDOZs{P=`3FKq?g_I>v7fVh*)#AT|b9M?r2CYA}qiY*D6t_I~jf?G3@F!xr^bl#*y|rLp zSiGSR5|mr&)eOCu9h?i+-;IymhbaRbRjxZ+X6ms0Dr+fyOGD{WZJ>SVnb8Hf{Uhqx ze;VXY)`?cE6WhP8<}!*iDo2i{_A{80X^j7kMHBA9yNhj1JMH_2wtWY(lB*Q=TVyTW)FOas;LS_aqafj% zWXH@m_-A2K}&caPeB#NCm#gf#3q72}N_5vh^eyq^Hci3v~{KFNi@f zK^5*=OI`jIF%IffJ-^UJ-AA>iU&7k%P$hrMQI!XY`%3L}q0704E1%^pyOze`?+wNI zO=Oe>mK;H|LT({=tKNHtZHlQ#m)(AAGS=ATZqBiYdP~7S&AgX-D;YiS4rh9im)Y>u zlp%WM$2(%0UFH57BRyfa7y4exO$y#v^`ooaQDf(a_-h~11446vfQFqwt;K^RB;(7W znz!_`%U#GK3+TpGe-8SNF+RSFOLZKIn9o&+i&TJyjp#Dx!9gnre|?~A zfsGzhJ2u@--?-vE5x(GJy?xkSEwyd|o$|HZbA)%wJ$-rlh&5?HYd8SwierwWyaA)n zgFRmwA?6)Xq^=k&rNc4XkDJ~Nu^{mHSaa9p^k{B-7VkbJ*+aoV{J=klNFs;3KGm@8lG>AGnK#1i7_oMID#|L^n2#wA+Lm5~3V8hoBS5e{A?u?5jL)9GPfkgd= z4zNsrddfnzd6X>ucC$kDcyz$u1Sc%nGOHQ$ivzgb3KTGlca3opB@9$VCRsWVPq4E? zU4fvl8t&W!*NGj&ZDZ${rF-KM{lUY9W&SQP73qjnL8Q17nSqmRP3@l{4#DKD!Ez4| z%Ecc1ssfGYfBKM80_6ZVKNtedxWt%0JEWeq%ZWKN0mDp|Q~8uQS@*z`z8|+4D+iUw zB^&tm-B6h)ojVIx1qCPbvF{I&7_B{jVG9_Cav>2hYqLEvE(C;Aot=UAWW-p2@CqE} zoZ=35H)D@mG58N%j}j*e4HzO`z@6EMF z8B80(!wN>~0<7i9EuJR?6wMwq>~?&|L)^2ZpYX`fi=#M)uVs=?!|bnv+CCq zNsO917S5u%p}vRnJZRkyeZ-W9Ox3 z<2Ly)%nEWf%7m*e*NVq-QLd_Z(P>}gN7ItH`Udh`EO#xLGfc9<+F|?e4$oFNYGPND z2c(iBYHH2YrDXPPK#>!o>ubV`)zYuTMdGa@W}qfG<*k6p%G3Ee67)37l`kmYKDwa& z?Nu%N+bNlO%Ae1GhkaZaGZp3&!LwNh#ye|F?+oq-xnSZ8ccnk?K+GE(nKbOh^YC?X zCKEA+Q9cwlxUcp^7U`NHN5IEUa?cr!{R$m==vh46mH3nh?G+|KXP4B3NYlC>?+HBqH1|XCm}6%ut}H8XByXry9uM4M+FBbH z-e3Vx1zYyp$dUYR1^ttz_bffM!z1*7`$YP4cw;w^{foyjxmGzWS%C}tf-ssy8Ebqy zp+WJdcdv9p^1NVQ76vf@VmV6eDGPVRH|;a93uu+DolFBp9qiyTBol80Y0%Z{wQ*os zOc*aRSy3VcAi=5M&$TzF@wTqPYpL>7bbVtXiXt~xeKHf@pE9~cDwsv|Bsj8+Q^Mbd z^heCQwr_m-mU{N$^aytAsOBGnURulQ(RfE+=5hVt>w@i4hxVpoaDf*l@p)?b6j<8q zKrgsTj7Q!e$JARgzdM$b7AQ&38Oh8ExaJ6T(3a@eGtp_Ow=5)1JwHl)I2M|AamIE{ z>hVw)r083GOc?|YpH`j7JHBPFV$@Gz$C(LQUw(Ta;{qe*JItgO^Sc+W+AU@2)=A4v z;=U2*LK-GztE~GEmj0(bMX#yQ#hDj!IttyTbd)Bz^}CTS*dhhzX3_4mxMe+N9vJRX zU8Vd}e>xmm??=zE@miXe#(ONazdwBXA7Ro|9@4h76U42$yk_QgZSA_Bx?jr3!hoOG z>jMy@pMu&0hiDZoBKQ4&pE}B`CS*e*p5ilbtJ*+OI%_R2QZ}L5wIy%vIXDy>ESw#B zJsU;;OQTf&7g%X&-1I)>xt@Rr)8^X&z^%KNCj8aEwQ~^)hl95RxAs6o)Prd*kYZZM zIx%G#KmSgmN}A&VMqMJ^sBQQsu_2rgvPk8MVF(xXV4CfQ^YA`o&bWQR^V zZ_6q7LJN;$a}YHF#vH{gLt*h)ycvpYl01;k_`ux1rj2-lp}RJ%B$YYPh@zqQ`z&JH zQj_s9SXfQ%HuX``RvMZgOAH&{eoGTyiC{Ji@Ke;Om1qmx<@dxr!@317qqFw@xxMjC z`H5?~SVG}!`XvwRT^9AU6QiRtfYE61H5s)CJ-BAi^Z{S_xnS_SayWSACUfwD*qa@C zWh5O5<6Fd9?M;tWQCa)DhX3K^A6ouCX^a~!=*jsoMZ^$u^i48UdCy5LaP$>z8=&Mt z>efJrpfHXiG9yTwV@g|YXu>Icf7S@Uws+>iG*o{$ck>KZ#U=0Ma1WKU*`?0od8wl{ z!`)jI!L{Aa;G1bhJ?-&Tf7|GQ^`t+GL>`xO;)1b^mWF$j-y=YxwBu-{& zz`>YbM#jrQDdeRoh2Y!@mIXgkoG}C24ruh3eeg2r3~)Lv0;=aIaIp$u-gX}Po15Dr zt_Jw%!c`SpU()O{(VyntT2~}urre3hjRq$~B&j|CH!C}yc))GO(Q@T+N>jPuR8}8a zFctErBj0nFiNE$4u;^a-I};M*l<%Pl7kzybn5V!=sE;xsD`4AtPpLZgPZ=7_l|DRV zV7|+U3-fi*#GmdbH|YuM_-W4W+HkV&dRso3_zTNPH!G%|lfX|p9Z+lRmChry0!#80 zHeR3)3E*FDhYlSuq8GUv#~7Kwd>FoSE8K|42zf)WKD*R&Uzoyt?LecZQuYYxrWyWi zxUu#zZT;D?K(sA^#NoJeI|%INGE$GYbyKgn3=lQyVJ9mL_h&T&a{9|?ZSUZtRYIR4 zb_bPnmTGv+qem~6O#ZlNnX&^2Q=F_AtZ!fF*NG{Kn&Jr!bFS>Q(!vW+~`$LmKw4t_or&Tkc_mjDkkQDck@s_-goz<$QR`j^GVaE=p zPspAc_fuOk_R$6gbCu`E16Cfv>)P!(<@#E})(n&Q3KanrY1GV?ah0Vt0Idb-~HL+|C zdajY_YeabMO)M$&UP`JZu#I>Y?%r0MWxu~rmv<}3W$VoDgCeqTkk5a>l^E9RzkmV2 zto$miER%knOv=41gRF41(5?GL-8V8o1Y4*4dj7;Ueuha&dzfELv7jum(EpNFkpKe$wEj|_;E*URwol-V zx!v>rUV0ihcN~!_hZN?Kn^I1#}-oj~k^4iRL?9e)VC$pB&Rx9gxn!ggN3vYw_p`cFkoR zS`B!I=ns;XJ-=ycK_Lf>!M*M%UbmxZ&zE;J?t`^UL!=cb2i;zuDu9(aoD$s$c^bp1)PPfNLsOFZo-mJN zxc*!f5lUZ=XMt^BezmL>5qaLN@CAx8fA3wv*P2l^yT~xVUpE;kbh-SRY%%Z!iH@g; za@S`XnOK-RqZxTkZi0t6Q~>}v1P_U@*z_d0A!D#eh1AEvR#Mf7Nod+V9zTg`4+=y% zN0yz4fgJPAE!^zV#wZyY4)h-lx-)cd8nf?2yLPj!2G$fg>CqU%|@(EL#|+ z_%RsuOK{e}RA7LBWthHxw;AisThkk_cmFCZlYU?DA2J*L7lI$Y%W|Kz1)Q9*Q8Vf4 zGQW{+QB?}(=34hwfqg4v90G*aa3@JZ?PXfaU7~>61)j#x7FmYS%;;t;SR0U-Pj>|K z&5Vpp`cJbjjwH!09%v;(!Pa?SW=jcb;(-@UyY8oqxryDU3 zD%)8!#7P$g2!%A}xpQ)4#<=ci$OU)^(}4xGMR4tSx3uE?$Rnv3sVX%z;B=Jl;uEU( zE=S`<=WuoS`an=f{dXOnY|{JtmDdW9s{0xYw(79cBFA!eJt$j-J@A3lRa$YlrMYo|o#q9QX$)q;#6e7B* zSCn+zgU3%j?a$$bLzuNv27p+WPJR$o{yFD*9mGVE(jHNRg*f%?^ZqjH&o`WlT5QMd z#Wp0V#bt;*Ak-%XLg!p#JC8uDOSD~E@!3qBcFrNEZW~aZWxVh*EyY)Z>8z>JN^T-7 z4+32da@u3o?LKyg`fcP!Q1lWf=}{Y<7njx7<~^0aeGz%0HAV(fiP zQNLUXCI`vSEgr~!So?4JW^DXJ4DGMkHOl%FveJBS+hhlNRzW91IJg$lwYu{sItw3c z9!0=h+9Hd8{xcB>@nhlF>{Bb7hgBZ`tY4h1_j#p}c|m)=^rte8Z!anJWA#-`583>* z|6k#K|1ZL$1Pk>e&5xy<{NJ~Hq&hfQaoq%d@}8R9a_N-xpVX#H=dI4=o4GyuFT6JL A;s5{u literal 0 HcmV?d00001 diff --git a/imgs/7 Classes and Objects_3.png b/imgs/7 Classes and Objects_3.png new file mode 100644 index 0000000000000000000000000000000000000000..934f27e1e5ff4ac453373e5f25842dc2b763771a GIT binary patch literal 29091 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 literal 0 HcmV?d00001 diff --git a/imgs/buuttilogo.png b/imgs/buuttilogo.png deleted file mode 100644 index 8c3557824987085f6e4e335fead43d172a6a32cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1541 zcmV+g2KxDlP)(OoSekO#CLahT3TA4pPy`OY=VM<E-o%NH#gYW*y-u%wzjs+%*;kcM)ULYk&%%c930lx)>Bhc5)u+6B_$~-DROdh zGcz-LdwW1u2HF4s1x`ssK~#90?VagjsxS~nLAh9Psbbx0YioV~SG;O1%w!kC((;|3 zWCoHPKnXDh0RR910000000000000000002*#Pgi@m!>PzZPKt{+;nBSO^>KZnyyT@ zfr{1u6|Dg(S_4$H2B>HaP|+HoqBTH8Yk-P+n58`x>AVQhsZb{Nda|vxCh~fqm*$7H zUP*P1&V^quIbU9?@h?;}DMB4h(I)*0jhgGj(8^%F4TFA~a+5|7vD6gWg$$XNI z5m{V>;pW*(V@hJY15*`!TJT3zoU>vt%_#*`2sC$LK!wQ0OM^-P6|Hdr6)vf@02K;m zUfOgoP@%$0o9+cFRLIYVHP9gy?k1YKMRiC;G9HhUB?;MFwp{2-7tGX4tL~#EDju!r zH$$U}D{IYOUIiE4t8b^Ailm=Y+jzBuif6kDx)(O)w%srl4NQ6~r=kfeRuKfuMFV#z zs3>5Uh1a?}0Tl&fs$%H1@-9F{!9KJfqC%j8@YHB~p@PtCd!d2=6>ij^f)+xBp6XQ` zNLhDP&@m{7POL@+9TaKcaT_WMsEIZ|;=NW{jW(!QnN*wxIoX64Wuz$I*e4seEIg+1 zbFz~utvyYgC<|l5(I24&D!2*p2sCfNiVdWc-D#WJ;s33eU3Zz^4H(phQM_pd$RXE^R z#qLv+2Nibwst8w_yed?zvy7%Jvoq`4)6MZ*NC#5hu7$DT=#S7!6=9~%t3riv2x%N# zJ2Kl5715V6uLcz@nZ8_`icLRZuz65dGG!iA*eO3U`-AWaIaTICg`G#I8C>A6Ek+J` zP@%wwiUV_zIpjfw0v{@PSG_spL4{>6Z|V@cih%wwDT?iRP@&*BUFK-sxjU$s(bm1& z^Pr*}4l05jR6qq(2tdW3Rl$D*4iz^XRGet*R4RBsv98Ux(x(%?Ho`kpeB+>k&SKuZ zDDrrd2g;I6tAhRJA1X{L7IbNYr7ADKRIbp1qBACR>xhK!>Fp0HOe$j5wRxAY-(Jwi zM?Qd6F1T;;vS35H;$_hl6)SbN_47iEx4955J>kQd zsfdM-l8&fYYb*LLKh~K$L%iv5#JeDW+UGAizIbXUROm%qFv?KG4^1+p52Sze+!q%f zW{Z&gdKK2Y{mQ=1%81_6-`M*HW&DZy@39kK`j!^NNg+d81DcLuRi`5Qf&Nl=UTnS- zor+1{MB@C-kBJ#!J5szp%YUB&u<=Jaxe;QtOhx0000000000 r00000000000000000000Xe0jt##v;W`1Ep~00000NkvXXu0mjf0@20|