diff --git a/Friday/HowToDoML.pdf b/Friday/HowToDoML.pdf new file mode 100644 index 00000000..faaa3caf Binary files /dev/null and b/Friday/HowToDoML.pdf differ diff --git a/Friday/HowToDoML_prn.pdf b/Friday/HowToDoML_prn.pdf new file mode 100644 index 00000000..3abc320d Binary files /dev/null and b/Friday/HowToDoML_prn.pdf differ diff --git a/Friday/HowToDoML_prn_4.pdf b/Friday/HowToDoML_prn_4.pdf new file mode 100644 index 00000000..6d7cf0b7 Binary files /dev/null and b/Friday/HowToDoML_prn_4.pdf differ diff --git a/Friday/HowToDoML_prn_8.pdf b/Friday/HowToDoML_prn_8.pdf new file mode 100644 index 00000000..c279699f Binary files /dev/null and b/Friday/HowToDoML_prn_8.pdf differ diff --git a/Friday/final.pdf b/Friday/final.pdf new file mode 100644 index 00000000..53c8155e Binary files /dev/null and b/Friday/final.pdf differ diff --git a/Friday/final.png b/Friday/final.png new file mode 100644 index 00000000..87445761 Binary files /dev/null and b/Friday/final.png differ diff --git a/Friday/final.svg b/Friday/final.svg new file mode 100644 index 00000000..72080318 --- /dev/null +++ b/Friday/final.svg @@ -0,0 +1,3010 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Friday/galaxy.py b/Friday/galaxy.py new file mode 100644 index 00000000..a93cddd0 --- /dev/null +++ b/Friday/galaxy.py @@ -0,0 +1,109 @@ +import torch +import torchvision +from torch.utils.data import Dataset +import pandas as pd +from PIL import Image +from torchvision.models import resnet18 +import numpy as np + + +BASE = "/Users/jsh2/Work/galaxyzoo/" +IMAGES = "images_training_rev1" +META = "training_solutions_rev1.csv" + +BATCH_SIZE = 32 + +class GalaxyDataset(Dataset): + def __init__(self, train=True, transforms=None): + super().__init__() + + df = pd.read_csv(BASE + META) + self.target_names = list(df.columns)[1:] + self.ids = df.iloc[:, 0].to_numpy(dtype=int) + self.meta_data = torch.from_numpy(df.iloc[:, 1:].to_numpy(dtype=np.float32)) + + n = int(len(self) * 0.7) + if train: + self.ids = self.ids[:n] + self.meta_data = self.meta_data[:n] + else: + self.ids = self.ids[n:] + self.meta_data = self.meta_data[n:] + + self.transforms = transforms + + def __len__(self): + return len(self.ids) + + def __getitem__(self, i): + idx = self.ids[i] + image = Image.open(f"{BASE}/{IMAGES}/{idx}.jpg") + + if self.transforms is not None: + image = self.transforms(image) + + target = self.meta_data[i] + + return image, target + + +if __name__ == '__main__': + train_transforms = torchvision.transforms.Compose([ + torchvision.transforms.ToTensor(), + torchvision.transforms.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5)), + torchvision.transforms.RandomCrop((400, 400)), + torchvision.transforms.RandomHorizontalFlip(), + torchvision.transforms.RandomVerticalFlip(), + ]) + train_ds = GalaxyDataset(train=True, transforms=train_transforms) + + val_transforms = torchvision.transforms.Compose([ + torchvision.transforms.ToTensor(), + torchvision.transforms.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5)), + torchvision.transforms.CenterCrop((400, 400)) + ]) + val_ds = GalaxyDataset(train=False, transforms=val_transforms) + + train_loader = torch.utils.data.DataLoader(train_ds, batch_size=BATCH_SIZE, shuffle=True, num_workers=2) + val_loader = torch.utils.data.DataLoader(val_ds, batch_size=BATCH_SIZE, shuffle=False, num_workers=1) + + model = resnet18(num_classes=len(train_ds.target_names)).to("mps") + + loss = torch.nn.MSELoss() + optimizer = torch.optim.SGD(model.parameters(), lr=0.1, momentum=0.9, weight_decay=1e-4) + scheduler = torch.optim.lr_scheduler.MultiStepLR(optimizer, milestones=[100, 150], gamma=0.1) + + def val_loss(): + vloss = 0 + batches = 0 + model.eval() + with torch.no_grad(): + for img, target in val_loader: + prediction = model(img.to("mps")) + vloss += loss(prediction, target.to("mps")) + batches += 1 + model.train() + print(f"Validation loss: {vloss/batches}") + + + val_loss() + for epoch in range(200): + running_loss = 0 + for i, (img, target) in enumerate(train_loader): + img = img.to("mps") + target = target.to("mps") + + optimizer.zero_grad() + + prediction = model(img) + l = loss(prediction, target) + l.backward() + optimizer.step() + + running_loss += l.detach().item() + + if i % 100 == 99: + print(f"e: {epoch} iter: {i} Running loss: {running_loss / (i + 1)}") + + val_loss() + scheduler.step() diff --git a/Monday/BayesClassifierWithGaussians_Niranjan.pdf b/Monday/BayesClassifierWithGaussians_Niranjan.pdf new file mode 100644 index 00000000..bc4d383c Binary files /dev/null and b/Monday/BayesClassifierWithGaussians_Niranjan.pdf differ diff --git a/Monday/COMP6246LabOne.pdf b/Monday/COMP6246LabOne.pdf new file mode 100644 index 00000000..8806cecd Binary files /dev/null and b/Monday/COMP6246LabOne.pdf differ diff --git a/Monday/FoundationsLab.pdf b/Monday/FoundationsLab.pdf new file mode 100644 index 00000000..d3aaff99 Binary files /dev/null and b/Monday/FoundationsLab.pdf differ diff --git a/Monday/LinearRegressionPerceptron.pdf b/Monday/LinearRegressionPerceptron.pdf new file mode 100644 index 00000000..f9249ab4 Binary files /dev/null and b/Monday/LinearRegressionPerceptron.pdf differ diff --git a/Monday/ML-failures.md b/Monday/ML-failures.md new file mode 100644 index 00000000..870516b3 --- /dev/null +++ b/Monday/ML-failures.md @@ -0,0 +1,26 @@ +# Failures of Machine Learning + +## Early failures in machine learning +Here’s Minsky talking some of the early failures of Perceptrons (the first real Neural Nets); these can still be problems today and mean you really must think about what your machine is learning: + +[![Embarrassing Mistakes in Perceptron Research](http://img.youtube.com/vi/3JjDmFV_YwQ/0.jpg)](http://www.youtube.com/watch?v=3JjDmFV_YwQ "Marvin Minsky - Embarrassing mistakes in perceptron research") + +## More recent +### The first DARPA grand challenge (2004) + +> "The first competition of the DARPA Grand Challenge was held on March 13, 2004 in the Mojave Desert region of the United States, along a 150-mile (240 km) route that follows along the path of Interstate 15 from just before Barstow, California to just past the California–Nevada border in Primm. None of the robot vehicles finished the route. Carnegie Mellon University's Red Team and car Sandstorm (a converted Humvee) traveled the farthest distance, completing 11.78 km (7.32 mi) of the course before getting hung up on a rock after making a switchback turn. No winner was declared, and the cash prize was not given. Therefore, a second DARPA Grand Challenge event was scheduled for 2005." + +[![DARPA 2004](https://img.youtube.com/vi/uWLjgs2CEyE/0.jpg)](https://www.youtube.com/watch?v=uWLjgs2CEyE "DARPA 2004") +[![DARPA 2004](http://img.youtube.com/vi/wTDG5gjwPGo/0.jpg)](http://www.youtube.com/watch?v=wTDG5gjwPGo "DARPA 2004") + +### Robotics failures + +Teaching robots to do even simple things still has its challenges: + +[![DARPA Robots](http://img.youtube.com/vi/g0TaYhjpOfo/0.jpg)](http://www.youtube.com/watch?v=g0TaYhjpOfo "DARPA Robots") + +### Tay + +Microsoft's racist chat bot: [Tay](https://en.wikipedia.org/wiki/Tay_(bot)) + + diff --git a/Monday/NIRANJAN2025 b/Monday/NIRANJAN2025 new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/Monday/NIRANJAN2025 @@ -0,0 +1 @@ + diff --git a/Monday/OneSlide_niranjan.pdf b/Monday/OneSlide_niranjan.pdf new file mode 100644 index 00000000..91b3dca9 Binary files /dev/null and b/Monday/OneSlide_niranjan.pdf differ diff --git a/Monday/Soton_LabOne24.pdf b/Monday/Soton_LabOne24.pdf new file mode 100644 index 00000000..3ecf1138 Binary files /dev/null and b/Monday/Soton_LabOne24.pdf differ diff --git a/Monday/Soton_LabThree24.pdf b/Monday/Soton_LabThree24.pdf new file mode 100644 index 00000000..123d7b87 Binary files /dev/null and b/Monday/Soton_LabThree24.pdf differ diff --git a/Monday/Soton_LabTwo24.pdf b/Monday/Soton_LabTwo24.pdf new file mode 100644 index 00000000..c9b2e63b Binary files /dev/null and b/Monday/Soton_LabTwo24.pdf differ diff --git a/Monday/SummerSchool_NiranjanOnePage.pdf b/Monday/SummerSchool_NiranjanOnePage.pdf new file mode 100644 index 00000000..c6f79976 Binary files /dev/null and b/Monday/SummerSchool_NiranjanOnePage.pdf differ diff --git a/Monday/intro.pdf b/Monday/intro.pdf new file mode 100644 index 00000000..fb460f1f Binary files /dev/null and b/Monday/intro.pdf differ diff --git a/Monday/ml_labs.pdf b/Monday/ml_labs.pdf new file mode 100644 index 00000000..3cd4d95c Binary files /dev/null and b/Monday/ml_labs.pdf differ diff --git a/Monday/ml_overview_2.pdf b/Monday/ml_overview_2.pdf new file mode 100644 index 00000000..35a6df77 Binary files /dev/null and b/Monday/ml_overview_2.pdf differ diff --git a/Monday/polynomial_curve_fitting_2.pdf b/Monday/polynomial_curve_fitting_2.pdf new file mode 100644 index 00000000..8e9418fd Binary files /dev/null and b/Monday/polynomial_curve_fitting_2.pdf differ diff --git a/Monday/talk.pdf b/Monday/talk.pdf new file mode 100644 index 00000000..d66e166d Binary files /dev/null and b/Monday/talk.pdf differ diff --git a/README.md b/README.md index bde2e358..7e2b0cd3 100644 --- a/README.md +++ b/README.md @@ -1,54 +1,152 @@ # DISCnet Machine Learning Course + +## Old Thorns, Hiplook 30th June-4th July 2025 + Notes, demos and materials for learning Machine Learning -## Extra materialS -In addition to the material in this git repository, I've also used materials from my computer vision and data mining modules. Please feel free to take a look at the lecture slides and notes for these which can be found here: +## Extra materials + +In addition to the material in this git repository, I've also used materials from my computer vision, data mining and deep learning modules. Please feel free to take a look at the lecture slides and notes for these which can be found here: -- http://comp3204.ecs.soton.ac.uk -- http://comp6237.ecs.soton.ac.uk +- http://comp3204.ecs.soton.ac.uk / https://github.com/jonhare/COMP3204 +- http://comp6237.ecs.soton.ac.uk / https://github.com/jonhare/COMP6237 +- http://comp6248.ecs.soton.ac.uk / https://github.com/jonhare/COMP6248 +- http://ecs-vlc.github.io/COMP6258 / https://github.com/ecs-vlc/COMP6258 +- http://ecs-vlc.github.io/COMP6208 / https://github.com/ecs-vlc/COMP6208 + +## Extra Activities + +Weather permitting Jon, Niranjan and Adam are likely to go for a walk (possibly to a pub on occasion). If you would like to join us (or go for and independent walk) please take comfortable shoes. ## Rough Plan + (Note that this is only a guide. We'll adapt the content to your needs during the course.) -- **Tuesday:** Introduction to Machine Learning - + *Leaders: Prof Niranjan and Dr Hare* - + Topics Covered: - * The perceptron/Bayes optimal decisions +- **Monday 1st July 2024:** Overview of Machine Learning + + *Leaders: Prof Niranjan, Prof Prugel-Bennett and Prof Hare* + + 9:00-10:00 Available outside Carnoustie meeting room meeting room + * Tea & Coffee welcome + + 10:00-10:30 Carnoustie meeting room + * Introductions: Course teachers and students + + 10:30-12:50 _Niranjan_ + * [ML in one page](https://github.com/jonhare/DISCnetMachineLearningCourse/raw/master/Monday/SummerSchool_NiranjanOnePage.pdf) _Niranjan_ + * [Artificial Idiots](https://github.com/jonhare/DISCNetMachineLearningCourse/blob/master/Monday/talk.pdf) _Adam_ + * [Failures of machine learning](https://github.com/jonhare/DISCNetMachineLearningCourse/blob/master/Monday/ML-failures.md) _Jon_ + + 1:00-2:00 + * Lunch + + 2:05-3:30 _Niranjan_ + * Understanding simple machine learning algorithms + * Linear models, Gaussian distributions + * Bayes Optimal Regression + * Fisher Discriminant Analysis + * Perceptron * Feature selection and Lasso + + 3:30-4:00 coffee room + * Coffee + + 17:15-9:00 _Dinner_ + +- **Tuesday 2nd July 2024:** Introduction to Machine Learning + + 8:00-9:00 Breakfast + + 9:00-10:30 _Adam_ + * [How to do Machine Learning](https://github.com/jonhare/DISCnetMachineLearningCourse/raw/master/Tuesday/) + + 10:30-11:00 + * Coffee/break out rooms + + 11:00-12:50 _Jon_ + * Handling Data + * Hands-of practical session + * Introduction to python, scikit-learn and CoLab + + 1:00-2:00 + * Lunch + + 2:00-3:30 _Niranjan_ * MLPs * Gradient learning, SGD, momentum - * Evaluating performance + * valuating performance * ROC curves - * Making sense of data intro (Text and Bags of Words) - * [Machine Learning 101 - classifying text](https://github.com/jonhare/DISCnetMachineLearningCourse/blob/master/Tuesday/ml101-tutorial) -- **Wednesday:** Advanced Machine Learning - + Leader: *Prof Adam Prugel-Bennett* - + Topics Covered: + + 3:30-4:00 coffee room + * Tea & Coffee + + 4:00-5:00 + * Ethics discussion + + 7:00-9:00 _Dinner_ + +- **Wednesday: 3rd July 2024:** [Advanced Machine Learning](https://github.com/jonhare/DISCnetMachineLearningCourse/raw/master/Wednesday/) + + Leader: _Adam_ + + 9:00-10:30 * Generalisation * Bias-Variance Dilema - * Ensemble Techniques - * Ada-boost, random forest * Kernel methods * SVM * kernels - * Probabilistic techniques - * Gaussian Processes - * Making sense of data - * Types of data (images, text, numbers) - - Encoding data and feature extraction - - Data preparation, missing data - - Balancing data -- **Thursday:** Deep Learning - + *Leader: Dr Jonathon Hare* - + Topics Covered: - * Why Deep + + 10:30-11:00 + * Coffee + + 11:00-12:50 + * Ensemble Techniques + * Bagging, random forest and Boosting + + 1:00-2:00 + * Lunch + + 13:00-3:30 + * Bayesian Inference + * Probability Models + * Gaussian Processes and Naive Bayes + + 3:30-4:00 + * Coffee + * Homework + * Extra exercises: https://ecs-vlc.github.io/COMP6258/labs/lab1/ + + 7:00-9:00 _Dinner__ + + +- **Thursday 4th July 2024:** Deep Learning + + *Leader: _Jon_ + + 9:00-10:30 + * Why Deep (see https://github.com/jonhare/DiffProgLecture/blob/main/tex/diffprog.pdf) * CNNs * RNNs (LSTM, etc.) + * Current research challenges + - Visual + + segmentation + + object detection + + multi-label classification + - Text + + sequence-sequence learning + * translation, embedding, etc + * logical inference & QA + - Cross-modal transfer + + generating from embeddings + + VQA + - GANs + + 10:30-11:00 + * Coffee + + 11:00-12:50 * Word Embeddings * Loss functions * GPU programming (libraries) + + 1:00-2:00 + * Lunch + + 1:30-3:00 * Keras tutorial 1 - building simple CNNs * Transfer Learning * Keras tutorial 2 - transfer learning with CNNs + * or: https://ecs-vlc.github.io/COMP6258/ * Keras tutorial 3 - Text classification - * Keras tutorial 4 - Sequence modelling + * Keras tutorial 4 - Sequence modelling + * or: https://ecs-vlc.github.io/COMP6258/ + + 3:30-4:00 + * Coffee + + 7:00-9:00 _Dinner_ +- **Friday 5th July 2024:** Practical Machine Learning + + *Leaders: Prof Niranjan, Prof Prugel-Bennett and Prof Hare* + + 9:00-10:30 + * Workshop on data you provide + * We will look at ([slides](https://github.com/jonhare/DISCnetMachineLearningCourse/blob/master/Friday/projects.pdf)): + * Analyse the problem + * Visualise the data + * Cleaning the data + * Using machine learning libraries + * Evaluate performance + + 10:30-11:00 Coffee + + 11:00-12:50 + * Work on data + + 12:30-1:30 Lunch + + 13:00-3:30 + * Practical ML + + 3:30-4:00 Coffee + + _Leave_ + diff --git a/Thursday/Differentiable_Programming.pdf b/Thursday/Differentiable_Programming.pdf new file mode 100644 index 00000000..327c3c38 Binary files /dev/null and b/Thursday/Differentiable_Programming.pdf differ diff --git a/Thursday/biological-inspiration/biological-inspiration.pdf b/Thursday/biological-inspiration/biological-inspiration.pdf new file mode 100644 index 00000000..4a4fad05 Binary files /dev/null and b/Thursday/biological-inspiration/biological-inspiration.pdf differ diff --git a/Thursday/galaxy.py b/Thursday/galaxy.py new file mode 100644 index 00000000..1e034bc5 --- /dev/null +++ b/Thursday/galaxy.py @@ -0,0 +1,90 @@ +import os + +import torch +from torchvision.transforms import ToTensor +from torchvision.models import resnet18 +from PIL import Image +from torch.utils.data import Dataset, random_split +import pandas as pd +from tqdm import tqdm + + +class GalaxyDataset(Dataset): + def __init__(self, basepath, image_dir="images_training_rev1", transform=None): + self.basepath = basepath + self.transform = transform + self.image_dir = image_dir + + data = pd.read_csv(os.path.join(basepath, "training_solutions_rev1.csv")) + + self.image_ids = data['GalaxyID'] + self.target = torch.from_numpy(data.iloc[:, 1:].to_numpy()).float() + self.target_names = list(data.columns)[1:] + + def __len__(self): + return len(self.image_ids) + + def __getitem__(self, idx): + image_id = self.image_ids[idx] + target = self.target[idx] + + image = Image.open(os.path.join(self.basepath, self.image_dir, f"{image_id}.jpg")) + + if self.transform is not None: + image = self.transform(image) + + return image, target + + +ds = GalaxyDataset("/home/jsh2/galaxyzoo", transform=ToTensor()) + +generator = torch.Generator().manual_seed(42) +train_ds, val_ds = random_split(ds, [0.7, 0.3], generator=generator) + +device = "cuda" if torch.cuda.is_available() else "cpu" +model = resnet18(num_classes=37).to(device) + +loader = torch.utils.data.DataLoader(train_ds, batch_size=128, shuffle=True, num_workers=2) +val_loader = torch.utils.data.DataLoader(val_ds, batch_size=128, shuffle=False) +learning_rate = 0.01 + +opt = torch.optim.Adam(model.parameters(), lr=learning_rate) + +def validate(val_loader, model, device): + model.eval() + + with torch.no_grad(): + val_loss = 0 + count = 0 + for (x_, y_) in val_loader: + x_, y_ = x_.to(device), y_.to(device) + prediction = model(x_) + loss = torch.nn.functional.mse_loss(prediction, y_) + val_loss += loss.cpu().item() + count += x_.shape[0] + + model.train() + return val_loss / count + + +for epoch in range(100): + losses = 0 + count = 0 + tloader = tqdm(loader) + for (x_, y_) in tloader: + opt.zero_grad() + + x_, y_ = x_.to(device), y_.to(device) + + prediction = model(x_) + loss = torch.nn.functional.mse_loss(prediction, y_) + loss.backward() + opt.step() + + losses += loss.detach().cpu().item() + count += x_.shape[0] + tloader.set_postfix({"loss": losses / count}) + + val_loss = validate(val_loader, model, device) + print(epoch, val_loss) + torch.save(model, f"./model_{epoch}.pt") diff --git a/Thursday/intro.key b/Thursday/intro.key index e3be5901..81ed256e 100644 Binary files a/Thursday/intro.key and b/Thursday/intro.key differ diff --git a/Thursday/intro.pdf b/Thursday/intro.pdf index 087d6713..52fb1513 100644 Binary files a/Thursday/intro.pdf and b/Thursday/intro.pdf differ diff --git a/Thursday/introduction/Fig1.pdf b/Thursday/introduction/Fig1.pdf new file mode 100644 index 00000000..cce9e764 Binary files /dev/null and b/Thursday/introduction/Fig1.pdf differ diff --git a/Thursday/introduction/build.sh b/Thursday/introduction/build.sh new file mode 100755 index 00000000..e58ebc19 --- /dev/null +++ b/Thursday/introduction/build.sh @@ -0,0 +1 @@ +latexmk -pdf intro diff --git a/Thursday/introduction/figs/RL.pdf b/Thursday/introduction/figs/RL.pdf new file mode 100644 index 00000000..95ecfd63 Binary files /dev/null and b/Thursday/introduction/figs/RL.pdf differ diff --git a/Thursday/introduction/figs/SL.pdf b/Thursday/introduction/figs/SL.pdf new file mode 100644 index 00000000..96677bbb Binary files /dev/null and b/Thursday/introduction/figs/SL.pdf differ diff --git a/Thursday/introduction/figs/SS.png b/Thursday/introduction/figs/SS.png new file mode 100644 index 00000000..9e4005fe Binary files /dev/null and b/Thursday/introduction/figs/SS.png differ diff --git a/Thursday/introduction/figs/UL.pdf b/Thursday/introduction/figs/UL.pdf new file mode 100644 index 00000000..591ba30e Binary files /dev/null and b/Thursday/introduction/figs/UL.pdf differ diff --git a/Thursday/introduction/figs/automobile4.png b/Thursday/introduction/figs/automobile4.png new file mode 100644 index 00000000..254d261b Binary files /dev/null and b/Thursday/introduction/figs/automobile4.png differ diff --git a/Thursday/introduction/figs/emecomm_model.tikz b/Thursday/introduction/figs/emecomm_model.tikz new file mode 100644 index 00000000..d90a4186 --- /dev/null +++ b/Thursday/introduction/figs/emecomm_model.tikz @@ -0,0 +1,384 @@ +\tikzset{every picture/.style={line width=0.75pt}} %set default line width to 0.75pt + +\begin{tikzpicture}[x=0.75pt,y=0.75pt,yscale=-1,xscale=1] +%uncomment if require: \path (0,451); %set diagram left start at 0, and has height of 451 + +%Shape: Rectangle [id:dp4714324243166813] +\draw [fill={rgb, 255:red, 126; green, 211; blue, 33 } ,fill opacity=1 ] (235,150.2) -- (245,150.2) -- (245,190.2) -- (235,190.2) -- cycle ; +%Shape: Rectangle [id:dp7934731199563505] +\draw [fill={rgb, 255:red, 126; green, 211; blue, 33 } ,fill opacity=1 ] (285,150.2) -- (295,150.2) -- (295,190.2) -- (285,190.2) -- cycle ; +%Shape: Rectangle [id:dp6938468908428541] +\draw [fill={rgb, 255:red, 126; green, 211; blue, 33 } ,fill opacity=1 ] (335,150.2) -- (345,150.2) -- (345,190.2) -- (335,190.2) -- cycle ; +%Shape: Rectangle [id:dp3667519118754631] +\draw [fill={rgb, 255:red, 126; green, 211; blue, 33 } ,fill opacity=1 ] (385,150.2) -- (395,150.2) -- (395,190.2) -- (385,190.2) -- cycle ; +%Shape: Rectangle [id:dp022726541987626914] +\draw [fill={rgb, 255:red, 126; green, 211; blue, 33 } ,fill opacity=1 ] (435,150.2) -- (445,150.2) -- (445,190.2) -- (435,190.2) -- cycle ; +%Shape: Rectangle [id:dp6407301863931574] +\draw [fill={rgb, 255:red, 74; green, 144; blue, 226 } ,fill opacity=1 ] (235,300.2) -- (245,300.2) -- (245,340.2) -- (235,340.2) -- cycle ; +%Shape: Rectangle [id:dp8144658806612513] +\draw [fill={rgb, 255:red, 74; green, 144; blue, 226 } ,fill opacity=1 ] (285,300.2) -- (295,300.2) -- (295,340.2) -- (285,340.2) -- cycle ; +%Shape: Rectangle [id:dp4416666060537081] +\draw [fill={rgb, 255:red, 74; green, 144; blue, 226 } ,fill opacity=1 ] (335,300.2) -- (345,300.2) -- (345,340.2) -- (335,340.2) -- cycle ; +%Shape: Rectangle [id:dp01162667759888747] +\draw [fill={rgb, 255:red, 74; green, 144; blue, 226 } ,fill opacity=1 ] (385,300.2) -- (395,300.2) -- (395,340.2) -- (385,340.2) -- cycle ; +%Shape: Rectangle [id:dp596677607451058] +\draw [fill={rgb, 255:red, 74; green, 144; blue, 226 } ,fill opacity=1 ] (435,300.2) -- (445,300.2) -- (445,340.2) -- (435,340.2) -- cycle ; +%Shape: Rectangle [id:dp10754709316325184] +\draw [fill={rgb, 255:red, 74; green, 144; blue, 226 } ,fill opacity=1 ] (185,300.2) -- (195,300.2) -- (195,340.2) -- (185,340.2) -- cycle ; +%Shape: Rectangle [id:dp44366305678804574] +\draw [fill={rgb, 255:red, 208; green, 2; blue, 27 } ,fill opacity=1 ] (235,210) -- (245,210) -- (245,220) -- (235,220) -- cycle ; +%Shape: Rectangle [id:dp6828723592183715] +\draw [fill={rgb, 255:red, 208; green, 2; blue, 27 } ,fill opacity=1 ] (335,210) -- (345,210) -- (345,220) -- (335,220) -- cycle ; +%Shape: Rectangle [id:dp14029774799550743] +\draw [fill={rgb, 255:red, 208; green, 2; blue, 27 } ,fill opacity=1 ] (285,210) -- (295,210) -- (295,220) -- (285,220) -- cycle ; +%Shape: Rectangle [id:dp40131528163261987] +\draw [fill={rgb, 255:red, 208; green, 2; blue, 27 } ,fill opacity=1 ] (385,210.2) -- (395,210.2) -- (395,220.2) -- (385,220.2) -- cycle ; +%Shape: Rectangle [id:dp4441901659368339] +\draw [fill={rgb, 255:red, 208; green, 2; blue, 27 } ,fill opacity=1 ] (435,210) -- (445,210) -- (445,220) -- (435,220) -- cycle ; +%Shape: Rectangle [id:dp018300618326905993] +\draw [fill={rgb, 255:red, 245; green, 166; blue, 35 } ,fill opacity=1 ] (235,245) -- (245,245) -- (245,255) -- (235,255) -- cycle ; +%Shape: Rectangle [id:dp42593712700733377] +\draw [fill={rgb, 255:red, 245; green, 166; blue, 35 } ,fill opacity=1 ] (335,245) -- (345,245) -- (345,255) -- (335,255) -- cycle ; +%Shape: Rectangle [id:dp437615766745448] +\draw [fill={rgb, 255:red, 245; green, 166; blue, 35 } ,fill opacity=1 ] (285,245) -- (295,245) -- (295,255) -- (285,255) -- cycle ; +%Shape: Rectangle [id:dp10315940417998859] +\draw [fill={rgb, 255:red, 245; green, 166; blue, 35 } ,fill opacity=1 ] (385,245) -- (395,245) -- (395,255) -- (385,255) -- cycle ; +%Shape: Rectangle [id:dp5810252014960352] +\draw [fill={rgb, 255:red, 245; green, 166; blue, 35 } ,fill opacity=1 ] (435,245) -- (445,245) -- (445,255) -- (435,255) -- cycle ; +%Shape: Rectangle [id:dp24623013710458952] +\draw [fill={rgb, 255:red, 189; green, 16; blue, 224 } ,fill opacity=1 ] (235,360.2) -- (245,360.2) -- (245,370.2) -- (235,370.2) -- cycle ; +%Shape: Rectangle [id:dp9525381226955448] +\draw [fill={rgb, 255:red, 189; green, 16; blue, 224 } ,fill opacity=1 ] (335,360.2) -- (345,360.2) -- (345,370.2) -- (335,370.2) -- cycle ; +%Shape: Rectangle [id:dp6108904361534809] +\draw [fill={rgb, 255:red, 189; green, 16; blue, 224 } ,fill opacity=1 ] (285,360.2) -- (295,360.2) -- (295,370.2) -- (285,370.2) -- cycle ; +%Shape: Rectangle [id:dp8166575760073912] +\draw [fill={rgb, 255:red, 189; green, 16; blue, 224 } ,fill opacity=1 ] (385,360.2) -- (395,360.2) -- (395,370.2) -- (385,370.2) -- cycle ; +%Shape: Rectangle [id:dp5233010337324191] +\draw [fill={rgb, 255:red, 189; green, 16; blue, 224 } ,fill opacity=1 ] (435,360.2) -- (445,360.2) -- (445,370.2) -- (435,370.2) -- cycle ; +%Straight Lines [id:da2685557233524062] +\draw (195,320.2) -- (233,320.2) ; +\draw [shift={(235,320.2)}, rotate = 180] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da5040902325155946] +\draw (245,320.2) -- (283,320.2) ; +\draw [shift={(285,320.2)}, rotate = 180] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da23372356557427354] +\draw (295,320.2) -- (333,320.2) ; +\draw [shift={(335,320.2)}, rotate = 180] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da3492035484473165] +\draw (345,320.2) -- (383,320.2) ; +\draw [shift={(385,320.2)}, rotate = 180] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da7355068931076582] +\draw (395,320.2) -- (433,320.2) ; +\draw [shift={(435,320.2)}, rotate = 180] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da5963675782655966] +\draw (240,360.2) -- (240,342.2) ; +\draw [shift={(240,340.2)}, rotate = 450] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da25438810563128456] +\draw (290,360.2) -- (290,342.2) ; +\draw [shift={(290,340.2)}, rotate = 450] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da0898759027478615] +\draw (340,360.2) -- (340,342.2) ; +\draw [shift={(340,340.2)}, rotate = 450] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da048004942866543776] +\draw (390,360.2) -- (390,342.2) ; +\draw [shift={(390,340.2)}, rotate = 450] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da6977425959953297] +\draw (440,360.2) -- (440,342.2) ; +\draw [shift={(440,340.2)}, rotate = 450] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da2729388459188121] +\draw (240,245) -- (240,222) ; +\draw [shift={(240,220)}, rotate = 450] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da7680569182658733] +\draw (240,210.2) -- (240,192.2) ; +\draw [shift={(240,190.2)}, rotate = 450] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da5733563296850964] +\draw (290,245) -- (290,222.2) ; +\draw [shift={(290,220.2)}, rotate = 450] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da680702368665714] +\draw (290,210.2) -- (290,192.2) ; +\draw [shift={(290,190.2)}, rotate = 450] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da6025730986801473] +\draw (340,245) -- (340,222.2) ; +\draw [shift={(340,220.2)}, rotate = 450] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da282945713343457] +\draw (340,210.2) -- (340,192.2) ; +\draw [shift={(340,190.2)}, rotate = 450] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da509383342708936] +\draw (390,245) -- (390,222.2) ; +\draw [shift={(390,220.2)}, rotate = 450] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da8363080800050275] +\draw (390,210) -- (390,192) ; +\draw [shift={(390,190)}, rotate = 450] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da14158660427308123] +\draw (440,245) -- (440,222.2) ; +\draw [shift={(440,220.2)}, rotate = 450] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da21152090321318273] +\draw (440,210.2) -- (440,192.2) ; +\draw [shift={(440,190.2)}, rotate = 450] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da8945337878346508] +\draw (245,170.2) -- (283,170.2) ; +\draw [shift={(285,170.2)}, rotate = 180] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da7513787913965151] +\draw (295,170.2) -- (333,170.2) ; +\draw [shift={(335,170.2)}, rotate = 180] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da5849541410625336] +\draw (345,170.2) -- (383,170.2) ; +\draw [shift={(385,170.2)}, rotate = 180] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da5667205214589456] +\draw (395,170.2) -- (433,170.2) ; +\draw [shift={(435,170.2)}, rotate = 180] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da1450905938267968] +\draw (240,300.2) -- (240,260) ; +\draw [shift={(240,260)}, rotate = 450] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (0,5.59) -- (0,-5.59) ; + +%Straight Lines [id:da7438413174045165] +\draw (290,300.2) -- (290,260) ; +\draw [shift={(290,260)}, rotate = 450] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (0,5.59) -- (0,-5.59) ; + +%Straight Lines [id:da47917785002306357] +\draw (340,300.2) -- (340,260) ; +\draw [shift={(340,260)}, rotate = 450] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (0,5.59) -- (0,-5.59) ; + +%Straight Lines [id:da11046923965767563] +\draw (390,300.2) -- (390,260) ; +\draw [shift={(390,260)}, rotate = 450] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (0,5.59) -- (0,-5.59) ; + +%Straight Lines [id:da08901925475903005] +\draw (440,300.2) -- (440,260) ; +\draw [shift={(440,260)}, rotate = 450] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (0,5.59) -- (0,-5.59) ; + +%Curve Lines [id:da08197621347833473] +\draw [dash pattern={on 0.84pt off 2.51pt}] (245,250) .. controls (250.01,250.25) and (260.41,249.45) .. (260,315) .. controls (259.6,379.56) and (289.74,411.24) .. (290.01,372.04) ; +\draw [shift={(290,370.2)}, rotate = 449.09] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Flowchart: Manual Operation [id:dp4396368831757057] +\draw [fill={rgb, 255:red, 248; green, 231; blue, 28 } ,fill opacity=1 ] (110.06,335.81) -- (80,345) -- (80.3,295) -- (110.25,304.56) -- cycle ; +%Shape: Rectangle [id:dp5940754801413755] +\draw [fill={rgb, 255:red, 139; green, 87; blue, 42 } ,fill opacity=1 ] (135,340.06) -- (125,340) -- (125.24,300) -- (135.24,300.06) -- cycle ; +%Straight Lines [id:da7179151908322172] +\draw (160,320) -- (183,320) ; +\draw [shift={(185,320)}, rotate = 180] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da8222243821390285] +\draw (110,319.8) -- (123,319.97) ; +\draw [shift={(125,320)}, rotate = 180.76] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da0508587456702444] +\draw (55,319.8) -- (78,319.8) ; +\draw [shift={(80,319.8)}, rotate = 180] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Shape: Rectangle [id:dp7366752321316596] +\draw [color={rgb, 255:red, 155; green, 155; blue, 155 } ,draw opacity=1 ] (0,235) -- (450,235) -- (450,405) -- (0,405) -- cycle ; +%Shape: Rectangle [id:dp3750040358352149] +\draw [fill={rgb, 255:red, 80; green, 227; blue, 194 } ,fill opacity=1 ] (159.76,340.06) -- (149.76,340) -- (150,300) -- (160,300.06) -- cycle ; +%Straight Lines [id:da19374512728659743] +\draw (135.15,320.37) -- (148,320.05) ; +\draw [shift={(150,320)}, rotate = 538.5799999999999] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Shape: Rectangle [id:dp47385374759741683] +\draw [color={rgb, 255:red, 155; green, 155; blue, 155 } ,draw opacity=1 ] (175,0) -- (660,0) -- (660,275) -- (175,275) -- cycle ; +%Image [id:dp32988518462979977] +\draw (35.15,319.85) node [rotate=-270] {\includegraphics[width=37.27pt,height=37.73pt]{figs/automobile4.png}}; +%Straight Lines [id:da5879846907683453] +\draw (240,390) -- (240,372) ; +\draw [shift={(240,370)}, rotate = 450] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Flowchart: Manual Operation [id:dp007578134518853474] +\draw [fill={rgb, 255:red, 248; green, 193; blue, 28 } ,fill opacity=1 ] (495,62.5) -- (480,70) -- (480,30) -- (495,37.5) -- cycle ; +%Curve Lines [id:da8490263490155995] +\draw (445,170) .. controls (473.57,170) and (437.61,51.63) .. (478.1,49.99) ; +\draw [shift={(480,50)}, rotate = 182.63] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da5330345451048247] +\draw (495,50) -- (513,50) ; +\draw [shift={(515,50)}, rotate = 180] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Shape: Circle [id:dp6782727124197175] +\draw (525,50) .. controls (525,47.24) and (522.76,45) .. (520,45) .. controls (517.24,45) and (515,47.24) .. (515,50) .. controls (515,52.76) and (517.24,55) .. (520,55) .. controls (522.76,55) and (525,52.76) .. (525,50) -- cycle ; +%Curve Lines [id:da2894780616887813] +\draw [dash pattern={on 4.5pt off 4.5pt}] (75,95) .. controls (75,83) and (76.5,167) .. (75,225) .. controls (73.52,282.13) and (37.6,256.79) .. (35.09,293.29) ; +\draw [shift={(35,295)}, rotate = 272.2] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Curve Lines [id:da6247474144108391] +\draw [dash pattern={on 4.5pt off 4.5pt}] (75,95) .. controls (75,83) and (392.5,93) .. (430,35) .. controls (467.31,-22.71) and (598.18,43.33) .. (526.1,49.91) ; +\draw [shift={(525,50)}, rotate = 355.4] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Curve Lines [id:da6534864188338038] +\draw [dash pattern={on 0.84pt off 2.51pt}] (295,250) .. controls (300.01,250.25) and (310.41,249.45) .. (310,315) .. controls (309.6,379.56) and (339.74,411.24) .. (340.01,372.04) ; +\draw [shift={(340,370.2)}, rotate = 449.09] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Curve Lines [id:da6472264546290967] +\draw [dash pattern={on 0.84pt off 2.51pt}] (345,250) .. controls (350.01,250.25) and (360.41,249.45) .. (360,315) .. controls (359.6,379.56) and (389.74,411.24) .. (390.01,372.04) ; +\draw [shift={(390,370.2)}, rotate = 449.09] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Curve Lines [id:da39344506612896] +\draw [dash pattern={on 0.84pt off 2.51pt}] (395,250) .. controls (400.01,250.25) and (410.41,249.45) .. (410,315) .. controls (409.6,379.56) and (439.74,411.24) .. (440.01,372.04) ; +\draw [shift={(440,370.2)}, rotate = 449.09] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Flowchart: Manual Operation [id:dp6944315660829354] +\draw [fill={rgb, 255:red, 248; green, 231; blue, 28 } ,fill opacity=1 ] (560,214.07) -- (590,204.7) -- (590,254.7) -- (560,245.32) -- cycle ; +%Flowchart: Manual Operation [id:dp005801608009880499] +\draw [fill={rgb, 255:red, 248; green, 231; blue, 28 } ,fill opacity=1 ] (560,154.07) -- (590,144.7) -- (590,194.7) -- (560,185.32) -- cycle ; +%Flowchart: Manual Operation [id:dp49721375096092335] +\draw [fill={rgb, 255:red, 248; green, 231; blue, 28 } ,fill opacity=1 ] (560,94.07) -- (590,84.7) -- (590,134.7) -- (560,125.32) -- cycle ; +%Straight Lines [id:da10210386975886787] +\draw (605,109.7) -- (592,109.7) ; +\draw [shift={(590,109.7)}, rotate = 360] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da29113885909787884] +\draw (605,169.7) -- (592,169.7) ; +\draw [shift={(590,169.7)}, rotate = 360] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da8580047218276738] +\draw (605,229.7) -- (592,229.7) ; +\draw [shift={(590,229.7)}, rotate = 360] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da7778555554803628] +\draw (560,229.7) -- (547,229.7) ; +\draw [shift={(545,229.7)}, rotate = 360] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da6537304570220761] +\draw (560,169.7) -- (547,169.7) ; +\draw [shift={(545,169.7)}, rotate = 360] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da5443579567607606] +\draw (560,109.7) -- (547,109.7) ; +\draw [shift={(545,109.7)}, rotate = 360] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Shape: Circle [id:dp7372645347096265] +\draw (545,109.7) .. controls (545,106.93) and (542.76,104.7) .. (540,104.7) .. controls (537.24,104.7) and (535,106.93) .. (535,109.7) .. controls (535,112.46) and (537.24,114.7) .. (540,114.7) .. controls (542.76,114.7) and (545,112.46) .. (545,109.7) -- cycle ; +%Shape: Circle [id:dp8215305482858827] +\draw (545,169.7) .. controls (545,166.93) and (542.76,164.7) .. (540,164.7) .. controls (537.24,164.7) and (535,166.93) .. (535,169.7) .. controls (535,172.46) and (537.24,174.7) .. (540,174.7) .. controls (542.76,174.7) and (545,172.46) .. (545,169.7) -- cycle ; +%Shape: Circle [id:dp5647557516097186] +\draw (545,229.7) .. controls (545,226.93) and (542.76,224.7) .. (540,224.7) .. controls (537.24,224.7) and (535,226.93) .. (535,229.7) .. controls (535,232.46) and (537.24,234.7) .. (540,234.7) .. controls (542.76,234.7) and (545,232.46) .. (545,229.7) -- cycle ; +%Curve Lines [id:da7603817233693585] +\draw (499.88,169.73) .. controls (528.44,169.73) and (499.88,112.13) .. (533.42,109.76) ; +\draw [shift={(535,109.7)}, rotate = 538.94] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Curve Lines [id:da8037675615430322] +\draw (499.88,169.73) .. controls (528.44,169.73) and (499.88,228.56) .. (533.42,229.68) ; +\draw [shift={(535,229.7)}, rotate = 538.94] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da7729815249781825] +\draw (499.88,169.73) -- (533,169.7) ; +\draw [shift={(535,169.7)}, rotate = 539.95] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Straight Lines [id:da02490753761863007] +\draw (445,169.7) -- (463,169.7) ; +\draw [shift={(465,169.7)}, rotate = 180] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Image [id:dp24145747753995328] +\draw (629.85,229.85) node {\includegraphics[width=37.27pt,height=37.73pt]{figs/automobile4.png}}; +%Image [id:dp34113974008285053] +\draw (630,109.7) node {\includegraphics[width=37.5pt,height=37.5pt]{figs/horse5.png}}; +%Image [id:dp16216693762276257] +\draw (630,169.7) node {\includegraphics[width=37.5pt,height=37.5pt]{figs/ship1.png}}; +%Shape: Rectangle [id:dp3650544075750739] +\draw [fill={rgb, 255:red, 184; green, 233; blue, 134 } ,fill opacity=1 ] (474.76,189.76) -- (464.76,189.69) -- (465,149.7) -- (475,149.76) -- cycle ; +%Straight Lines [id:da03277095951677189] +\draw (475,169.7) -- (493,169.7) ; +\draw [shift={(495,169.7)}, rotate = 180] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] [draw opacity=0] (8.93,-4.29) -- (0,0) -- (8.93,4.29) -- cycle ; + +%Shape: Rectangle [id:dp04195687510957602] +\draw [fill={rgb, 255:red, 82; green, 2; blue, 208 } ,fill opacity=1 ] (494.88,149.73) -- (504.88,149.73) -- (504.88,189.73) -- (494.88,189.73) -- cycle ; + +% Text Node +\draw (224,147.7) node [align=left] {$\displaystyle h^{r}_{1}$}; +% Text Node +\draw (274,147.5) node [align=left] {$\displaystyle h^{r}_{2}$}; +% Text Node +\draw (324,147.7) node [align=left] {$\displaystyle h^{r}_{3}$}; +% Text Node +\draw (374,147.7) node [align=left] {$\displaystyle h^{r}_{4}$}; +% Text Node +\draw (424,147.7) node [align=left] {$\displaystyle h^{r}_{5}$}; +% Text Node +\draw (224,297.5) node [align=left] {$\displaystyle h^{s}_{1}$}; +% Text Node +\draw (274,297.5) node [align=left] {$\displaystyle h^{s}_{2}$}; +% Text Node +\draw (322,297.5) node [align=left] {$\displaystyle h^{s}_{3}$}; +% Text Node +\draw (372,297.5) node [align=left] {$\displaystyle h^{s}_{4}$}; +% Text Node +\draw (422,297.5) node [align=left] {$\displaystyle h^{s}_{5}$}; +% Text Node +\draw (176,297.7) node [align=left] {$\displaystyle h^{s}_{0}$}; +% Text Node +\draw (224,247) node [align=left] {$\displaystyle w_{1}$}; +% Text Node +\draw (274,247) node [align=left] {$\displaystyle w_{2}$}; +% Text Node +\draw (324,247) node [align=left] {$\displaystyle w_{3}$}; +% Text Node +\draw (374,247) node [align=left] {$\displaystyle w_{4}$}; +% Text Node +\draw (424,247.2) node [align=left] {$\displaystyle w_{5}$}; +% Text Node +\draw (26,244) node [align=left] {Sender}; +% Text Node +\draw (208.5,11) node [align=left] {Receiver}; +% Text Node +\draw (141.5,354.5) node [rotate=-270] [align=left] {{\scriptsize BatchNorm}}; +% Text Node +\draw (116,351.5) node [scale=0.7,rotate=-270] [align=left] {Projection}; +% Text Node +\draw (89,318) node [scale=0.7,rotate=-270] [align=left] {VGG16 }; +% Text Node +\draw (101,319) node [scale=0.7,rotate=-270] [align=left] {relu 7}; +% Text Node +\draw (205,376) node [scale=0.7] [align=left] {Embedding}; +% Text Node +\draw (240.5,396) node [scale=0.7] [align=left] {SoS}; +% Text Node +\draw (205,224) node [scale=0.7] [align=left] {Embedding}; +% Text Node +\draw (88.5,65.5) node [scale=0.7] [align=left] {Random rotation\\$\displaystyle \theta \ \in \left\{0^{\degree } ,90^{\degree } ,180^{\degree } ,270^{\degree }\right\}$}; +% Text Node +\draw (487.5,48) node [scale=0.7,rotate=-268.91] [align=left] {MLP}; +% Text Node +\draw (221.5,269) node [scale=0.7] [align=left] {ST-GS}; +% Text Node +\draw (456,204.5) node [scale=0.7,rotate=-270] [align=left] {BatchNorm}; +% Text Node +\draw (581,231.7) node [scale=0.7,rotate=-90] [align=left] {VGG16 }; +% Text Node +\draw (569,230.7) node [scale=0.7,rotate=-90] [align=left] {relu 7}; +% Text Node +\draw (581,171.7) node [scale=0.7,rotate=-90] [align=left] {VGG16 }; +% Text Node +\draw (569,170.7) node [scale=0.7,rotate=-90] [align=left] {relu 7}; +% Text Node +\draw (581,111.7) node [scale=0.7,rotate=-90] [align=left] {VGG16 }; +% Text Node +\draw (569,110.7) node [scale=0.7,rotate=-90] [align=left] {relu 7}; +% Text Node +\draw (484,201.5) node [scale=0.7,rotate=-270] [align=left] {Projection}; + + +\end{tikzpicture} + diff --git a/Thursday/introduction/figs/horse5.png b/Thursday/introduction/figs/horse5.png new file mode 100644 index 00000000..9817c1f9 Binary files /dev/null and b/Thursday/introduction/figs/horse5.png differ diff --git a/Thursday/introduction/figs/k-means.png b/Thursday/introduction/figs/k-means.png new file mode 100644 index 00000000..d95a9f31 Binary files /dev/null and b/Thursday/introduction/figs/k-means.png differ diff --git a/Thursday/introduction/figs/ship1.png b/Thursday/introduction/figs/ship1.png new file mode 100644 index 00000000..f5aaa66c Binary files /dev/null and b/Thursday/introduction/figs/ship1.png differ diff --git a/Thursday/introduction/imggen.pdf b/Thursday/introduction/imggen.pdf new file mode 100644 index 00000000..04fac0f5 Binary files /dev/null and b/Thursday/introduction/imggen.pdf differ diff --git a/Thursday/introduction/intro.aux b/Thursday/introduction/intro.aux new file mode 100644 index 00000000..ba02e86b --- /dev/null +++ b/Thursday/introduction/intro.aux @@ -0,0 +1,89 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldcontentsline\contentsline +\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\contentsline\oldcontentsline +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand\HyField@AuxAddToFields[1]{} +\providecommand\HyField@AuxAddToCoFields[2]{} +\@writefile{toc}{\beamer@endinputifotherversion {3.36pt}} +\@writefile{nav}{\beamer@endinputifotherversion {3.36pt}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{2}{2/9}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {2}{9}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{3}{10/13}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {10}{13}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{4}{14/17}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {14}{17}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{5}{18/20}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {18}{20}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{6}{21/21}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {21}{21}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{7}{22/22}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {22}{22}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{8}{23/23}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {23}{23}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{9}{24/24}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {24}{24}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{10}{25/25}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {25}{25}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{11}{26/26}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {26}{26}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{12}{27/27}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {27}{27}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{13}{28/28}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {28}{28}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{14}{29/29}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {29}{29}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{15}{30/30}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {30}{30}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{16}{31/31}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {31}{31}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{17}{32/32}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {32}{32}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{18}{33/35}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {33}{35}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{19}{36/36}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {36}{36}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{20}{37/37}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {37}{37}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{21}{38/38}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {38}{38}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{22}{39/40}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {39}{40}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{23}{41/41}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {41}{41}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{24}{42/46}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {42}{46}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{25}{47/49}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {47}{49}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{26}{50/50}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {50}{50}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{27}{51/51}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {51}{51}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{28}{52/52}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {52}{52}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{29}{53/57}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {53}{57}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{30}{58/61}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {58}{61}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{31}{62/62}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {62}{62}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{32}{63/63}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {63}{63}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{63}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{63}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{63}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {63}}} +\@writefile{nav}{\headcommand {\def \inserttotalframenumber {32}}} diff --git a/Thursday/introduction/intro.fdb_latexmk b/Thursday/introduction/intro.fdb_latexmk new file mode 100644 index 00000000..5adfe831 --- /dev/null +++ b/Thursday/introduction/intro.fdb_latexmk @@ -0,0 +1,313 @@ +# Fdb version 3 +["pdflatex"] 1596029515 "intro.tex" "intro.pdf" "intro" 1596029520 + "/usr/local/texlive/2016/texmf-dist/fonts/enc/dvips/lm/lm-mathit.enc" 1202520719 2405 5dcf2c1b967ee25cc46c58cd52244aed "" + "/usr/local/texlive/2016/texmf-dist/fonts/enc/dvips/lm/lm-mathsy.enc" 1202520719 2840 216e6e45ad352e2456e1149f28885bee "" + "/usr/local/texlive/2016/texmf-dist/fonts/enc/dvips/lm/lm-rm.enc" 1202520719 2327 9d6df24f9c4f7368395224341a95523a "" + "/usr/local/texlive/2016/texmf-dist/fonts/enc/dvips/lm/lm-rmtt.enc" 1254269338 2359 de53213020575850c8f8debc35095765 "" + "/usr/local/texlive/2016/texmf-dist/fonts/map/fontname/texfonts.map" 1272929888 3287 e6b82fe08f5336d4d5ebc73fb1152e87 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" 1246382020 916 f87d7c45f9c908e672703b83b72241a3 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm" 1246382020 924 9904cf1d39e9767e7a3622f2a125a565 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm" 1246382020 928 2dc8d444221b7a635bb58038579b861a "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm" 1246382020 908 2921f8a10601f252058503cc6570e581 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm" 1246382020 940 75ac932a52f80982a9f8ea75d03a34cf "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" 1246382020 940 228d6584342e91276bf566bcf9716b83 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/cm/cmr10.tfm" 1136768653 1296 45809c5a464d5f32c8f98ba97c1bb47f "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/cm/cmss10.tfm" 1136768653 1316 b636689f1933f24d1294acdf6041daaa "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/latex-fonts/lasy6.tfm" 1136768653 520 4889cce2180234b97cad636b6039c722 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmbsy10.tfm" 1148093231 1300 2df9da0fc09d4a8c772b3dd386a47c6a "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmbsy5.tfm" 1148093231 1304 2ff0a255ae754422adbc0e6519ed2658 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmbsy7.tfm" 1148093231 1304 535e0954c1961c817723e44bc6a9662c "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmi10.tfm" 1148093231 1528 6d36b2385e0ca062a654de6ac59cb34f "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmi5.tfm" 1148093231 1508 198f5b7b99b5769126de3a533f6fc334 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmi6.tfm" 1148093231 1512 94a3fd88c6f27dbd9ecb46987e297a4e "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmi7.tfm" 1148093231 1528 d5b028dd23da623848ef0645c96a1ed7 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmi8.tfm" 1148093231 1520 a3fe5596932db2db2cbda300920dd4e9 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmi9.tfm" 1148093231 1524 cdf05765c2a8bdb569ea0aa208fb0947 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmib10.tfm" 1148093231 1524 94d8ba2701edc3d8c3337e16e222f220 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmib5.tfm" 1148093231 1496 026e52505574e5c5b11a8037b8db27d0 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmib7.tfm" 1148093231 1508 e1d41318430466dfe2207ded55ef3af5 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmsy10.tfm" 1148093231 1308 02cc510f9dd6012e5815d0c0ffbf6869 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmsy5.tfm" 1148093231 1296 54ed1a711e2303d5282575278e3620b0 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmsy6.tfm" 1148093231 1300 b0605d44c16c22d99dc001808e4f24ea "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmsy7.tfm" 1148093231 1304 32f22a15acc296b2a4e15698403dcb88 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmsy8.tfm" 1148093231 1304 cdc9a17df9ef0d2dc320eff37bbab1c4 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmsy9.tfm" 1148093231 1300 ca37bc0213808d24f74bf4d32f81f80d "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmbx10.tfm" 1254269338 11880 35fcf136a2198418dfc53c83e9e2a07f "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmbx5.tfm" 1254269338 11828 9b1880528bdbe7e6035fd1b46bff1bbb "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmbx6.tfm" 1254269338 11852 eda7061aa4cc8552ba736dae866e4460 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmbx7.tfm" 1254269338 11864 44cdb751af976143ebc0bed7eb1df9f4 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmbx8.tfm" 1254269338 11868 731e03b24d399279cf9609d002110394 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmbx9.tfm" 1254269338 11872 6fc83bd89656207db7e11b4f7ac7546e "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmss10.tfm" 1254269338 10976 59d4d2acacc56ba9abc92645023932ec "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmss12.tfm" 1254269338 11024 7a83ae8920360cd8bd5d0289069119dc "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmss8.tfm" 1254269338 10976 d5243dcaf5ba5ee7825c8438c6b7a7ea "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmss9.tfm" 1254269338 11004 a6c4e1a908f2608664e4229dbcec5884 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmssbo10.tfm" 1254269338 11100 63e3ab1ae1c36b6ee8fe1fb950fbc47f "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmssbx10.tfm" 1254269338 10956 dad25672db463289a56f0700c0488a86 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmsso10.tfm" 1254269338 11124 45afcc3392e4ed490e3ca106dafbddb6 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmsso8.tfm" 1254269338 11116 d670ad90f18594ffaf944880fa74d3a0 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmsso9.tfm" 1254269338 11148 556d22f1f33c06fa46531ff378cee203 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmtt10.tfm" 1254269338 1340 adaa94f9add991a099a6fc98bbb5f02c "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmtt8.tfm" 1254269338 1348 e9ce72e654d76f23fb9e1b8842e0576a "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmtt9.tfm" 1254269338 1340 95bafc1340b1c519d1b4b4bcc33f5afc "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/yhmath/yhcmex10.tfm" 1136768653 1684 af67583ad46e8b1511363fd580d94047 "" + "/usr/local/texlive/2016/texmf-dist/fonts/tfm/public/yhmath/yrcmex10.tfm" 1373332436 1620 5f588695c5b013ab7525f15c9cc45014 "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb" 1248133631 30251 6afa5cb1d0204815a708a080681d4674 "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb" 1248133631 34694 ad62b13721ee8eda1dcc8993c8bd7041 "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmbx10.pfb" 1255129361 121021 1bf809ce4a594679006bd72263eba59b "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmmi10.pfb" 1254269338 30388 702fae6a5f0e6e9c48a1d872b442ffcf "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmmi8.pfb" 1254269338 30635 833ec815d446ec453a4913fc26d24cbc "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmmi9.pfb" 1254269338 30698 e53a423459271d6c5cdd91f7559396af "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmmib10.pfb" 1254269338 30962 099bdeb826f0ac8e2d3f42a496d47e5f "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmss10.pfb" 1255129361 97408 f595704ec2a07246c2d6f7b602587452 "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmss12.pfb" 1255129361 96107 daf52840b555e3b38f9679b629b5e2df "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmss8.pfb" 1255129361 94400 e33ecfb646a9f148e2e53da01a9168fe "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmss9.pfb" 1255129361 95954 039cb8d6009e8fc5ea194e3e167ecc5f "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmssbo10.pfb" 1255129361 137678 2aaabe8e92a4a04077c932d1efd80d4b "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmssbx10.pfb" 1255129361 119663 e82fa1a58f98ccd89bdbd77311ac9cf1 "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmsso10.pfb" 1255129361 108953 1f7b36ba493bc956ac3c5eab8852ab76 "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmsso8.pfb" 1255129361 106860 a773e4958b589eadcc5b01a914624508 "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmsso9.pfb" 1255129361 106652 ff05a0e8c2fd1774314bcad2c26aa3e8 "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmsy10.pfb" 1254269338 27863 09ce3735688ffde955e72da27c95b61a "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmsy6.pfb" 1254269338 28109 6d61305ed3d0eb794ebe36f15cf44aa0 "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmsy7.pfb" 1254269338 27941 d1f5d03f61a46c3fcc3a2ba904ddda52 "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmsy8.pfb" 1254269338 27802 5c876bb2c4040caaf035d60bd74a86bd "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmsy9.pfb" 1254269338 27835 16c2fa83351d4ef8cf5aebfab8a44bc1 "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmtt10.pfb" 1255129361 113227 1010e11451afc2822c95dae77c390042 "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmtt9.pfb" 1255129361 108480 ee1de99df36ee0a16b36023b9c9d8a58 "" + "/usr/local/texlive/2016/texmf-dist/fonts/type1/public/yhmath/yhcmex.pfb" 1136849748 29149 12e9917f211cd378368e00ecedab5827 "" + "/usr/local/texlive/2016/texmf-dist/fonts/vf/public/yhmath/yhcmex10.vf" 1373332436 2112 d9f61c10dc1066e46e90384e3419c5ee "" + "/usr/local/texlive/2016/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1461363279 71627 94eb9990bed73c364d7f53f960cc8c5b "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/ifxetex/ifxetex.sty" 1284331290 1458 43ab4710dc82f3edeabecd0d099626b2 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/mathdots/mathdots.sty" 1403133166 3545 2e7fb9dbd038771232ff5a5db5f98d0d "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/atbegshi.sty" 1463608860 24460 66a04162043cc9289e7dd7107254e806 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/gettitlestring.sty" 1463608860 8237 3b62ef1f7e2c23a328c814b3893bc11f "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty" 1463608860 184907 0684df819a7b0db4d40278012ce92791 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty" 1463608860 70752 b461cacad0518ee92bfe2446909a53a8 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifpdf.sty" 1463348357 1226 01a89dfef361f60ae7df13cd2946bc16 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifvtex.sty" 1463608860 6797 90b7f83b0ad46826bc16058b1e3d48df "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/infwarerr.sty" 1463608860 8253 473e0e41f9adadb1977e8631b8f72ea6 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ltxcmds.sty" 1463608860 18425 5b3c0c59d76fac78978b5558e83c1f36 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex" 1288312291 1006 b103be0bfc8c1682ff1fa9760697a329 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex" 1439074469 43226 167a99346bfe2676e3efcdde2d81fe45 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex" 1439074469 19302 4f089dc590e71f7331e6d5b5ea85273b "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex" 1439074469 6068 edae1e768a7d8d8f0f00e953d2b0153e "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex" 1393459310 7041 a891ad72049e17c4e366c40ca37b0ccb "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex" 1393459310 4625 40c07e9f6f2f7c674704b3f2055560ce "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex" 1203877327 2631 7eefa6cdbefd8d4e2bad7262cf1094cd "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex" 1393459310 43477 81143b33d9ebafdeead07ede13372427 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex" 1393459310 17436 8d99d4113be311daf23deff86991ee7d "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex" 1439074469 20772 c57e34db4aa7b1da013169d04b743eac "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex" 1393459310 9641 711f0edc22c180a5caf168b6e8970057 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex" 1393459310 34516 658a71478d21df554bce9d9cd436203a "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex" 1288312291 3052 e5672c657232fd63b0a9853b0746297c "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex" 1439074469 16669 4ec6e40088fc6de6334b443fe2dc59f0 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex" 1393459310 21541 4cd19f8ff7dd74d5aa7d803a6397af84 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex" 1439074469 19998 d77fef95c7369827753d17fd11be19c4 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex" 1393459310 8943 2e2495b057f8f0035b5568394d489963 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryarrows.code.tex" 1203727794 437 cf40f841f40822be6cb995f8b47112fd "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryautomata.code.tex" 1288312291 3962 3fc49484e857417cc0a69a12ea852b8a "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex" 1393459310 15934 b941bd3ae7b33179029513707d1f0ff6 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfadings.code.tex" 1288312291 1298 83d7449064b0f0f089f1898a244b6d16 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.code.tex" 1203727794 884 60c3d56b80194544f9ecdae97dd5e286 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshadows.code.tex" 1203727794 3001 d54bab2f783098ed890fabbeb437b04f "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.multipart.code.tex" 1203727794 1004 86af66805a9d0b62bd41ea0796a64d50 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex" 1288312291 11599 d694704a88e2f9007c996d3a6a4d629c "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex" 1439074469 176652 1c2926908e2b356d454795c35385d580 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex" 1393459310 31927 7acd27f90dd95ce67ad32166cd0b95ec "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibraryfadings.code.tex" 1203727794 2647 defb4a59c2a1d36127a1ac6eebb4a5c1 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex" 1288312291 7874 56ca58561783fbca7be095fa7178e656 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex" 1393459310 32969 dbcfd5a7de6a0f7255c333ef60287d59 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.multipart.code.tex" 1288312291 49891 e74f8181c57d9359c941b6bee48fccc2 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex" 1393459310 454 9e9e7c99f4da4f41698be21eaef4938e "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex" 1393459310 13416 940ea6971d7a65dc440d3479939c66ae "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex" 1439074469 94097 62ac62cda46eb715560dc27f9ed6e8b1 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex" 1393459310 9375 5adc70f722abd29fc250d59e0694b548 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex" 1439074469 22069 7c21c42b15718ce922f36235be360490 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex" 1439074469 8210 a7be5b52ef3d2c087b7dc3d52898b67e "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex" 1288312291 3534 c7f28fbac13616513e513efe93b8569b "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex" 1393459310 3167 7c9394e79aac27db96a92f9b2792b858 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex" 1439074469 9289 261407875b9dbb0194691c3eb893610f "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex" 1439074469 7078 946ddf4a7e57219b6afdbad98eb6731b "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex" 1288312291 2688 139c6abc86761a6190c2f4bef5d752be "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex" 1439074469 92284 dcf023dbaa84e6c50e11c2f79fe8cfa6 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex" 1439074469 35430 046e15fbb65e74d8f0e7945f99741fdb "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex" 1393459310 7099 f44d505bae6c7c2b933cdd63441db4b9 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex" 1393459310 20934 2328bd2e04520e1ab077ac4ee13b8935 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex" 1439074469 16203 83cbe1220e389eeee283a6168f9a567b "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex" 1439074469 42906 d54376d96df1a2ae2d33fb722236d8e9 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg" 1288312291 978 15af626ebd3d4d790aac19170dac04f2 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def" 1393459310 5437 d91f93ed61ecdc57e119849b2d784a0b "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def" 1439074469 13507 809d848d9262638e1b1705a68a73c566 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex" 1439074469 35113 2ccc50c1c9573e4bac9230d030f9c67c "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex" 1203877327 1983 b5994ebbcee17f1ba3d29bb1bd696fcf "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex" 1393459310 7881 d459d6057e13d10ce7a227ae44b7295e "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex" 1393459310 22211 d696ef78c12269178882d218b2cf191d "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex" 1393459310 36194 e194ef4e0b396b531a3891feb4b1cc22 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex" 1393459310 33377 af391d6ad1bfcbe2278e191f48e43ba8 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex" 1440888734 2536 a3b0529d815a2759ba157b56610a6377 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex" 1393459310 6833 114eda2cf1d348e0e7e477a1a4dc1941 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex" 1439074469 16501 ab0135765e27b6b8dae047831fe84818 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def" 1439074469 5544 294baac9629ba59f675b1f2027ad7136 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/ulem/ulem.sty" 1338588421 23756 854c01b779030ff5b2aad88ba7a119f2 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/unicode-data/CaseFolding.txt" 1449876215 74499 11c335947e5ffa8ac69a3e530b8d2b40 "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/unicode-data/SpecialCasing.txt" 1449876215 16740 4c17368651bc455636f58c3366bdbbeb "" + "/usr/local/texlive/2016/texmf-dist/tex/generic/unicode-data/UnicodeData.txt" 1449876215 1621978 3a83069e69e2a9101dc4749593cd3268 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/amscls/amsthm.sty" 1428861406 12225 3cca0d18522255979a1047206228b9d0 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/amsfonts.sty" 1359763108 5949 3f3fd50a8cc94c3d4cbf4fc66cd3df1c "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/amssymb.sty" 1359763108 13829 94730e64147574077f8ecfea9bb69af4 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/umsa.fd" 1359763108 961 6518c6525a34feb5e8250ffa91731cff "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/umsb.fd" 1359763108 961 d02606146ba5601b5645f987c92e6193 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsbsy.sty" 1456875012 2210 5c54ab129b848a5071554186d0168766 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsgen.sty" 1456875012 4160 c115536cf8d4ff25aa8c1c9bc4ecb79a "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsmath.sty" 1459635588 82019 58dd7b022876c1d593cd2135c441946d "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsopn.sty" 1459635588 4115 318a66090112f3aa3f415aeb6fe8540f "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amstext.sty" 1456875012 2431 fe3078ec12fc30287f568596f8e0b948 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/base/size11.clo" 1459635588 8308 f91506bb4df6d8527331f7bbeaf0e63c "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericonarticle.20.pdf" 1243719999 2958 4e0c4a6e994e5c4d9da11c477e927f0f "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericonarticle.pdf" 1243719999 2936 6cc3ef0682cbb62be8aa1b19f0a84ed6 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericonbook.20.pdf" 1243719999 2734 0bcf939051dd2a936cdfe5982f7c233b "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericonbook.pdf" 1243719999 2667 7624351b441ffe4bd2d14e08fbcf063d "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericononline.20.pdf" 1336690774 24451 195d2c060e84f339954bc6d9b52131d7 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericononline.pdf" 1336690774 24611 df07010540266b2b205b492a4d02e7e1 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamer.cls" 1424819428 11652 d1eb7e7c6dc70b051da03c4df3becb6d "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseauxtemplates.sty" 1424819428 21780 5f489ec6a37f9eeb9ce745f5df45583b "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseboxes.sty" 1337124771 8152 67432f53408b0873c768b45587519831 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasecolor.sty" 1424819428 13019 3c9318abd1e3357443fe791809922993 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasecompatibility.sty" 1336690774 23615 6319bbb4324f4bee99017977c8ae0d16 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasedecode.sty" 1330042237 8196 46ac7d7f25158a930825927ffc652ca1 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasefont.sty" 1424819428 13245 5bcc75bb1885812c681fe98713e4bd2b "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseframe.sty" 1424819428 24929 396878aa27c25ad36ff6c3832a851ef9 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseframecomponents.sty" 1385332860 11686 536054900c4397b6079fa08342a3439a "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseframesize.sty" 1315954328 8859 dafd8fa216da7579c838fdae85e2a114 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaselocalstructure.sty" 1424819428 16358 f2a1983940ebe8ecd324e9efb729077f "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasemisc.sty" 1380839141 7859 e74ac1416e53fb62ad9aaa2a38f60e13 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasemodes.sty" 1380839141 8272 738cc131e9da6be9f6fb7088a3123fc5 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasenavigation.sty" 1425163989 28725 c0bfaa20ea6da12ec36db89d5e6d552b "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasenotes.sty" 1356734651 5169 2b5c46f5aae1011bff912a1b0563d08f "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseoptions.sty" 1372201191 1771 9a9e09ce9b99966cfa1fae34a7379ad4 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseoverlay.sty" 1388099988 26049 0760c785c3cad7739a585a439b697e1d "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasercs.sty" 1425853802 1150 aec60117ad71747c20d97f6493e3d3cd "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaserequires.sty" 1330042237 1768 973a5a56c6e32b2158ac04f40d5c9e34 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasesection.sty" 1372201191 12566 d05c3f949b85a4352a7e2a73bcef3ef1 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetemplates.sty" 1330042237 5867 30b5faf6064b4c1f6cfcae537d53f777 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasethemes.sty" 1330042237 1213 a65cfbdb3da53cdcb42aa357ee2c9a80 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetheorems.sty" 1330042237 4661 d4a08c8dfc775ff80af9a298b59f43f2 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetitle.sty" 1330042237 5576 052b5ee6784b3573f11875ef38a2c090 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetoc.sty" 1425853802 7367 ddc9437eeea0647cc89861eb97a892b1 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetranslator.sty" 1330042237 779 5bf46f7056f65a541979aa9432dfdfd2 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetwoscreens.sty" 1330042237 1516 d9e44becf9c2c14b8d981b7bcfb6305a "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseverbatim.sty" 1424819428 3492 1a29b8c5e7309256d414f79a777fbe4e "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/color/beamercolorthemedefault.sty" 1356734651 7111 734d62bffaf1cebe91f0933f9e726313 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/color/beamercolorthemeorchid.sty" 1330042237 993 9631a39bd8b21319896792aca2fcf958 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/color/beamercolorthemewhale.sty" 1330042237 1170 9d8b3db03d340de7ef9b572c2f7fb40c "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/font/beamerfontthemedefault.sty" 1356734651 4203 af57d0c57c4df9b07cc093bded923ade "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/inner/beamerinnerthemedefault.sty" 1424819428 12853 96c419e8933d04c8ef0cdc1b26023325 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/inner/beamerinnerthemerounded.sty" 1330042237 910 17b1b58c598bd3fee31d5ef054dc9ce6 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/outer/beamerouterthemedefault.sty" 1356734651 6548 8aa4c06cc7f4a89169b2324e0a036323 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/outer/beamerouterthemeinfolines.sty" 1351557273 2051 014b8b318248daa4c8505abc5830749c "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/outer/beamerouterthemesplit.sty" 1351557273 2485 1bcb8e90f2674aca11b6d38a62263b78 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/theme/beamerthemeCopenhagen.sty" 1330042237 547 d252cd7363ef456205ba395eb91d023b "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/theme/beamerthemedefault.sty" 1330042237 509 f06bfcabac6b7c8411f16c350f5110af "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-basic-dictionary/translator-basic-dictionary-English.dict" 1279125320 3435 0a4d096dde3f8fe682c2aedd33b8137d "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-bibliography-dictionary/translator-bibliography-dictionary-English.dict" 1276550127 903 c6d17f0656e9e1abb172b4faebabd617 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-environment-dictionary/translator-environment-dictionary-English.dict" 1276550127 433 bfb8d1c2c020defd2de8e5c276710094 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-months-dictionary/translator-months-dictionary-English.dict" 1276550127 1337 9a6c05e8f0c8b3c5f27cbd0e455cf475 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-numbers-dictionary/translator-numbers-dictionary-English.dict" 1385332860 1638 2bf1a1dea98f8a4d28033fce76e9cc67 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-theorem-dictionary/translator-theorem-dictionary-English.dict" 1276550127 3523 1f9d9b91f7d78b73e74c7e97bca30fb0 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/translator-language-mappings.tex" 1338588496 5067 f1bb98f63e0761f897f48a159127fbb6 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/translator.sty" 1356734651 3824 9ccc2efa439cf13750315a0f20d4f691 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/booktabs/booktabs.sty" 1462233275 5869 94335281ffcab47f341cf07ea8220e30 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/cancel/cancel.sty" 1388445839 7592 dd751af313a16a0308545d5bfd7aaaa2 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/filehook/filehook.sty" 1318545832 12104 88bda8c1ae09e2b6dc29ed32629eafa1 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/geometry/geometry.sty" 1284422013 40502 e003406220954b0716679d7928aedd8a "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1459978653 1213 620bba36b25224fa9b7e1ccb4ecb76fd "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1459978653 3103 f32642b1cd56c010cdfb6545539b7f0b "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphics.sty" 1462915952 14391 bd64a9e5d07473b936423b5f3280ed2c "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphicx.sty" 1428932888 8125 557ab9f1bfa80d369fb45a914aa8a3b4 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/keyval.sty" 1428932888 2594 d18d5e19aa8239cf867fa670c556d2e9 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/trig.sty" 1454284088 3980 0a268fbfda01e381fa95821ab13b6aee "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/hyperref/hpdftex.def" 1462835572 51837 3504c3bd905d546a7e98cebbb2cf6475 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/hyperref/hyperref.sty" 1462835572 231855 3b828733a8d4157331c2822d6ca625a9 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/hyperref/nameref.sty" 1351899753 12847 25b617d63258c4f72870c883493a3cf8 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/hyperref/pd1enc.def" 1462835572 14005 0627be14688b9bcdd822468e0ec3cef1 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3-code.tex" 1463608779 689679 e146572371041b15f7f0cb49a6cbc969 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3.sty" 1463608779 10238 47b1600390b6a09ec63fa44b042e9805 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/l3pdfmode.def" 1463608779 9817 2a0e97b2721dcf8bb2bb608e1d600374 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty" 1463608779 5576 439a093596a3c29adc1139f6dd18458b "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/l3packages/xparse/xparse.sty" 1463608779 61846 f081f1a4b6b2ee9ccff101b890bd41dc "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1279039959 678 4792914a8f45be57bb98413425e4c7af "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/latexconfig/hyperref.cfg" 1254097189 235 6031e5765137be07eed51a510b2b8fb7 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/listings/listings.cfg" 1434304428 1827 d72ad54409ca5c1068a1939c63441bd2 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/listings/listings.sty" 1434304428 80336 ff90c926c3d7bfdaa3d80ca57123b0bb "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/listings/lstlang1.sty" 1434304428 93445 48e5be20ba2d0a2ca5c4ce7e292a4bbc "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/listings/lstmisc.sty" 1434304428 77028 c3eb00afb55a32bc13ca8da7f5234377 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/lm/lmodern.sty" 1257296302 1606 c17281c7cff2bbd7ff0173e1433487ec "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/lm/omllmm.fd" 1257296302 888 44447a3a3af84a22454ef89500942d93 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/lm/omslmsy.fd" 1257296302 805 af340a8260c447aa315cfc740ff0152f "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/lm/ot1lmr.fd" 1257296302 1880 bae7b659316f7344a86218ad38b01d91 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/lm/ot1lmss.fd" 1257296302 1655 27274ffd69942383838a2081fd5be3d1 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/lm/ot1lmtt.fd" 1257296302 2712 a8a977c98484ccc2dbc768e5509e3790 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/ms/everyshi.sty" 1177890616 3878 6aa7c08ff2621006e0603349e40a30a8 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/multirow/multirow.sty" 1137110401 7374 f7c1f13fc632dd5c9b220a247d233082 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/auxhook.sty" 1463608860 3834 4363110eb0ef1eb2b71c8fcbcdb6c357 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty" 1463608860 12095 5337833c991d80788a43d3ce26bd1c46 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/grfext.sty" 1463608860 7075 2fe3d848bba95f139de11ded085e74aa "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/kvoptions.sty" 1463608860 22417 1d9df1eb66848aa31b18a593099cf45c "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty" 1463608860 9581 023642318cef9f4677efe364de1e2a27 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/pdftex-def/pdftex.def" 1306616590 55368 3c8a0d99822330f2dfabc0dfb09ce897 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/pgf-blur/tikzlibraryshadows.blur.code.tex" 1335333685 7525 063a37c856ae2c38332d93e3d457a299 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty" 1439074469 1197 8a80cdde14696a9198f1793a55dcf332 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty" 1288312291 410 5bf12ea7330e5f12c445332a4fe9a263 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty" 1203877327 21115 facf03b7dbe5ea2f5f1dce1ac84b5d05 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty" 1203727794 1091 d9163d29def82ee90370c8a63667742c "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty" 1203877327 339 592cf35cba3d400082b8a9a5d0199d70 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/math/pgfmath.sty" 1393459310 306 0796eafca5e159e6ec2167a6d22d81b1 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty" 1393459310 443 0b2e781830192df35c0fd357cf13e26e "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgffor.sty" 1393459310 348 8927fde343487e003b01a4c2ca34073b "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty" 1203727794 274 4cad6e665cc93ac2ac979039a94fa1e1 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgfpages.sty" 1393459310 32873 2ca10a245e4ef649521aca815f072555 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty" 1203877327 325 2bcd023400636339210573e2b3ee298b "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/xxcolor.sty" 1203877327 2267 e82edfd18fbf4047c6f20ed9467f27db "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty" 1364512039 4280 a62885a2f2d4221d634eb6cd5559e518 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg" 1456955238 4669 d4b1e6c20d99789b945af5bebee2b967 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/siunitx/siunitx.sty" 1456955238 277241 53051eeb3b78a3ae71d2bc17ee26c31d "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/textpos/textpos.sty" 1388878944 11013 3acb1c95f412b6ae96ea34d059d72895 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/tools/array.sty" 1459635588 12398 bd782945c489f84ff012bcea4a712d25 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/tools/bm.sty" 1459635588 12357 b071cb9fa20a55b382209173a509533d "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/tools/calc.sty" 1454284088 10214 d03d065f799d54f6b7e9b175f8d84279 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/tools/enumerate.sty" 1454284088 3467 d39e40f25d5fd2b3b49a58d155063dd6 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/tools/tabularx.sty" 1459635588 7141 64e8a94c3d083215654cd9a5b9dcc136 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/url/url.sty" 1388531844 12796 8edb7d69a20b857904dd0ea757c14ec9 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/was/gensymb.sty" 1137111079 4612 29d19942d7123701aa6a3876b9ba11b1 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/xcolor/xcolor.sty" 1463002160 55589 34128738f682d033422ca125f82e5d62 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/yhmath/OMXyhex.fd" 1373332436 424 b85e63b482284bf60b227745ceb4a991 "" + "/usr/local/texlive/2016/texmf-dist/tex/latex/yhmath/yhmath.sty" 1373332436 986 0b126692d61bf94f21bd6a677519cf4f "" + "/usr/local/texlive/2016/texmf-dist/web2c/texmf.cnf" 1463093894 31953 b9489e6e586f798610c60aec1f5ec548 "" + "/usr/local/texlive/2016/texmf-var/fonts/map/pdftex/updmap/pdftex.map" 1580044329 2186745 0493d9af07cb1db363f95e5eb101bf97 "" + "/usr/local/texlive/2016/texmf-var/web2c/pdftex/pdflatex.fmt" 1487096709 3873397 0d40f4ee94f09a1556d46d87b217ec78 "" + "/usr/local/texlive/2016/texmf.cnf" 1463979140 577 2938757e76f31531e65cc647e3507693 "" + "Fig1.pdf" 1548434005 10513 14e40e49e1bc8e1b93b2fbc92d89509e "" + "figs/RL.pdf" 1548406357 238608 517250ecfef0a40dc914130220712431 "" + "figs/SL.pdf" 1548406357 1757490 ab0e079cf9660e644868d246baeca5dc "" + "figs/SS.png" 1580054279 352458 e914eb6544bf048b7ee2f82b3b056555 "" + "figs/automobile4.png" 1580053656 2557 94ab61d9a1c42d155f8fbd8648d06838 "" + "figs/emecomm_model.tikz" 1580053758 26016 2cc891ef4ae25fe7e2cc67875a9fd92d "" + "figs/horse5.png" 1580053665 2514 0838f3f4f303d395903ee3b7e80711ac "" + "figs/k-means.png" 1580053003 65915 46c17a30c92ebf478409dffa9b4fa8b7 "" + "figs/ship1.png" 1580053660 2418 62f32fd1a3ecb74798a8831335d7061c "" + "imggen.pdf" 1548783567 699824 2494424b04f01ccacc515b8ab967071d "" + "intro.aux" 1596029519 5202 6fdb2153d79e116efaa1e3b8ae1b9984 "" + "intro.nav" 1596029519 3222 7e1b1c4e3216f6d0d5007af1f6a3a760 "" + "intro.out" 1596029516 0 d41d8cd98f00b204e9800998ecf8427e "" + "intro.tex" 1596029507 27060 f816564c87abc893f87660bded5c8334 "" + "objseg.pdf" 1548783567 798536 fdd1fdf632e2f658fb68692d686b2b2c "" + (generated) + "intro.aux" + "intro.log" + "intro.snm" + "intro.pdf" + "intro.out" + "intro.nav" + "intro.toc" + "intro.vrb" diff --git a/Thursday/introduction/intro.fls b/Thursday/introduction/intro.fls new file mode 100644 index 00000000..4bcd413b --- /dev/null +++ b/Thursday/introduction/intro.fls @@ -0,0 +1,654 @@ +PWD /Users/jsh2/ownCloud/DISCnetMachineLearningCourse/Thursday/introduction +INPUT /usr/local/texlive/2016/texmf.cnf +INPUT /usr/local/texlive/2016/texmf-dist/web2c/texmf.cnf +INPUT /usr/local/texlive/2016/texmf-var/web2c/pdftex/pdflatex.fmt +INPUT intro.tex +OUTPUT intro.log +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamer.cls +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamer.cls +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasercs.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasercs.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasemodes.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasemodes.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasedecode.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasedecode.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifpdf.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifpdf.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseoptions.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseoptions.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/geometry/geometry.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/geometry/geometry.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifvtex.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifvtex.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/ifxetex/ifxetex.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/ifxetex/ifxetex.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/base/size11.clo +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/base/size11.clo +INPUT /usr/local/texlive/2016/texmf-dist/fonts/map/fontname/texfonts.map +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/cm/cmr10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pdftex-def/pdftex.def +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pdftex-def/pdftex.def +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/infwarerr.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/infwarerr.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/ms/everyshi.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/ms/everyshi.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/xxcolor.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/xxcolor.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/atbegshi.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/atbegshi.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/auxhook.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/auxhook.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/kvoptions.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/kvoptions.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/latexconfig/hyperref.cfg +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/latexconfig/hyperref.cfg +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/url/url.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/url/url.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/hyperref/hpdftex.def +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/hyperref/hpdftex.def +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaserequires.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaserequires.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasecompatibility.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasecompatibility.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasefont.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasefont.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/amssymb.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/amssymb.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/filehook/filehook.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/filehook/filehook.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/filehook/filehook.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetranslator.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetranslator.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/translator.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/translator.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/translator-language-mappings.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/translator-language-mappings.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasemisc.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasemisc.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetwoscreens.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetwoscreens.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseoverlay.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseoverlay.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetitle.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetitle.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasesection.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasesection.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseframe.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseframe.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseverbatim.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseverbatim.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseframesize.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseframesize.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseframecomponents.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseframecomponents.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasecolor.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasecolor.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasenotes.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasenotes.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetoc.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetoc.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetemplates.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetemplates.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseauxtemplates.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseauxtemplates.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseboxes.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseboxes.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaselocalstructure.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaselocalstructure.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/tools/enumerate.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/tools/enumerate.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasenavigation.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasenavigation.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetheorems.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetheorems.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsmath.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsmath.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amstext.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amstext.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsgen.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsgen.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsbsy.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsbsy.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsopn.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsopn.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amscls/amsthm.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amscls/amsthm.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasethemes.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasethemes.sty +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/cm/cmss10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/theme/beamerthemedefault.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/theme/beamerthemedefault.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/font/beamerfontthemedefault.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/font/beamerfontthemedefault.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/color/beamercolorthemedefault.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/color/beamercolorthemedefault.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/inner/beamerinnerthemedefault.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/inner/beamerinnerthemedefault.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericonbook.pdf +OUTPUT intro.pdf +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericonbook.pdf +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericonbook.20.pdf +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericonbook.20.pdf +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericonarticle.pdf +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericonarticle.pdf +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericonarticle.20.pdf +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericonarticle.20.pdf +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericononline.pdf +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericononline.pdf +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericononline.20.pdf +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/art/beamericononline.20.pdf +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/outer/beamerouterthemedefault.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/outer/beamerouterthemedefault.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgfpages.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgfpages.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/tools/calc.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/tools/calc.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/lm/lmodern.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/lm/lmodern.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/listings/listings.cfg +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/listings/listings.cfg +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/tools/bm.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/tools/bm.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/textpos/textpos.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/textpos/textpos.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/math/pgfmath.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf/math/pgfmath.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryarrows.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryarrows.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryautomata.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryautomata.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.multipart.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.multipart.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.multipart.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.multipart.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/mathdots/mathdots.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/mathdots/mathdots.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/yhmath/yhmath.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/yhmath/yhmath.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/cancel/cancel.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/cancel/cancel.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/siunitx/siunitx.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/siunitx/siunitx.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3-code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3-code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/unicode-data/UnicodeData.txt +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/unicode-data/CaseFolding.txt +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/unicode-data/SpecialCasing.txt +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/l3pdfmode.def +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/l3pdfmode.def +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/l3packages/xparse/xparse.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/l3packages/xparse/xparse.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/tools/array.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/tools/array.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/translator.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/multirow/multirow.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/multirow/multirow.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/was/gensymb.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/was/gensymb.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/tools/tabularx.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/tools/tabularx.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/booktabs/booktabs.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/booktabs/booktabs.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfadings.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfadings.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibraryfadings.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibraryfadings.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf-blur/tikzlibraryshadows.blur.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/pgf-blur/tikzlibraryshadows.blur.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshadows.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshadows.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/ulem/ulem.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/ulem/ulem.sty +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/latex-fonts/lasy6.tfm +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/theme/beamerthemeCopenhagen.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/theme/beamerthemeCopenhagen.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/outer/beamerouterthemesplit.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/outer/beamerouterthemesplit.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/inner/beamerinnerthemerounded.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/inner/beamerinnerthemerounded.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/color/beamercolorthemewhale.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/color/beamercolorthemewhale.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/color/beamercolorthemeorchid.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/color/beamercolorthemeorchid.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/outer/beamerouterthemeinfolines.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/outer/beamerouterthemeinfolines.sty +INPUT intro.aux +INPUT intro.aux +OUTPUT intro.aux +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/lm/ot1lmss.fd +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/lm/ot1lmss.fd +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmss10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +INPUT /usr/local/texlive/2016/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/grfext.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/grfext.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +INPUT /usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +INPUT intro.out +INPUT intro.out +INPUT intro.out +INPUT intro.out +INPUT ./intro.out +INPUT ./intro.out +OUTPUT intro.out +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-basic-dictionary/translator-basic-dictionary-English.dict +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-basic-dictionary/translator-basic-dictionary-English.dict +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-bibliography-dictionary/translator-bibliography-dictionary-English.dict +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-bibliography-dictionary/translator-bibliography-dictionary-English.dict +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-environment-dictionary/translator-environment-dictionary-English.dict +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-environment-dictionary/translator-environment-dictionary-English.dict +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-months-dictionary/translator-months-dictionary-English.dict +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-months-dictionary/translator-months-dictionary-English.dict +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-numbers-dictionary/translator-numbers-dictionary-English.dict +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-numbers-dictionary/translator-numbers-dictionary-English.dict +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-theorem-dictionary/translator-theorem-dictionary-English.dict +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translator-theorem-dictionary/translator-theorem-dictionary-English.dict +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg +INPUT intro.nav +INPUT intro.nav +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmss8.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmss8.tfm +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/lm/omllmm.fd +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/lm/omllmm.fd +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmi10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmi8.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmi6.tfm +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/lm/omslmsy.fd +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/lm/omslmsy.fd +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmsy10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmsy8.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmsy6.tfm +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/yhmath/OMXyhex.fd +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/yhmath/OMXyhex.fd +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/yhmath/yhcmex10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/umsa.fd +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/umsa.fd +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/umsb.fd +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/umsb.fd +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmsso10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmsso8.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmsso8.tfm +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/lm/ot1lmr.fd +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/lm/ot1lmr.fd +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmbx10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmbx8.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmbx6.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmib10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmib10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmib7.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmbsy10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmbsy10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmbsy7.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmssbo10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmssbo10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmssbo10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/lm/ot1lmtt.fd +INPUT /usr/local/texlive/2016/texmf-dist/tex/latex/lm/ot1lmtt.fd +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmtt10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmtt8.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmtt8.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmss12.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmss8.tfm +INPUT /usr/local/texlive/2016/texmf-var/fonts/map/pdftex/updmap/pdftex.map +INPUT /usr/local/texlive/2016/texmf-dist/fonts/vf/public/yhmath/yhcmex10.vf +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/yhmath/yrcmex10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmss10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmss8.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmss8.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmi10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmi7.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmi5.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmsy10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmsy7.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmsy5.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmtt10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmtt8.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmtt8.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmsso10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmsso8.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmsso8.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmbx10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmbx7.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmbx5.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmib10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmib7.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmib5.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmbsy10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmbsy7.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmbsy5.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmssbo10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmssbo10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmssbo10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmss9.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmi9.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmsy9.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmtt9.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmsso9.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmbx9.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmmib10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/lmbsy10.tfm +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmssbo10.tfm +INPUT Fig1.pdf +INPUT ./Fig1.pdf +INPUT ./Fig1.pdf +INPUT objseg.pdf +INPUT ./objseg.pdf +INPUT ./objseg.pdf +INPUT imggen.pdf +INPUT ./imggen.pdf +INPUT ./imggen.pdf +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT figs/SL.pdf +INPUT ./figs/SL.pdf +INPUT ./figs/SL.pdf +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT figs/k-means.png +INPUT ./figs/k-means.png +INPUT ./figs/k-means.png +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT figs/RL.pdf +INPUT ./figs/RL.pdf +INPUT ./figs/RL.pdf +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT figs/emecomm_model.tikz +INPUT figs/emecomm_model.tikz +INPUT figs/automobile4.png +INPUT ./figs/automobile4.png +INPUT ./figs/automobile4.png +INPUT figs/automobile4.png +INPUT ./figs/automobile4.png +INPUT figs/horse5.png +INPUT ./figs/horse5.png +INPUT ./figs/horse5.png +INPUT figs/ship1.png +INPUT ./figs/ship1.png +INPUT ./figs/ship1.png +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT figs/SS.png +INPUT ./figs/SS.png +INPUT ./figs/SS.png +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/tfm/public/lm/rm-lmssbx10.tfm +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +OUTPUT intro.vrb +INPUT intro.vrb +INPUT intro.vrb +OUTPUT intro.nav +OUTPUT intro.toc +OUTPUT intro.snm +INPUT intro.aux +INPUT ./intro.out +INPUT ./intro.out +INPUT /usr/local/texlive/2016/texmf-dist/fonts/enc/dvips/lm/lm-rmtt.enc +INPUT /usr/local/texlive/2016/texmf-dist/fonts/enc/dvips/lm/lm-rm.enc +INPUT /usr/local/texlive/2016/texmf-dist/fonts/enc/dvips/lm/lm-mathit.enc +INPUT /usr/local/texlive/2016/texmf-dist/fonts/enc/dvips/lm/lm-mathsy.enc +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmbx10.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmmi10.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmmi8.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmmi9.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmmib10.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmss10.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmss12.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmss8.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmss9.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmssbo10.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmssbx10.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmsso10.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmsso8.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmsso9.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmsy10.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmsy6.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmsy7.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmsy8.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmsy9.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmtt10.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/lm/lmtt9.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb +INPUT /usr/local/texlive/2016/texmf-dist/fonts/type1/public/yhmath/yhcmex.pfb diff --git a/Thursday/introduction/intro.key b/Thursday/introduction/intro.key new file mode 100644 index 00000000..81ed256e Binary files /dev/null and b/Thursday/introduction/intro.key differ diff --git a/Thursday/introduction/intro.log b/Thursday/introduction/intro.log new file mode 100644 index 00000000..d48698a8 --- /dev/null +++ b/Thursday/introduction/intro.log @@ -0,0 +1,2001 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) (preloaded format=pdflatex 2017.2.14) 29 JUL 2020 14:31 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**intro.tex +(./intro.tex +LaTeX2e <2016/03/31> +Babel <3.9r> and hyphenation patterns for 83 language(s) loaded. +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamer.cls +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasercs.sty +Package: beamerbasercs 2015/03/08 (rcs-revision 368aa9ba9d38) +) +Document Class: beamer 2015/01/05 3.36 A class for typesetting presentations (r +cs-revision 8a39122e1f63) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasemodes.sty +Package: beamerbasemodes 2013/09/03 (rcs-revision 768f2d98ca64) +\beamer@tempbox=\box26 +\beamer@tempcount=\count79 +\c@beamerpauses=\count80 + +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasedecode.sty +Package: beamerbasedecode 2010/05/01 (rcs-revision efa082c6111d) +\beamer@slideinframe=\count81 +\beamer@minimum=\count82 +) +\beamer@commentbox=\box27 +\beamer@modecount=\count83 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +\headheight=\dimen102 +\headdp=\dimen103 +\footheight=\dimen104 +\sidebarheight=\dimen105 +\beamer@tempdim=\dimen106 +\beamer@finalheight=\dimen107 +\beamer@animht=\dimen108 +\beamer@animdp=\dimen109 +\beamer@animwd=\dimen110 +\beamer@leftmargin=\dimen111 +\beamer@rightmargin=\dimen112 +\beamer@leftsidebar=\dimen113 +\beamer@rightsidebar=\dimen114 +\beamer@boxsize=\dimen115 +\beamer@vboxoffset=\dimen116 +\beamer@descdefault=\dimen117 +\beamer@descriptionwidth=\dimen118 +\beamer@lastskip=\skip41 +\beamer@areabox=\box28 +\beamer@animcurrent=\box29 +\beamer@animshowbox=\box30 +\beamer@sectionbox=\box31 +\beamer@logobox=\box32 +\beamer@linebox=\box33 +\beamer@sectioncount=\count84 +\beamer@subsubsectionmax=\count85 +\beamer@subsectionmax=\count86 +\beamer@sectionmax=\count87 +\beamer@totalheads=\count88 +\beamer@headcounter=\count89 +\beamer@partstartpage=\count90 +\beamer@sectionstartpage=\count91 +\beamer@subsectionstartpage=\count92 +\beamer@animationtempa=\count93 +\beamer@animationtempb=\count94 +\beamer@xpos=\count95 +\beamer@ypos=\count96 +\beamer@showpartnumber=\count97 +\beamer@currentsubsection=\count98 +\beamer@coveringdepth=\count99 +\beamer@sectionadjust=\count100 +\beamer@tocsectionnumber=\count101 + +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseoptions.sty +Package: beamerbaseoptions 2013/03/10 (rcs-revision 47431932db0d) + +(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +)) +\beamer@paperwidth=\skip42 +\beamer@paperheight=\skip43 + +(/usr/local/texlive/2016/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count102 +\Gm@cntv=\count103 +\c@Gm@tempcnt=\count104 +\Gm@bindingoffset=\dimen119 +\Gm@wd@mp=\dimen120 +\Gm@odd@mp=\dimen121 +\Gm@even@mp=\dimen122 +\Gm@layoutwidth=\dimen123 +\Gm@layoutheight=\dimen124 +\Gm@layouthoffset=\dimen125 +\Gm@layoutvoffset=\dimen126 +\Gm@dimlist=\toks15 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/05/09 v1.0r Standard LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/01/02 v1.10 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 96. + +(/usr/local/texlive/2016/texmf-dist/tex/latex/pdftex-def/pdftex.def +File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX + +(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count105 +)) +\Gin@req@height=\dimen127 +\Gin@req@width=\dimen128 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.te +x +\pgfutil@everybye=\toks16 +\pgfutil@tempdima=\dimen129 +\pgfutil@tempdimb=\dimen130 + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-li +sts.tex)) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box34 +(/usr/local/texlive/2016/texmf-dist/tex/latex/ms/everyshi.sty +Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) +)) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +Package: pgfrcs 2015/08/07 v3.0.1a (rcs-revision 1.31) +)) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2014/07/09 v3.0.1a (rcs-revision 1.48) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks17 +\pgfkeys@temptoks=\toks18 + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.c +ode.tex +\pgfkeys@tmptoks=\toks19 +)) +\pgf@x=\dimen131 +\pgf@y=\dimen132 +\pgf@xa=\dimen133 +\pgf@ya=\dimen134 +\pgf@xb=\dimen135 +\pgf@yb=\dimen136 +\pgf@xc=\dimen137 +\pgf@yc=\dimen138 +\w@pgf@writea=\write3 +\r@pgf@reada=\read1 +\c@pgf@counta=\count106 +\c@pgf@countb=\count107 +\c@pgf@countc=\count108 +\c@pgf@countd=\count109 +\t@pgf@toka=\toks20 +\t@pgf@tokb=\toks21 +\t@pgf@tokc=\toks22 + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2008/05/14 (rcs-revision 1.7) +) +Driver file for pgf: pgfsys-pdftex.def + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.d +ef +File: pgfsys-pdftex.def 2014/10/11 (rcs-revision 1.35) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-p +df.def +File: pgfsys-common-pdf.def 2013/10/10 (rcs-revision 1.13) +))) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath. +code.tex +File: pgfsyssoftpath.code.tex 2013/09/09 (rcs-revision 1.9) +\pgfsyssoftpath@smallbuffer@items=\count110 +\pgfsyssoftpath@bigbuffer@items=\count111 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol. +code.tex +File: pgfsysprotocol.code.tex 2006/10/16 (rcs-revision 1.4) +)) (/usr/local/texlive/2016/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2010/04/11 v3.0.1a (rcs-revision 1.7) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen139 +\pgfmath@count=\count112 +\pgfmath@box=\box35 +\pgfmath@toks=\toks23 +\pgfmath@stack@operand=\toks24 +\pgfmath@stack@operation=\toks25 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code. +tex +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic +.code.tex) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigo +nometric.code.tex) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.rando +m.code.tex) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.compa +rison.code.tex) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base. +code.tex) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round +.code.tex) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc. +code.tex) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integ +erarithmetics.code.tex))) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count113 +)) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.co +de.tex +File: pgfcorepoints.code.tex 2013/10/07 (rcs-revision 1.27) +\pgf@picminx=\dimen140 +\pgf@picmaxx=\dimen141 +\pgf@picminy=\dimen142 +\pgf@picmaxy=\dimen143 +\pgf@pathminx=\dimen144 +\pgf@pathmaxx=\dimen145 +\pgf@pathminy=\dimen146 +\pgf@pathmaxy=\dimen147 +\pgf@xx=\dimen148 +\pgf@xy=\dimen149 +\pgf@yx=\dimen150 +\pgf@yy=\dimen151 +\pgf@zx=\dimen152 +\pgf@zy=\dimen153 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconst +ruct.code.tex +File: pgfcorepathconstruct.code.tex 2013/10/07 (rcs-revision 1.29) +\pgf@path@lastx=\dimen154 +\pgf@path@lasty=\dimen155 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage +.code.tex +File: pgfcorepathusage.code.tex 2014/11/02 (rcs-revision 1.24) +\pgf@shorten@end@additional=\dimen156 +\pgf@shorten@start@additional=\dimen157 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.co +de.tex +File: pgfcorescopes.code.tex 2015/05/08 (rcs-revision 1.46) +\pgfpic=\box36 +\pgf@hbox=\box37 +\pgf@layerbox@main=\box38 +\pgf@picture@serial@count=\count114 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicst +ate.code.tex +File: pgfcoregraphicstate.code.tex 2014/11/02 (rcs-revision 1.12) +\pgflinewidth=\dimen158 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransform +ations.code.tex +File: pgfcoretransformations.code.tex 2015/08/07 (rcs-revision 1.20) +\pgf@pt@x=\dimen159 +\pgf@pt@y=\dimen160 +\pgf@pt@temp=\dimen161 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.cod +e.tex +File: pgfcorequick.code.tex 2008/10/09 (rcs-revision 1.3) +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.c +ode.tex +File: pgfcoreobjects.code.tex 2006/10/11 (rcs-revision 1.2) +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathproce +ssing.code.tex +File: pgfcorepathprocessing.code.tex 2013/09/09 (rcs-revision 1.9) +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.co +de.tex +File: pgfcorearrows.code.tex 2015/05/14 (rcs-revision 1.43) +\pgfarrowsep=\dimen162 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.cod +e.tex +File: pgfcoreshade.code.tex 2013/07/15 (rcs-revision 1.15) +\pgf@max=\dimen163 +\pgf@sys@shading@range@num=\count115 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.cod +e.tex +File: pgfcoreimage.code.tex 2013/07/15 (rcs-revision 1.18) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal. +code.tex +File: pgfcoreexternal.code.tex 2014/07/09 (rcs-revision 1.21) +\pgfexternal@startupbox=\box39 +)) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.co +de.tex +File: pgfcorelayers.code.tex 2013/07/18 (rcs-revision 1.7) +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretranspare +ncy.code.tex +File: pgfcoretransparency.code.tex 2013/09/30 (rcs-revision 1.5) +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns. +code.tex +File: pgfcorepatterns.code.tex 2013/11/07 (rcs-revision 1.5) +))) +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/xxcolor.sty +Package: xxcolor 2003/10/24 ver 0.1 +\XC@nummixins=\count116 +\XC@countmixins=\count117 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/atbegshi.sty +Package: atbegshi 2016/05/16 v1.17 At begin shipout hook (HO) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2016/05/05 v6.83n Hypertext links for LaTeX + +(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO) + + +(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO) +Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO) +Package hobsub Info: Skipping package `infwarerr' (already loaded). +Package hobsub Info: Skipping package `ltxcmds' (already loaded). +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +Package hobsub Info: Skipping package `ifvtex' (already loaded). +Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +Package hobsub Info: Skipping package `ifpdf' (already loaded). +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +Package: pdftexcmds 2016/05/10 v0.21 Utility functions of pdfTeX for LuaTeX (HO +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) +Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO +) +Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) +Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) +) +Package hobsub Info: Skipping package `hobsub' (already loaded). +Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) +Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) +Package: xcolor-patch 2016/05/16 xcolor patch +Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +Package atveryend Info: \enddocument detected (standard20110627). +Package hobsub Info: Skipping package `atbegshi' (already loaded). +Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) +Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/auxhook.sty +Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) +) +\@linkdim=\dimen164 +\Hy@linkcounter=\count118 +\Hy@pagecounter=\count119 + +(/usr/local/texlive/2016/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2016/05/05 v6.83n Hyperref: PDFDocEncoding definition (HO) +) +\Hy@SavedSpaceFactor=\count120 + +(/usr/local/texlive/2016/texmf-dist/tex/latex/latexconfig/hyperref.cfg +File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive +) +Package hyperref Info: Option `bookmarks' set `true' on input line 4322. +Package hyperref Info: Option `bookmarksopen' set `true' on input line 4322. +Package hyperref Info: Option `implicit' set `false' on input line 4322. +Package hyperref Info: Hyper figures OFF on input line 4446. +Package hyperref Info: Link nesting OFF on input line 4451. +Package hyperref Info: Hyper index ON on input line 4454. +Package hyperref Info: Plain pages OFF on input line 4461. +Package hyperref Info: Backreferencing OFF on input line 4466. +Package hyperref Info: Implicit mode OFF; no redefinition of LaTeX internals. +Package hyperref Info: Bookmarks ON on input line 4691. +\c@Hy@tempcnt=\count121 + +(/usr/local/texlive/2016/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip10 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 5044. +\XeTeXLinkMargin=\dimen165 +\Fld@menulength=\count122 +\Field@Width=\dimen166 +\Fld@charsize=\dimen167 +Package hyperref Info: Hyper figures OFF on input line 6298. +Package hyperref Info: Link nesting OFF on input line 6303. +Package hyperref Info: Hyper index ON on input line 6306. +Package hyperref Info: backreferencing OFF on input line 6313. +Package hyperref Info: Link coloring OFF on input line 6318. +Package hyperref Info: Link coloring with OCG OFF on input line 6323. +Package hyperref Info: PDF/A mode OFF on input line 6328. +LaTeX Info: Redefining \ref on input line 6368. +LaTeX Info: Redefining \pageref on input line 6372. +\Hy@abspage=\count123 + + +Package hyperref Message: Stopped early. + +) + +Package hyperref Message: Driver (autodetected): hpdftex. + +(/usr/local/texlive/2016/texmf-dist/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2016/05/05 v6.83n Hyperref driver for pdfTeX +\Fld@listcount=\count124 +\c@bookmark@seq@number=\count125 + +(/usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +82. +)) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaserequires.sty +Package: beamerbaserequires 2010/05/01 (rcs-revision efa082c6111d) + +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasecompatibility.st +y +Package: beamerbasecompatibility 2012/05/01 (rcs-revision 67c48b3b652d) +) (/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasefont.sty +Package: beamerbasefont 2015/01/05 (rcs-revision b4b4bee242e2) + +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2013/01/14 v3.01 AMS font symbols + +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\@emptytoks=\toks26 +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +)) +(/usr/local/texlive/2016/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty +Package: sansmathaccent 2013/03/28 +(/usr/local/texlive/2016/texmf-dist/tex/latex/filehook/filehook.sty +Package: filehook 2011/10/12 v0.5d Hooks for input files +))) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetranslator.sty +Package: beamerbasetranslator 2010/06/11 (rcs-revision 85fd1cc7fc42) + +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/translator.sty +Package: translator 2010/06/12 ver 1.10 + +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/translator-lang +uage-mappings.tex))) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasemisc.sty +Package: beamerbasemisc 2013/09/03 (rcs-revision a55719c41d85) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetwoscreens.sty +Package: beamerbasetwoscreens 2010/05/01 (rcs-revision efa082c6111d) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseoverlay.sty +Package: beamerbaseoverlay 2013/12/25 (rcs-revision f6bd5e3805da) +\beamer@argscount=\count126 +\beamer@lastskipcover=\skip44 +\beamer@trivlistdepth=\count127 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetitle.sty +Package: beamerbasetitle 2010/09/21 (rcs-revision f0446ed0b6ae) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasesection.sty +Package: beamerbasesection 2013/06/07 (rcs-revision 60b9fe0f342f) +\c@lecture=\count128 +\c@part=\count129 +\c@section=\count130 +\c@subsection=\count131 +\c@subsubsection=\count132 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseframe.sty +Package: beamerbaseframe 2014/02/20 (rcs-revision 4b8ceeeff434) +\beamer@framebox=\box40 +\beamer@frametitlebox=\box41 +\beamer@zoombox=\box42 +\beamer@zoomcount=\count133 +\beamer@zoomframecount=\count134 +\beamer@frametextheight=\dimen168 +\c@subsectionslide=\count135 +\beamer@frametopskip=\skip45 +\beamer@framebottomskip=\skip46 +\beamer@frametopskipautobreak=\skip47 +\beamer@framebottomskipautobreak=\skip48 +\beamer@envbody=\toks27 +\framewidth=\dimen169 +\c@framenumber=\count136 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseverbatim.sty +Package: beamerbaseverbatim 2015/01/05 (rcs-revision 431510bb5890) +\beamer@verbatimfileout=\write4 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseframesize.sty +Package: beamerbaseframesize 2011/09/12 (rcs-revision 70f9d8411e54) +\beamer@splitbox=\box43 +\beamer@autobreakcount=\count137 +\beamer@autobreaklastheight=\dimen170 +\beamer@frametitletoks=\toks28 +\beamer@framesubtitletoks=\toks29 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseframecomponents. +sty +Package: beamerbaseframecomponents 2013/10/18 (rcs-revision 5cf6c5555a45) +\beamer@footins=\box44 +) (/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasecolor.sty +Package: beamerbasecolor 2015/02/21 (rcs-revision d944b04ee2d5) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasenotes.sty +Package: beamerbasenotes 2012/12/19 (rcs-revision 1686da3db3c9) +\beamer@frameboxcopy=\box45 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetoc.sty +Package: beamerbasetoc 2015/03/08 (rcs-revision 7270298bbaae) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetemplates.sty +Package: beamerbasetemplates 2010/05/01 (rcs-revision efa082c6111d) +\beamer@sbttoks=\toks30 + +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseauxtemplates.sty +Package: beamerbaseauxtemplates 2014/06/30 (rcs-revision 580088513a67) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaseboxes.sty +Package: beamerbaseboxes 2012/05/13 (rcs-revision 56972908a390) +\bmb@box=\box46 +\bmb@colorbox=\box47 +\bmb@boxshadow=\box48 +\bmb@boxshadowball=\box49 +\bmb@boxshadowballlarge=\box50 +\bmb@temp=\dimen171 +\bmb@dima=\dimen172 +\bmb@dimb=\dimen173 +\bmb@prevheight=\dimen174 +) +\beamer@blockheadheight=\dimen175 +)) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbaselocalstructure.s +ty +Package: beamerbaselocalstructure 2014/09/10 (rcs-revision 393f6dcff371) + (/usr/local/texlive/2016/texmf-dist/tex/latex/tools/enumerate.sty +Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC) +\@enLab=\toks31 +) +\c@figure=\count138 +\c@table=\count139 +\abovecaptionskip=\skip49 +\belowcaptionskip=\skip50 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasenavigation.sty +Package: beamerbasenavigation 2015/02/27 (rcs-revision 923f4bf87efa) +\beamer@section@min@dim=\dimen176 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasetheorems.sty +Package: beamerbasetheorems 2010/06/06 (rcs-revision 7e7cc5e53e9d) + +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2016/03/10 v2.15b AMS math features +\@mathmargin=\skip51 + +For additional information on amsmath, use the `?' option. +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks32 +\ex@=\dimen177 +)) +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen178 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count140 +LaTeX Info: Redefining \frac on input line 199. +\uproot@=\count141 +\leftroot@=\count142 +LaTeX Info: Redefining \overline on input line 297. +\classnum@=\count143 +\DOTSCASE@=\count144 +LaTeX Info: Redefining \ldots on input line 394. +LaTeX Info: Redefining \dots on input line 397. +LaTeX Info: Redefining \cdots on input line 518. +\Mathstrutbox@=\box51 +\strutbox@=\box52 +\big@size=\dimen179 +LaTeX Font Info: Redeclaring font encoding OML on input line 634. +LaTeX Font Info: Redeclaring font encoding OMS on input line 635. +\macc@depth=\count145 +\c@MaxMatrixCols=\count146 +\dotsspace@=\muskip11 +\c@parentequation=\count147 +\dspbrk@lvl=\count148 +\tag@help=\toks33 +\row@=\count149 +\column@=\count150 +\maxfields@=\count151 +\andhelp@=\toks34 +\eqnshift@=\dimen180 +\alignsep@=\dimen181 +\tagshift@=\dimen182 +\tagwidth@=\dimen183 +\totwidth@=\dimen184 +\lineht@=\dimen185 +\@envbody=\toks35 +\multlinegap=\skip52 +\multlinetaggap=\skip53 +\mathdisplay@stack=\toks36 +LaTeX Info: Redefining \[ on input line 2739. +LaTeX Info: Redefining \] on input line 2740. +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/amscls/amsthm.sty +Package: amsthm 2015/03/04 v2.20.2 +\thm@style=\toks37 +\thm@bodyfont=\toks38 +\thm@headfont=\toks39 +\thm@notefont=\toks40 +\thm@headpunct=\toks41 +\thm@preskip=\skip54 +\thm@postskip=\skip55 +\thm@headsep=\skip56 +\dth@everypar=\toks42 +) +\c@theorem=\count152 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/beamerbasethemes.sty +Package: beamerbasethemes 2010/05/01 (rcs-revision efa082c6111d) +)) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/theme/beamerthemede +fault.sty +Package: beamerthemedefault 2010/06/17 (rcs-revision d02a7cf4d8ae) + +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/font/beamerfontthem +edefault.sty +Package: beamerfontthemedefault 2012/12/19 (rcs-revision 1686da3db3c9) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/color/beamercolorth +emedefault.sty +Package: beamercolorthemedefault 2012/12/19 (rcs-revision 1686da3db3c9) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/inner/beamerinnerth +emedefault.sty +Package: beamerinnerthemedefault 2014/06/30 (rcs-revision 580088513a67) +\beamer@dima=\dimen186 +\beamer@dimb=\dimen187 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/outer/beamerouterth +emedefault.sty +Package: beamerouterthemedefault 2012/12/19 (rcs-revision 1686da3db3c9) +))) +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgfpages.sty +Package: pgfpages 2011/01/05 ver 0.02 + +(/usr/local/texlive/2016/texmf-dist/tex/latex/tools/calc.sty +Package: calc 2014/10/28 v4.3 Infix arithmetic (KKT,FJ) +\calc@Acount=\count153 +\calc@Bcount=\count154 +\calc@Adimen=\dimen188 +\calc@Bdimen=\dimen189 +\calc@Askip=\skip57 +\calc@Bskip=\skip58 +LaTeX Info: Redefining \setlength on input line 80. +LaTeX Info: Redefining \addtolength on input line 81. +\calc@Ccount=\count155 +\calc@Cskip=\skip59 +) +\pgf@logicalpages=\count156 +\pgf@firstshipout=\count157 +\pgf@lastshipout=\count158 +\pgf@currentshipout=\count159 +\pgf@cpn=\count160 +\pgf@shipoutnextto=\count161 +\pgfphysicalheight=\dimen190 +\pgfphysicalwidth=\dimen191 +\pgfpages@shipoutbox=\box53 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/lm/lmodern.sty +Package: lmodern 2009/10/30 v1.6 Latin Modern Fonts +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/lmr/m/n on input line 22. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/lmm/m/it on input line 23. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/lmsy/m/n on input line 24. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 25. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 26. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/lmm/b/it on input line 27. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/lmsy/b/n on input line 28. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 31. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 32. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/lmr/m/it on input line 33. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 34. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 35. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 36. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/lmr/bx/it on input line 37. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 38. +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/listings/listings.sty +\lst@mode=\count162 +\lst@gtempboxa=\box54 +\lst@token=\toks43 +\lst@length=\count163 +\lst@currlwidth=\dimen192 +\lst@column=\count164 +\lst@pos=\count165 +\lst@lostspace=\dimen193 +\lst@width=\dimen194 +\lst@newlines=\count166 +\lst@lineno=\count167 +\lst@maxwidth=\dimen195 + +(/usr/local/texlive/2016/texmf-dist/tex/latex/listings/lstmisc.sty +File: lstmisc.sty 2015/06/04 1.6 (Carsten Heinz) +\c@lstnumber=\count168 +\lst@skipnumbers=\count169 +\lst@framebox=\box55 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/listings/listings.cfg +File: listings.cfg 2015/06/04 1.6 listings configuration +)) +Package: listings 2015/06/04 1.6 (Carsten Heinz) +\sympureletters=\mathgroup6 +LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' +(Font) OT1/mathkerncmss/m/sl --> OT1/mathkerncmss/bx/sl on inp +ut line 17. + +(/usr/local/texlive/2016/texmf-dist/tex/latex/tools/bm.sty +Package: bm 2016/02/27 v1.2a Bold Symbol Support (DPC/FMi) +\symboldoperators=\mathgroup7 +\symboldletters=\mathgroup8 +\symboldsymbols=\mathgroup9 +\symboldpureletters=\mathgroup10 +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 142. +LaTeX Info: Redefining \bm on input line 208. +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/textpos/textpos.sty +Package: textpos 2014/01/03 v1.7j + +Package: textpos 2014/01/03 1.7j, absolute positioning of text on the page +\TP@textbox=\box56 +\TPHorizModule=\dimen196 +\TPVertModule=\dimen197 +\TP@margin=\dimen198 +\TP@absmargin=\dimen199 +Grid set 16 x 16 = 22.7622pt x 17.07166pt +\TPboxrulesize=\dimen256 +\TP@tbargs=\toks44 +\TP@prevdepth=\dimen257 +) (/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +Package: pgf 2015/08/07 v3.0.1a (rcs-revision 1.15) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.cod +e.tex +File: pgfmoduleshapes.code.tex 2014/03/21 (rcs-revision 1.35) +\pgfnodeparttextbox=\box57 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code. +tex +File: pgfmoduleplot.code.tex 2015/08/03 (rcs-revision 1.13) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version +-0-65.sty +Package: pgfcomp-version-0-65 2007/07/03 v3.0.1a (rcs-revision 1.7) +\pgf@nodesepstart=\dimen258 +\pgf@nodesepend=\dimen259 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version +-1-18.sty +Package: pgfcomp-version-1-18 2007/07/23 v3.0.1a (rcs-revision 1.1) +)) +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex) +) (/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2013/12/13 v3.0.1a (rcs-revision 1.25) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen260 +\pgffor@skip=\dimen261 +\pgffor@stack=\toks45 +\pgffor@toks=\toks46 +)) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.cod +e.tex +Package: tikz 2015/08/07 v3.0.1a (rcs-revision 1.151) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothan +dlers.code.tex +File: pgflibraryplothandlers.code.tex 2013/08/31 v3.0.1a (rcs-revision 1.20) +\pgf@plot@mark@count=\count170 +\pgfplotmarksize=\dimen262 +) +\tikz@lastx=\dimen263 +\tikz@lasty=\dimen264 +\tikz@lastxsaved=\dimen265 +\tikz@lastysaved=\dimen266 +\tikzleveldistance=\dimen267 +\tikzsiblingdistance=\dimen268 +\tikz@figbox=\box58 +\tikz@figbox@bg=\box59 +\tikz@tempbox=\box60 +\tikz@tempbox@bg=\box61 +\tikztreelevel=\count171 +\tikznumberofchildren=\count172 +\tikznumberofcurrentchild=\count173 +\tikz@fig@count=\count174 + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.cod +e.tex +File: pgfmodulematrix.code.tex 2013/09/17 (rcs-revision 1.8) +\pgfmatrixcurrentrow=\count175 +\pgfmatrixcurrentcolumn=\count176 +\pgf@matrix@numberofcolumns=\count177 +) +\tikz@expandcount=\count178 + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie +s/tikzlibrarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2008/06/17 v3.0.1a (rcs-revision 1.2) +))) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie +s/tikzlibraryarrows.code.tex +File: tikzlibraryarrows.code.tex 2008/01/09 v3.0.1a (rcs-revision 1.1) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows. +code.tex +File: pgflibraryarrows.code.tex 2013/09/23 v3.0.1a (rcs-revision 1.16) +\arrowsize=\dimen269 +)) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie +s/tikzlibraryautomata.code.tex +File: tikzlibraryautomata.code.tex 2008/07/14 v3.0.1a (rcs-revision 1.3) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie +s/tikzlibraryshapes.multipart.code.tex +File: tikzlibraryshapes.multipart.code.tex 2008/01/09 v3.0.1a (rcs-revision 1.1 +) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibrary +shapes.multipart.code.tex +File: pgflibraryshapes.multipart.code.tex 2010/01/07 v3.0.1a (rcs-revision 1.2) + +\pgfnodepartlowerbox=\box62 +\pgfnodeparttwobox=\box63 +\pgfnodepartthreebox=\box64 +\pgfnodepartfourbox=\box65 +\pgfnodeparttwentybox=\box66 +\pgfnodepartnineteenbox=\box67 +\pgfnodeparteighteenbox=\box68 +\pgfnodepartseventeenbox=\box69 +\pgfnodepartsixteenbox=\box70 +\pgfnodepartfifteenbox=\box71 +\pgfnodepartfourteenbox=\box72 +\pgfnodepartthirteenbox=\box73 +\pgfnodeparttwelvebox=\box74 +\pgfnodepartelevenbox=\box75 +\pgfnodeparttenbox=\box76 +\pgfnodepartninebox=\box77 +\pgfnodeparteightbox=\box78 +\pgfnodepartsevenbox=\box79 +\pgfnodepartsixbox=\box80 +\pgfnodepartfivebox=\box81 +))) +(/usr/local/texlive/2016/texmf-dist/tex/generic/mathdots/mathdots.sty +Package: mathdots 2014/06/11 v0.9 Improve and add various macros for dots in ma +th. +\MDo@unit=\dimen270 +\MDo@dotsbox=\box82 +\MDoprekern=\muskip12 +\MDopostkern=\muskip13 +\MDodotkern=\muskip14 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/yhmath/yhmath.sty +Package: yhmath +LaTeX Font Info: Redeclaring symbol font `largesymbols' on input line 12. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/lmex/m/n --> OMX/yhex/m/n on input line 12. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/lmex/m/n --> OMX/yhex/m/n on input line 12. +LaTeX Font Info: Redeclaring math accent \widetilde on input line 13. +LaTeX Font Info: Redeclaring math accent \widehat on input line 14. +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/cancel/cancel.sty +Package: cancel 2013/04/12 v2.2 Cancel math terms +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/siunitx/siunitx.sty +(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3.sty +Package: expl3 2016/05/18 v6512 L3 programming layer (loader) + +(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3-code.tex +Package: expl3 2016/05/18 v6512 L3 programming layer (code) +L3 Module: l3bootstrap 2016/02/12 v6412 L3 Bootstrap code +L3 Module: l3names 2016/03/11 v6433 L3 Namespace for primitives +L3 Module: l3basics 2015/11/22 v6315 L3 Basic definitions +L3 Module: l3expan 2015/09/10 v5983 L3 Argument expansion +L3 Module: l3tl 2016/03/26 v6465 L3 Token lists +L3 Module: l3str 2016/03/24 v6441 L3 Strings +L3 Module: l3seq 2015/08/05 v5777 L3 Sequences and stacks +L3 Module: l3int 2016/03/24 v6441 L3 Integers +\c_max_int=\count179 +\l_tmpa_int=\count180 +\l_tmpb_int=\count181 +\g_tmpa_int=\count182 +\g_tmpb_int=\count183 +L3 Module: l3quark 2015/08/17 v5855 L3 Quarks +L3 Module: l3prg 2015/11/01 v6216 L3 Control structures +\g__prg_map_int=\count184 +L3 Module: l3clist 2015/09/02 v5901 L3 Comma separated lists +L3 Module: l3token 2016/04/03 v6470 L3 Experimental token manipulation +L3 Module: l3prop 2016/01/05 v6366 L3 Property lists +L3 Module: l3msg 2016/03/26 v6464 L3 Messages +L3 Module: l3file 2016/03/25 v6458 L3 File and I/O operations +\l_iow_line_count_int=\count185 +\l__iow_target_count_int=\count186 +\l__iow_current_line_int=\count187 +\l__iow_current_word_int=\count188 +\l__iow_current_indentation_int=\count189 +L3 Module: l3skip 2016/01/05 v6366 L3 Dimensions and skips +\c_zero_dim=\dimen271 +\c_max_dim=\dimen272 +\l_tmpa_dim=\dimen273 +\l_tmpb_dim=\dimen274 +\g_tmpa_dim=\dimen275 +\g_tmpb_dim=\dimen276 +\c_zero_skip=\skip60 +\c_max_skip=\skip61 +\l_tmpa_skip=\skip62 +\l_tmpb_skip=\skip63 +\g_tmpa_skip=\skip64 +\g_tmpb_skip=\skip65 +\c_zero_muskip=\muskip15 +\c_max_muskip=\muskip16 +\l_tmpa_muskip=\muskip17 +\l_tmpb_muskip=\muskip18 +\g_tmpa_muskip=\muskip19 +\g_tmpb_muskip=\muskip20 +L3 Module: l3keys 2015/11/17 v6284 L3 Key-value interfaces +\g__keyval_level_int=\count190 +\l_keys_choice_int=\count191 +L3 Module: l3fp 2016/03/26 v6465 L3 Floating points +\c__fp_leading_shift_int=\count192 +\c__fp_middle_shift_int=\count193 +\c__fp_trailing_shift_int=\count194 +\c__fp_big_leading_shift_int=\count195 +\c__fp_big_middle_shift_int=\count196 +\c__fp_big_trailing_shift_int=\count197 +\c__fp_Bigg_leading_shift_int=\count198 +\c__fp_Bigg_middle_shift_int=\count199 +\c__fp_Bigg_trailing_shift_int=\count266 +L3 Module: l3box 2015/08/09 v5822 L3 Experimental boxes +\c_empty_box=\box83 +\l_tmpa_box=\box84 +\l_tmpb_box=\box85 +\g_tmpa_box=\box86 +\g_tmpb_box=\box87 +L3 Module: l3coffins 2016/05/17 v6508 L3 Coffin code layer +\l__coffin_internal_box=\box88 +\l__coffin_internal_dim=\dimen277 +\l__coffin_offset_x_dim=\dimen278 +\l__coffin_offset_y_dim=\dimen279 +\l__coffin_x_dim=\dimen280 +\l__coffin_y_dim=\dimen281 +\l__coffin_x_prime_dim=\dimen282 +\l__coffin_y_prime_dim=\dimen283 +\c_empty_coffin=\box89 +\l__coffin_aligned_coffin=\box90 +\l__coffin_aligned_internal_coffin=\box91 +\l_tmpa_coffin=\box92 +\l_tmpb_coffin=\box93 +\l__coffin_display_coffin=\box94 +\l__coffin_display_coord_coffin=\box95 +\l__coffin_display_pole_coffin=\box96 +\l__coffin_display_offset_dim=\dimen284 +\l__coffin_display_x_dim=\dimen285 +\l__coffin_display_y_dim=\dimen286 +L3 Module: l3color 2014/08/23 v5354 L3 Experimental color support +L3 Module: l3sys 2015/09/25 v6087 L3 Experimental system/runtime functions +L3 Module: l3candidates 2016/05/13 v6484 L3 Experimental additions to l3kernel +\l__box_top_dim=\dimen287 +\l__box_bottom_dim=\dimen288 +\l__box_left_dim=\dimen289 +\l__box_right_dim=\dimen290 +\l__box_top_new_dim=\dimen291 +\l__box_bottom_new_dim=\dimen292 +\l__box_left_new_dim=\dimen293 +\l__box_right_new_dim=\dimen294 +\l__box_internal_box=\box97 +\l__coffin_bounding_shift_dim=\dimen295 +\l__coffin_left_corner_dim=\dimen296 +\l__coffin_right_corner_dim=\dimen297 +\l__coffin_bottom_corner_dim=\dimen298 +\l__coffin_top_corner_dim=\dimen299 +\l__coffin_scaled_total_height_dim=\dimen300 +\l__coffin_scaled_width_dim=\dimen301 +L3 Module: l3luatex 2016/03/26 v6465 L3 Experimental LuaTeX-specific functions +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/l3pdfmode.def +File: l3pdfmode.def 2016/03/26 v6465 L3 Experimental driver: PDF mode +\l__driver_color_stack_int=\count267 +\l__driver_tmp_box=\box98 +)) +(/usr/local/texlive/2016/texmf-dist/tex/latex/l3packages/xparse/xparse.sty +Package: xparse 2016/05/18 v6512 L3 Experimental document command parser +\l__xparse_current_arg_int=\count268 +\l__xparse_m_args_int=\count269 +\l__xparse_mandatory_args_int=\count270 +\l__xparse_processor_int=\count271 +\l__xparse_v_nesting_int=\count272 +) +Package: siunitx 2016/03/01 v2.6q A comprehensive (SI) units package + +(/usr/local/texlive/2016/texmf-dist/tex/latex/tools/array.sty +Package: array 2014/10/28 v2.4c Tabular extension package (FMi) +\col@sep=\dimen302 +\extrarowheight=\dimen303 +\NC@list=\toks47 +\extratabsurround=\skip66 +\backup@length=\skip67 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty +Package: l3keys2e 2016/05/18 v6512 LaTeX2e option processing using LaTeX3 keys +) +\l__siunitx_tmp_box=\box99 +\l__siunitx_tmp_dim=\dimen304 +\l__siunitx_tmp_int=\count273 +\l__siunitx_number_mantissa_length_int=\count274 +\l__siunitx_number_uncert_length_int=\count275 +\l__siunitx_round_int=\count276 +\l__siunitx_process_decimal_int=\count277 +\l__siunitx_process_uncertainty_int=\count278 +\l__siunitx_process_fixed_int=\count279 +\l__siunitx_process_integer_min_int=\count280 +\l__siunitx_process_precision_int=\count281 +\l__siunitx_group_min_int=\count282 +\l__siunitx_angle_marker_box=\box100 +\l__siunitx_angle_unit_box=\box101 +\l__siunitx_angle_marker_dim=\dimen305 +\l__siunitx_angle_unit_dim=\dimen306 +\l__siunitx_unit_int=\count283 +\l__siunitx_unit_denominator_int=\count284 +\l__siunitx_unit_numerator_int=\count285 +\l__siunitx_unit_prefix_int=\count286 +\l__siunitx_unit_prefix_base_int=\count287 +\l__siunitx_unit_prefix_gram_int=\count288 +\l__siunitx_number_product_int=\count289 +\c__siunitx_one_fill_skip=\skip68 +\l__siunitx_table_unit_align_skip=\skip69 +\l__siunitx_table_exponent_dim=\dimen307 +\l__siunitx_table_integer_dim=\dimen308 +\l__siunitx_table_mantissa_dim=\dimen309 +\l__siunitx_table_marker_dim=\dimen310 +\l__siunitx_table_result_dim=\dimen311 +\l__siunitx_table_uncert_dim=\dimen312 +\l__siunitx_table_fill_pre_dim=\dimen313 +\l__siunitx_table_fill_post_dim=\dimen314 +\l__siunitx_table_fill_mid_dim=\dimen315 +\l__siunitx_table_pre_box=\box102 +\l__siunitx_table_post_box=\box103 +\l__siunitx_table_mantissa_box=\box104 +\l__siunitx_table_result_box=\box105 +\l__siunitx_table_number_align_skip=\skip70 +\l__siunitx_table_text_align_skip=\skip71 +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \DeclareBinaryPrefix with sig. 'mmm' on line 7218. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \DeclareSIPostPower with sig. 'mm' on line 7221. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \DeclareSIPrefix with sig. 'mmm' on line 7224. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \DeclareSIPrePower with sig. 'mm' on line 7227. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \DeclareSIQualifier with sig. 'mm' on line 7230. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \DeclareSIUnit with sig. 'O{}mm' on line 7233. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \DeclareSIUnitWithOptions with sig. 'mmm' on line 7236. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \ang with sig. 'o>{\SplitArgument {2}{;}}m' on line 7251. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \num with sig. 'om' on line 7260. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \numlist with sig. 'o>{\SplitList {;}}m' on line 7269. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \numrange with sig. 'omm' on line 7278. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \SIlist with sig. 'o>{\SplitList {;}}mm' on line 7290. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \SIrange with sig. 'ommm' on line 7302. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \SI with sig. 'omom' on line 7314. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \sisetup with sig. 'm' on line 7317. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \tablenum with sig. 'om' on line 7332. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \si with sig. 'om' on line 7344. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \__siunitx_bookmark_num:w with sig. 'om' on line 7391. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \__siunitx_bookmark_numrange:w with sig. 'omm' on line +. 7393. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \__siunitx_bookmark_SI:w with sig. 'omom' on line 7395. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \__siunitx_bookmark_SIlist:w with sig. 'omm' on line 7397. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \__siunitx_bookmark_SIrange:w with sig. 'ommm' on line +. 7399. +................................................. +................................................. +. LaTeX info: "xparse/define-command" +. +. Defining command \__siunitx_bookmark_si:w with sig. 'om' on line 7400. +................................................. +\g__file_internal_ior=\read2 +) (/usr/local/texlive/2016/texmf-dist/tex/latex/multirow/multirow.sty +\bigstrutjot=\dimen316 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/was/gensymb.sty +Package: gensymb 2003/07/02 v1.0 (WaS) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/tools/tabularx.sty +Package: tabularx 2016/02/03 v2.11 `tabularx' package (DPC) +\TX@col@width=\dimen317 +\TX@old@table=\dimen318 +\TX@old@col=\dimen319 +\TX@target=\dimen320 +\TX@delta=\dimen321 +\TX@cols=\count290 +\TX@ftn=\toks48 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/booktabs/booktabs.sty +Package: booktabs 2016/04/27 v1.618033 publication quality tables +\heavyrulewidth=\dimen322 +\lightrulewidth=\dimen323 +\cmidrulewidth=\dimen324 +\belowrulesep=\dimen325 +\belowbottomsep=\dimen326 +\aboverulesep=\dimen327 +\abovetopsep=\dimen328 +\cmidrulesep=\dimen329 +\cmidrulekern=\dimen330 +\defaultaddspace=\dimen331 +\@cmidla=\count291 +\@cmidlb=\count292 +\@aboverulesep=\dimen332 +\@belowrulesep=\dimen333 +\@thisruleclass=\count293 +\@lastruleclass=\count294 +\@thisrulewidth=\dimen334 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie +s/tikzlibraryfadings.code.tex +File: tikzlibraryfadings.code.tex 2009/11/15 v3.0.1a (rcs-revision 1.2) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibraryfadings +.code.tex +File: pgflibraryfadings.code.tex 2008/02/07 v3.0.1a (rcs-revision 1.3) +)) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie +s/tikzlibrarypatterns.code.tex +File: tikzlibrarypatterns.code.tex 2008/01/15 v3.0.1a (rcs-revision 1.2) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibrarypattern +s.code.tex +File: pgflibrarypatterns.code.tex 2008/03/03 v3.0.1a (rcs-revision 1.13) +)) +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf-blur/tikzlibraryshadows.blur. +code.tex v1.01, 2012/04/24 +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie +s/tikzlibraryshadows.code.tex +File: tikzlibraryshadows.code.tex 2008/01/13 v3.0.1a (rcs-revision 1.3) +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie +s/tikzlibrarycalc.code.tex +File: tikzlibrarycalc.code.tex 2013/07/15 v3.0.1a (rcs-revision 1.9) +)) +(/usr/local/texlive/2016/texmf-dist/tex/latex/listings/lstlang1.sty +File: lstlang1.sty 2015/06/04 1.6 listings language file +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/ulem/ulem.sty +\UL@box=\box106 +\UL@hyphenbox=\box107 +\UL@skip=\skip72 +\UL@hook=\toks49 +\UL@height=\dimen335 +\UL@pe=\count295 +\UL@pixel=\dimen336 +\ULC@box=\box108 +Package: ulem 2012/05/18 +\ULdepth=\dimen337 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/theme/beamerthemeCo +penhagen.sty +Package: beamerthemeCopenhagen 2010/06/17 (rcs-revision d02a7cf4d8ae) + +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/outer/beamerouterth +emesplit.sty +Package: beamerouterthemesplit 2012/10/16 (rcs-revision 51a8c72084af) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/inner/beamerinnerth +emerounded.sty +Package: beamerinnerthemerounded 2010/06/17 (rcs-revision d02a7cf4d8ae) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/color/beamercolorth +emewhale.sty +Package: beamercolorthemewhale 2010/06/17 (rcs-revision d02a7cf4d8ae) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/color/beamercolorth +emeorchid.sty +Package: beamercolorthemeorchid 2010/06/17 (rcs-revision d02a7cf4d8ae) +)) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/themes/outer/beamerouterth +emeinfolines.sty +Package: beamerouterthemeinfolines 2012/10/16 (rcs-revision 51a8c72084af) +) (./intro.aux) +\openout1 = `intro.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 71. +LaTeX Font Info: ... okay on input line 71. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 71. +LaTeX Font Info: ... okay on input line 71. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 71. +LaTeX Font Info: ... okay on input line 71. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 71. +LaTeX Font Info: ... okay on input line 71. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 71. +LaTeX Font Info: ... okay on input line 71. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 71. +LaTeX Font Info: ... okay on input line 71. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 71. +LaTeX Font Info: ... okay on input line 71. +LaTeX Font Info: Try loading font information for OT1+lmss on input line 71. + + +(/usr/local/texlive/2016/texmf-dist/tex/latex/lm/ot1lmss.fd +File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +*geometry* driver: auto-detecting +*geometry* detected driver: pdftex +*geometry* verbose mode - [ preamble ] result: +* driver: pdftex +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: includehead includefoot +* h-part:(L,W,R)=(10.95003pt, 342.2953pt, 10.95003pt) +* v-part:(T,H,B)=(0.0pt, 273.14662pt, 0.0pt) +* \paperwidth=364.19536pt +* \paperheight=273.14662pt +* \textwidth=342.2953pt +* \textheight=244.6939pt +* \oddsidemargin=-61.31996pt +* \evensidemargin=-61.31996pt +* \topmargin=-72.26999pt +* \headheight=14.22636pt +* \headsep=0.0pt +* \topskip=11.0pt +* \footskip=14.22636pt +* \marginparwidth=4.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +(/usr/local/texlive/2016/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count296 +\scratchdimen=\dimen338 +\scratchbox=\box109 +\nofMPsegments=\count297 +\nofMParguments=\count298 +\everyMPshowfont=\toks50 +\MPscratchCnt=\count299 +\MPscratchDim=\dimen339 +\MPnumerator=\count300 +\makeMPintoPDFobject=\count301 +\everyMPtoPDFconversion=\toks51 +) (/usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) +) +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/local/texlive/2016/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +ABD: EveryShipout initializing macros +\AtBeginShipoutBox=\box110 +Package hyperref Info: Link coloring OFF on input line 71. + +(/usr/local/texlive/2016/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2012/10/27 v2.43 Cross-referencing by name of section + +(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) +) +\c@section@level=\count302 +) +LaTeX Info: Redefining \ref on input line 71. +LaTeX Info: Redefining \pageref on input line 71. +LaTeX Info: Redefining \nameref on input line 71. + +(./intro.out) (./intro.out) +\@outlinefile=\write5 +\openout5 = `intro.out'. + +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/lmr/m/n --> OT1/cmss/m/n on input line 71. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/lmr/bx/n --> OT1/cmss/bx/n on input line 71. +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 71. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 71. +\symnumbers=\mathgroup11 +LaTeX Font Info: Redeclaring symbol font `pureletters' on input line 71. +LaTeX Font Info: Overwriting symbol font `pureletters' in version `normal' +(Font) OT1/mathkerncmss/m/sl --> OT1/lmss/m/it on input line 7 +1. +LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' +(Font) OT1/mathkerncmss/bx/sl --> OT1/lmss/m/it on input line +71. +LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `normal' +(Font) OT1/lmss/m/n --> OT1/lmr/m/n on input line 71. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 71. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 71. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/lmss/m/n --> OT1/lmss/m/n on input line 71. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/lmss/bx/n --> OT1/lmss/m/n on input line 71. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 71. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/lmr/m/it --> OT1/lmss/m/it on input line 71. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/lmr/bx/it --> OT1/lmss/m/it on input line 71. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 71. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/lmtt/m/n --> OT1/lmtt/m/n on input line 71. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/lmtt/m/n --> OT1/lmtt/m/n on input line 71. +LaTeX Font Info: Overwriting symbol font `numbers' in version `bold' +(Font) OT1/lmss/m/n --> OT1/lmss/bx/n on input line 71. +LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' +(Font) OT1/lmss/m/it --> OT1/lmss/bx/it on input line 71. +LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `bold' +(Font) OT1/lmss/bx/n --> OT1/lmr/bx/n on input line 71. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/lmss/bx/n --> OT1/lmss/bx/n on input line 71. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/lmss/m/n --> OT1/lmss/bx/n on input line 71. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/lmss/m/it --> OT1/lmss/bx/it on input line 71. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/lmtt/m/n --> OT1/lmtt/bx/n on input line 71. +LaTeX Font Info: Redeclaring symbol font `boldpureletters' on input line 71. + +LaTeX Font Info: Overwriting symbol font `boldpureletters' in version `norma +l' +(Font) OT1/mathkerncmss/bx/sl --> OT1/lmss/bx/it on input line + 71. +LaTeX Font Info: Overwriting symbol font `boldpureletters' in version `bold' + +(Font) OT1/mathkerncmss/bx/sl --> OT1/lmss/bx/it on input line + 71. + +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translato +r-basic-dictionary/translator-basic-dictionary-English.dict +Dictionary: translator-basic-dictionary, Language: English +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translato +r-bibliography-dictionary/translator-bibliography-dictionary-English.dict +Dictionary: translator-bibliography-dictionary, Language: English +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translato +r-environment-dictionary/translator-environment-dictionary-English.dict +Dictionary: translator-environment-dictionary, Language: English +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translato +r-months-dictionary/translator-months-dictionary-English.dict +Dictionary: translator-months-dictionary, Language: English +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translato +r-numbers-dictionary/translator-numbers-dictionary-English.dict +Dictionary: translator-numbers-dictionary, Language: English +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/beamer/translator/dicts/translato +r-theorem-dictionary/translator-theorem-dictionary-English.dict +Dictionary: translator-theorem-dictionary, Language: English +) +LaTeX Info: Redefining \includegraphics on input line 71. +\c@lstlisting=\count303 + +(/usr/local/texlive/2016/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg +File: siunitx-abbreviations.cfg 2016/03/01 v2.6q siunitx: Abbreviated units +) +LaTeX Info: Redefining \celsius on input line 71. +Package gensymb Info: Faking symbols for \degree and \celsius on input line 71. + + + +Package gensymb Warning: Not defining \perthousand. + +LaTeX Info: Redefining \ohm on input line 71. +Package gensymb Info: Using \Omega for \ohm on input line 71. + +Package gensymb Warning: Not defining \micro. + +(./intro.nav) +\c__siunitx_mathsf_int=\count304 +LaTeX Font Info: Try loading font information for OML+lmm on input line 71. + (/usr/local/texlive/2016/texmf-dist/tex/latex/lm/omllmm.fd +File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Try loading font information for OMS+lmsy on input line 71. + + +(/usr/local/texlive/2016/texmf-dist/tex/latex/lm/omslmsy.fd +File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Try loading font information for OMX+yhex on input line 71. + + +(/usr/local/texlive/2016/texmf-dist/tex/latex/yhmath/OMXyhex.fd +File: OMXyhex.fd +File: OMXyhex.fd 2013/07/03 v1.1 YH's humble contribution to TeX maths (NP) +) +LaTeX Font Info: External font `yhcmex10' loaded for size +(Font) <10.95> on input line 71. +LaTeX Font Info: External font `yhcmex10' loaded for size +(Font) <8> on input line 71. +LaTeX Font Info: External font `yhcmex10' loaded for size +(Font) <6> on input line 71. +LaTeX Font Info: Try loading font information for U+msa on input line 71. + +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Try loading font information for U+msb on input line 71. + +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Font shape `OT1/lmss/m/it' in size <10.95> not available +(Font) Font shape `OT1/lmss/m/sl' tried instead on input line 71. +LaTeX Font Info: Font shape `OT1/lmss/m/it' in size <8> not available +(Font) Font shape `OT1/lmss/m/sl' tried instead on input line 71. +LaTeX Font Info: Font shape `OT1/lmss/m/it' in size <6> not available +(Font) Font shape `OT1/lmss/m/sl' tried instead on input line 71. +LaTeX Font Info: Try loading font information for OT1+lmr on input line 71. + +(/usr/local/texlive/2016/texmf-dist/tex/latex/lm/ot1lmr.fd +File: ot1lmr.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Font shape `OT1/lmss/bx/it' in size <10.95> not available +(Font) Font shape `OT1/lmss/bx/sl' tried instead on input line 71. + +LaTeX Font Info: Font shape `OT1/lmss/bx/it' in size <8> not available +(Font) Font shape `OT1/lmss/bx/sl' tried instead on input line 71. + +LaTeX Font Info: Font shape `OT1/lmss/bx/it' in size <6> not available +(Font) Font shape `OT1/lmss/bx/sl' tried instead on input line 71. + +\c__siunitx_mathtt_int=\count305 +LaTeX Font Info: Try loading font information for OT1+lmtt on input line 71. + + +(/usr/local/texlive/2016/texmf-dist/tex/latex/lm/ot1lmtt.fd +File: ot1lmtt.fd 2009/10/30 v1.6 Font defs for Latin Modern +) [1 + +{/usr/local/texlive/2016/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] [2 + +] [3 + +] [4 + +] [5 + +] +[6 + +] [7 + +] [8 + +] [9 + +] +LaTeX Font Info: External font `yhcmex10' loaded for size +(Font) <10> on input line 117. +LaTeX Font Info: External font `yhcmex10' loaded for size +(Font) <7> on input line 117. +LaTeX Font Info: External font `yhcmex10' loaded for size +(Font) <5> on input line 117. +LaTeX Font Info: Font shape `OT1/lmss/m/it' in size <10> not available +(Font) Font shape `OT1/lmss/m/sl' tried instead on input line 117. + +LaTeX Font Info: Font shape `OT1/lmss/m/it' in size <7> not available +(Font) Font shape `OT1/lmss/m/sl' tried instead on input line 117. + +LaTeX Font Info: Font shape `OT1/lmss/m/it' in size <5> not available +(Font) Font shape `OT1/lmss/m/sl' tried instead on input line 117. + +LaTeX Font Info: Font shape `OT1/lmss/bx/it' in size <10> not available +(Font) Font shape `OT1/lmss/bx/sl' tried instead on input line 117 +. +LaTeX Font Info: Font shape `OT1/lmss/bx/it' in size <7> not available +(Font) Font shape `OT1/lmss/bx/sl' tried instead on input line 117 +. +LaTeX Font Info: Font shape `OT1/lmss/bx/it' in size <5> not available +(Font) Font shape `OT1/lmss/bx/sl' tried instead on input line 117 +. + [10 + +] [11 + +] [12 + +] [13 + +] +LaTeX Font Info: External font `yhcmex10' loaded for size +(Font) <9> on input line 134. +LaTeX Font Info: Font shape `OT1/lmss/m/it' in size <9> not available +(Font) Font shape `OT1/lmss/m/sl' tried instead on input line 134. + +LaTeX Font Info: Font shape `OT1/lmss/bx/it' in size <9> not available +(Font) Font shape `OT1/lmss/bx/sl' tried instead on input line 134 +. + [14 + +] [15 + +] [16 + +] [17 + +] [18 + +] [19 + +] [20 + +] + +File: Fig1.pdf Graphic file (type pdf) + +Package pdftex.def Info: Fig1.pdf used on input line 151. +(pdftex.def) Requested size: 308.06367pt x 190.76501pt. + [21 + + <./Fig1.pdf>] + +File: objseg.pdf Graphic file (type pdf) + +Package pdftex.def Info: objseg.pdf used on input line 157. +(pdftex.def) Requested size: 102.68962pt x 150.58759pt. + [22 + + <./objseg.pdf>] +File: imggen.pdf Graphic file (type pdf) + +Package pdftex.def Info: imggen.pdf used on input line 162. +(pdftex.def) Requested size: 273.83728pt x 144.58038pt. + [23 + + <./imggen.pdf>] [24 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb) [25 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb + +File: figs/SL.pdf Graphic file (type pdf) + +Package pdftex.def Info: figs/SL.pdf used on input line 3. +(pdftex.def) Requested size: 308.06367pt x 175.79156pt. +) [26 + + <./figs/SL.pdf>] +\openout4 = `intro.vrb'. + + (./intro.vrb +File: figs/k-means.png Graphic file (type png) + + +Package pdftex.def Info: figs/k-means.png used on input line 3. +(pdftex.def) Requested size: 273.83728pt x 207.2039pt. +) [27 + + <./figs/k-means.png>] +\openout4 = `intro.vrb'. + + (./intro.vrb + +File: figs/RL.pdf Graphic file (type pdf) + +Package pdftex.def Info: figs/RL.pdf used on input line 3. +(pdftex.def) Requested size: 308.06367pt x 200.69817pt. +) +Overfull \vbox (2.32741pt too high) detected at line 216 + [] + +[28 + + <./figs/RL.pdf>] +\openout4 = `intro.vrb'. + + (./intro.vrb (./figs/emecomm_model.tikz + +File: figs/automobile4.png Graphic file (type png) + +Package pdftex.def Info: figs/automobile4.png used on input line 205. +(pdftex.def) Requested size: 37.27292pt x 37.73314pt. +File: figs/automobile4.png Graphic file (type png) + + +Package pdftex.def Info: figs/automobile4.png used on input line 295. +(pdftex.def) Requested size: 37.27292pt x 37.73314pt. + +File: figs/horse5.png Graphic file (type png) + + +Package pdftex.def Info: figs/horse5.png used on input line 297. +(pdftex.def) Requested size: 37.50278pt x 37.50278pt. + +File: figs/ship1.png Graphic file (type png) + + +Package pdftex.def Info: figs/ship1.png used on input line 299. +(pdftex.def) Requested size: 37.50278pt x 37.50278pt. +)) [29 + + <./figs/automobile4.png (PNG copy)> <./figs/horse5.png (PNG copy)> <./figs/shi +p1.png (PNG copy)>] +\openout4 = `intro.vrb'. + + (./intro.vrb + +File: figs/SS.png Graphic file (type png) + +Package pdftex.def Info: figs/SS.png used on input line 3. +(pdftex.def) Requested size: 205.37926pt x 197.38106pt. +) +Overfull \vbox (10.0103pt too high) detected at line 232 + [] + +[30 + + <./figs/SS.png>] +\openout4 = `intro.vrb'. + + (./intro.vrb) [31 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb +Overfull \hbox (73.2789pt too wide) in paragraph at lines 5--5 +\OT1/lmtt/m/n/9 5775-[]learning-[]structured-[]output-[]representation-[]using- +[]deep-[]conditional-[]generative-[]models$[]| + [] + +) [32 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb) [33 + +] (./intro.vrb) [34 + +] (./intro.vrb) [35 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb) +[36 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb +Missing character: There is no ; in font nullfont! +Missing character: There is no ; in font nullfont! +Missing character: There is no ; in font nullfont! +) [37 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb) [38 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb) [39 + +] (./intro.vrb) +[40 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb) [41 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb) [42 + +] (./intro.vrb) [43 + +] (./intro.vrb) +[44 + +] (./intro.vrb) [45 + +] (./intro.vrb) [46 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb) [47 + +] (./intro.vrb) +[48 + +] (./intro.vrb) [49 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb) [50 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb) [51 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb) +[52 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb) [53 + +] (./intro.vrb) [54 + +] (./intro.vrb) [55 + +] (./intro.vrb) +[56 + +] (./intro.vrb) [57 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb) [58 + +] (./intro.vrb) [59 + +] (./intro.vrb) +[60 + +] (./intro.vrb) [61 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb) [62 + +] +\openout4 = `intro.vrb'. + + (./intro.vrb) [63 + +] +\tf@nav=\write6 +\openout6 = `intro.nav'. + +\tf@toc=\write7 +\openout7 = `intro.toc'. + +\tf@snm=\write8 +\openout8 = `intro.snm'. + +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 551. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 551. + (./intro.aux) +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 551. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 551. +Package rerunfilecheck Info: File `intro.out' has not changed. +(rerunfilecheck) Checksum: D41D8CD98F00B204E9800998ECF8427E;0. +Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 551. + ) +Here is how much of TeX's memory you used: + 32841 strings out of 493014 + 686681 string characters out of 6133351 + 732932 words of memory out of 5000000 + 35531 multiletter control sequences out of 15000+600000 + 105793 words of font info for 99 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 57i,16n,76p,10374b,977s stack positions out of 5000i,500n,10000p,200000b,80000s +{/usr/local/texlive/2016/texmf-dist/fonts/enc/dvips/lm/lm-rmtt.enc}{/usr/loca +l/texlive/2016/texmf-dist/fonts/enc/dvips/lm/lm-rm.enc}{/usr/local/texlive/2016 +/texmf-dist/fonts/enc/dvips/lm/lm-mathit.enc}{/usr/local/texlive/2016/texmf-dis +t/fonts/enc/dvips/lm/lm-mathsy.enc} + +Output written on intro.pdf (63 pages, 4455464 bytes). +PDF statistics: + 732 PDF objects out of 1000 (max. 8388607) + 560 compressed objects within 6 object streams + 127 named destinations out of 1000 (max. 500000) + 201 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/Thursday/introduction/intro.nav b/Thursday/introduction/intro.nav new file mode 100644 index 00000000..ed55642c --- /dev/null +++ b/Thursday/introduction/intro.nav @@ -0,0 +1,70 @@ +\beamer@endinputifotherversion {3.36pt} +\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}} +\headcommand {\beamer@framepages {1}{1}} +\headcommand {\slideentry {0}{0}{2}{2/9}{}{0}} +\headcommand {\beamer@framepages {2}{9}} +\headcommand {\slideentry {0}{0}{3}{10/13}{}{0}} +\headcommand {\beamer@framepages {10}{13}} +\headcommand {\slideentry {0}{0}{4}{14/17}{}{0}} +\headcommand {\beamer@framepages {14}{17}} +\headcommand {\slideentry {0}{0}{5}{18/20}{}{0}} +\headcommand {\beamer@framepages {18}{20}} +\headcommand {\slideentry {0}{0}{6}{21/21}{}{0}} +\headcommand {\beamer@framepages {21}{21}} +\headcommand {\slideentry {0}{0}{7}{22/22}{}{0}} +\headcommand {\beamer@framepages {22}{22}} +\headcommand {\slideentry {0}{0}{8}{23/23}{}{0}} +\headcommand {\beamer@framepages {23}{23}} +\headcommand {\slideentry {0}{0}{9}{24/24}{}{0}} +\headcommand {\beamer@framepages {24}{24}} +\headcommand {\slideentry {0}{0}{10}{25/25}{}{0}} +\headcommand {\beamer@framepages {25}{25}} +\headcommand {\slideentry {0}{0}{11}{26/26}{}{0}} +\headcommand {\beamer@framepages {26}{26}} +\headcommand {\slideentry {0}{0}{12}{27/27}{}{0}} +\headcommand {\beamer@framepages {27}{27}} +\headcommand {\slideentry {0}{0}{13}{28/28}{}{0}} +\headcommand {\beamer@framepages {28}{28}} +\headcommand {\slideentry {0}{0}{14}{29/29}{}{0}} +\headcommand {\beamer@framepages {29}{29}} +\headcommand {\slideentry {0}{0}{15}{30/30}{}{0}} +\headcommand {\beamer@framepages {30}{30}} +\headcommand {\slideentry {0}{0}{16}{31/31}{}{0}} +\headcommand {\beamer@framepages {31}{31}} +\headcommand {\slideentry {0}{0}{17}{32/32}{}{0}} +\headcommand {\beamer@framepages {32}{32}} +\headcommand {\slideentry {0}{0}{18}{33/35}{}{0}} +\headcommand {\beamer@framepages {33}{35}} +\headcommand {\slideentry {0}{0}{19}{36/36}{}{0}} +\headcommand {\beamer@framepages {36}{36}} +\headcommand {\slideentry {0}{0}{20}{37/37}{}{0}} +\headcommand {\beamer@framepages {37}{37}} +\headcommand {\slideentry {0}{0}{21}{38/38}{}{0}} +\headcommand {\beamer@framepages {38}{38}} +\headcommand {\slideentry {0}{0}{22}{39/40}{}{0}} +\headcommand {\beamer@framepages {39}{40}} +\headcommand {\slideentry {0}{0}{23}{41/41}{}{0}} +\headcommand {\beamer@framepages {41}{41}} +\headcommand {\slideentry {0}{0}{24}{42/46}{}{0}} +\headcommand {\beamer@framepages {42}{46}} +\headcommand {\slideentry {0}{0}{25}{47/49}{}{0}} +\headcommand {\beamer@framepages {47}{49}} +\headcommand {\slideentry {0}{0}{26}{50/50}{}{0}} +\headcommand {\beamer@framepages {50}{50}} +\headcommand {\slideentry {0}{0}{27}{51/51}{}{0}} +\headcommand {\beamer@framepages {51}{51}} +\headcommand {\slideentry {0}{0}{28}{52/52}{}{0}} +\headcommand {\beamer@framepages {52}{52}} +\headcommand {\slideentry {0}{0}{29}{53/57}{}{0}} +\headcommand {\beamer@framepages {53}{57}} +\headcommand {\slideentry {0}{0}{30}{58/61}{}{0}} +\headcommand {\beamer@framepages {58}{61}} +\headcommand {\slideentry {0}{0}{31}{62/62}{}{0}} +\headcommand {\beamer@framepages {62}{62}} +\headcommand {\slideentry {0}{0}{32}{63/63}{}{0}} +\headcommand {\beamer@framepages {63}{63}} +\headcommand {\beamer@partpages {1}{63}} +\headcommand {\beamer@subsectionpages {1}{63}} +\headcommand {\beamer@sectionpages {1}{63}} +\headcommand {\beamer@documentpages {63}} +\headcommand {\def \inserttotalframenumber {32}} diff --git a/Thursday/introduction/intro.out b/Thursday/introduction/intro.out new file mode 100644 index 00000000..e69de29b diff --git a/Thursday/introduction/intro.pdf b/Thursday/introduction/intro.pdf new file mode 100644 index 00000000..990402e3 Binary files /dev/null and b/Thursday/introduction/intro.pdf differ diff --git a/Thursday/introduction/intro.snm b/Thursday/introduction/intro.snm new file mode 100644 index 00000000..e69de29b diff --git a/Thursday/introduction/intro.tex b/Thursday/introduction/intro.tex new file mode 100644 index 00000000..4e766082 --- /dev/null +++ b/Thursday/introduction/intro.tex @@ -0,0 +1,551 @@ +\ifdefined\beamerclass +\else + \def\beamerclass{beamer} +\fi +\documentclass[\beamerclass]{beamer} + +\usepackage{pgfpages} +\mode{ + % \setbeamercolor{background canvas}{bg=black!20} + \pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm] +} + +\usepackage{lmodern} +\usepackage{listings} +\usepackage{amsmath} +\usepackage{bm} +\usepackage{textpos} % package for the positioning + +\usepackage{pgf, tikz} +\usetikzlibrary{arrows, automata} +\usepackage{amsmath} +\usepackage{mathdots} +\usepackage{yhmath} +\usepackage{cancel} +\usepackage{color} +\usepackage{siunitx} +\usepackage{array} +\usepackage{multirow} +\usepackage{amssymb} +\usepackage{gensymb} +\usepackage{tabularx} +\usepackage{booktabs} +\usetikzlibrary{fadings} +\usetikzlibrary{patterns} +\usetikzlibrary{shadows.blur} +\usepackage{listings} +\lstset{language=Java, showstringspaces=false} +\usepackage[normalem]{ulem} +\usepackage{bm} +\def\layersep{2.5cm} + + +\usetheme{Copenhagen} +\hypersetup{pdfstartview={Fit}} +\lstset{basicstyle=\small\ttfamily,breaklines=true} + +\title[DISCNet Machine Learning]{Differentiable Programming} +\subtitle{(and some Deep Learning)} +\author{Jonathon Hare} +\institute[] +{ + Vision, Learning and Control\\ + University of Southampton +} +\date{} +\subject{Computer Science} +\useoutertheme{infolines} +\setbeamertemplate{headline}{} %remove headline +\setbeamertemplate{navigation symbols}{} %remove navigation symbols + +\DeclareMathOperator{\softmax}{softmax} + +\addtobeamertemplate{footnote}{\hskip -2em}{} +\newcommand\blfootnote[1]{% + \begingroup + \renewcommand\thefootnote{}\footnote{#1}% + \addtocounter{footnote}{-1}% + \endgroup +} + +\begin{document} + \frame{ + \titlepage +} + +\begin{frame}{pause} +\frametitle{Machine Learning - A Recap} +{\tiny All credit for this slide goes to Niranjan}\\ +\vspace{5mm} +\begin{tabular}{ll} +Data & $\{\bm{x}_n, \bm{y}_n\}^N_{n=1} \qquad \{\bm{x}_n\}^N_{n=1}$ +\vspace{3mm} \\ \pause +Function Approximator & $\bm{y} = f (\bm{x}, \bm{\theta}) + \nu$ +\vspace{3mm} \\ \pause +Parameter Estimation & $E_0 = \sum^N_{n=1} \{\|\bm{y}_n - f (\bm{x}_n; \bm{\theta})\|\}^2$ +\vspace{3mm} \\ \pause +Prediction & $\bm{\hat y}_{N+1} = f(\bm{x}_{N+1}, \bm{\hat \theta})$ +\vspace{3mm} \\ \pause +Regularisation & $E_1 = \sum^N_{n=1} \{\|\bm{y}_n - f (\bm{x}_n; \bm{\theta})\|\}^2 + r(\|\bm\theta\|)$ +\vspace{3mm} \\ \pause +Modelling Uncertainty & $p(\bm\theta|\{\bm x_n, \bm y_n\}_{n=1}^N)$ +\vspace{3mm} \\ \pause +Probabilistic Inference & $\mathop{\mathbb{E}}[g(\bm\theta)] = \int g(\bm\theta)p(\bm\theta)d\bm\theta = \frac{1}{N_s}\sum_{n=1}^{N_s}g(\bm\theta^{(n)})$ +\vspace{3mm} \\ \pause +Sequence Modelling & $\bm x_n = f(\bm x_{n-1}, \bm\theta)$ +\end{tabular} +\vspace{5mm} +\end{frame} + +\begin{frame} +\frametitle{What is Deep Learning?} + +Deep learning is primarily characterised by function compositions: \\ \vspace{10mm} +\begin{itemize} + \item<2-> Feedforward networks: $\bm{y} = f (g(\bm{x}, \bm\theta_g), \bm{\theta_f})$ + \begin{itemize} + \item Often with relatively simple functions (e.g. $f(\bm x, \bm{\theta}_f) = \sigma(\bm{x}^\top \bm{\theta}_f)$) + \end{itemize} \vspace{3mm} + \item<3-> Recurrent networks: $\bm y_t = f(\bm y_{t-1}, \bm x_t, \bm\theta) = f(f(\bm y_{t-2}, \bm x_{t-1}, \bm\theta), \bm x_t, \bm\theta) = \dots$ +\end{itemize} +\vspace{10mm} + +\uncover<4->{ +In the early days the focus of deep learning was on learning functions for classification. Nowadays the functions are much more general in their inputs and outputs. +} + +\end{frame} + +\begin{frame} +\frametitle{What is Differentiable Programming?} + +\begin{itemize} + \item<+-> Differentiable programming is a term coined by Yann Lecun\footnote{https://www.facebook.com/yann.lecun/posts/10155003011462143} to describe a superset of Deep Learning. + \item<+-> Captures the idea that computer programs can be constructed of parameterised functional blocks in which the parameters are learned using some form of gradient-based optimisation. + \begin{itemize} + \item<+-> The implication is that we need to be able to compute gradients with respect to the parameters of these functional blocks. We'll start explore this in detail next week... + \item<+-> The idea of Differentiable Programming also opens up interesting possibilities: + \begin{itemize} + \item The functional blocks don't need to be direct functions in a mathematical sense; more generally they can be \emph{algorithms}. + \item What if the functional block we're learning parameters for is itself an algorithm that optimises the parameters of an internal algorithm using a gradient based optimiser?!\footnote{See our ICLR 2019 paper: https://arxiv.org/abs/1812.03928 and NeurIPS 2019 paper: https://arxiv.org/abs/1906.06565} + \end{itemize} + \end{itemize} +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Is all Deep Learning Differentiable Programming?} +\begin{itemize} + \item Not necessarily! + \begin{itemize} + \item<+-> Most deep learning systems are trained using first order gradient-based optimisers, but there is an active body of research on gradient-free methods. + \item<+-> There is an increasing interest in methods that use different styles of learning, such as Hebbian learning, within deep networks. More broadly there are a number of us\footnote{including at least myself, my PhD students and Geoff Hinton!} who are interested in biologically motivated models and learning methods. + \item<+-> This course will primarily focus on differentiable methods, but we'll look at how relaxations can be made to make non-differentiable operators learnable with gradient-based optimisers. + \end{itemize} +\end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Why should we care about this?} + \centering \includegraphics[width=0.9\textwidth]{Fig1.pdf}\blfootnote{Reference: Andrew Ng} +\end{frame} + +\begin{frame} + %\frametitle{Where did it all start \& what was the motivation?} + \frametitle{Success stories - Object detection and segmentation} + \centering \includegraphics[width=0.3\textwidth]{objseg.pdf}\blfootnote{Pinheiro, Pedro O., et al. "Learning to refine object segments." European Conference on Computer Vision. Springer, 2016.} +\end{frame} + +\begin{frame} + \frametitle{Success stories - Image generation} + \centering \includegraphics[width=0.8\textwidth]{imggen.pdf}\blfootnote{Radford, Alec, Luke Metz, and Soumith Chintala. "Unsupervised representation learning with deep convolutional generative adversarial networks." arXiv preprint arXiv:1511.06434 (2015).} +\end{frame} + +\begin{frame} + %\frametitle{Where did it all start \& what was the motivation?} + \frametitle{Success stories - Translation} + +ENGLISH TEXT\\ +The reason Boeing are doing this is to cram more seats in to make their plane +more competitive with our products," said Kevin Keniston, head of passenger +comfort at Europe's Airbus. +\\[1em] +TRANSLATED TO FRENCH\\ +La raison pour laquelle Boeing fait cela est de creer plus de sieges pour rendre +son avion plus competitif avec nos produits", a declare Kevin Keniston, chef +du confort des passagers chez Airbus. \blfootnote{Wu, Yonghui, et al. "Google's neural machine translation system: Bridging the gap between human and machine translation." arXiv preprint arXiv:1609.08144 (2016).} + +\end{frame} + +\begin{frame}[fragile]\frametitle{Types of Learning} +\begin{itemize} +\item Supervised Learning - learn to predict an output when given an input vector + +\item Unsupervised Learning - discover a good internal representation of the input + +\item Reinforcement Learning - learn to select an action to maximize the expectation of future rewards (payoff) + +\item Self-supervised Learning - learn with targets induced by a prior on the unlabelled training data + +\item Semi-supervised Learning - learn with few labelled examples and many unlabelled ones +\end{itemize} + +\end{frame} +%%-------------------------------------------------------------% + +\begin{frame}[fragile]\frametitle{Supervised Learning} +\begin{center} + \includegraphics[width=.9\textwidth]{figs/SL.pdf} + \blfootnote{Newell, Alejandro, Kaiyu Yang, and Jia Deng. ``Stacked hourglass networks for human pose estimation.'' ECCV'16. Springer, 2016.} +\end{center} +\end{frame} +%%-------------------------------------------------------------% + +\begin{frame}[fragile]\frametitle{Unsupervised Learning} +\begin{center} + \includegraphics[width=0.8\textwidth]{figs/k-means.png} +\end{center} +\end{frame} +%%-------------------------------------------------------------% + +\begin{frame}[fragile]\frametitle{Reinforcement Learning} +\begin{center} + \includegraphics[width=0.9\textwidth]{figs/RL.pdf} + \blfootnote{Reference: Wikipedia \url{https://simple.wikipedia.org/wiki/Reinforcement_learning}} +\end{center} +\end{frame} +%%-------------------------------------------------------------% + +\begin{frame}[fragile]\frametitle{Self-supervised Learning} +\begin{center} + \resizebox{0.8\textwidth}{!}{\input{figs/emecomm_model.tikz}\unskip} + \blfootnote{Daniela Mihai and Jonathon Hare. Avoiding hashing and encouraging visual semantics in referential emergent language games. EmeCom @ NeurIPS 2019. https://arxiv.org/abs/1911.05546} +\end{center} + +\end{frame} +%%-------------------------------------------------------------% + +\begin{frame}[fragile]\frametitle{Semi-supervised Learning} +\begin{center} + \includegraphics[width=0.6\textwidth]{figs/SS.png}\blfootnote{Jeremy Howard. The wonderful and terrifying implications of computers that can learn. TEDxBrussels. \url{http://www.ted.com/talks/jeremy_howard_the_wonderful_and_terrifying_implications_of_computers_that_can_learn}} +\end{center} +\end{frame} +%%-------------------------------------------------------------% + +\begin{frame}[fragile]\frametitle{Generative Models} +\begin{itemize} + \item Many unsupervised and self-supervised models can be classed as `Generative Models'. + \item Given unlabelled data $X$, a unsupervised generative model learns $P[X]$. + \begin{itemize} + \item Could be direct modelling of the data (e.g. Gaussian Mixture Models) + \item Could be indirect modelling by learning to map the data to a parametric distribution in a lower dimensional space (e.g. a VAEs Encoder) or by learning a mapping from a parameterised distribution to the real data space (e.g. a VAE Decoder or GAN) + \end{itemize} + \item These are characterised by an ability to `sample' the model to `create' new data +\end{itemize} +%\url{http://robotics.stanford.edu/~ang/papers/nips01-discriminativegenerative.pdf} +\end{frame} + +%%-------------------------------------------------------------% + +\begin{frame}[fragile]\frametitle{Generative vs. Discriminative Models (II)} +Generative vs. discriminative approaches to classification use different statistical modelling. +\begin{itemize} +\item Discriminative models learn the boundary between classes. A discriminative models is a model of the conditional probability of the target $Y$ given an observation $X$: $P[Y|X]$. +\item Generative models of labelled data model the distribution of individual classes. Given an observable variable $X$ and a target variable $Y$, a generative model is a statistical model that tries to model $P[X|Y]$ and $P[Y]$ in order to model the joint probability distribution $P[X, Y]$.\footnote{Some such models can be sampled conditionally based on a prior $Y$ - e.g. a Conditional VAE: \url{https://papers.nips.cc/paper/5775-learning-structured-output-representation-using-deep-conditional-generative-models}} +\end{itemize} + +% Additional Reading: \url{http://cs229.stanford.edu/notes/cs229-notes2.pdf} +%\url{http://robotics.stanford.edu/~ang/papers/nips01-discriminativegenerative.pdf} +\end{frame} + +%%-------------------------------------------------------------% + +\begin{frame}[fragile]\frametitle{Two Types of Supervised Learning} +\begin{itemize} +\item<+-> Classification: The machine is asked to specify which of $k$ categories some input belongs to. +\begin{itemize} + \item Multiclass classification - target is one of the $k$ classes + \item Multilabel classification - target is some number of the $k$ classes + \item In both cases, the machine is a function $f : \mathbb{R}^n \rightarrow \{1, ..., k\}$ (although it is most common for the learning algorithm to actually learn $\hat f : \mathbb{R}^n \rightarrow \mathbb{R}^k$). +\end{itemize} +\item<+-> Regression: The machine is asked predict $k$ numerical values given some input. The machine is a function $f: \mathbb{R}^n \rightarrow \mathbb{R}^k$. +\item<+-> Note that there are lots of exceptions in the form the inputs (and outputs) can take though! We'll see lots of variations in the coming weeks. +\end{itemize} +\end{frame} +%%-------------------------------------------------------------% + + +\begin{frame}[fragile]\frametitle{How Supervised Learning Typically Works} +\begin{itemize} +\item Start by choosing a model-class: $\hat y = f(\bm x; \bm W)$ where the model-class $f$ is a way of using some numerical parameters, $\bm W$, to map each input vector $\bm x$ to a predicted output $ \hat y$. +\item Learning means adjusting the parameters to reduce the discrepancy between the true target output $y$ on each training case and the output $\hat y$, predicted by the model. %\footnote{Reference: Geoffrey Hinton \url{https://www.cs.toronto.edu/~hinton/coursera/lecture1/lec1e.mp4}} +\end{itemize} + +\end{frame} + +%%-------------------------------------------------------------% + +\begin{frame}[fragile]\frametitle{Let's look at an unbiased Multilayer Perceptron...} + \begin{center} + \begin{tikzpicture}[shorten >=1pt,->,draw=black!50, node distance=\layersep] + \tikzstyle{every pin edge}=[<-,shorten <=1pt] + \tikzstyle{neuron}=[circle,fill=black!25,minimum size=17pt,inner sep=0pt] + \tikzstyle{input neuron}=[neuron, fill=green!50]; + \tikzstyle{output neuron}=[neuron, fill=red!50]; + \tikzstyle{hidden neuron}=[neuron, fill=blue!50]; + \tikzstyle{annot} = [text width=4em, text centered] + + % Draw the input layer nodes + \foreach \name / \y in {1,...,4} + % This is the same as writing \foreach \name / \y in {1/1,2/2,3/3,4/4} + \node[input neuron] (I-\name) at (0,-\y) {$x_\y$}; + + % Draw the hidden layer nodes + \foreach \name / \y in {1,...,5} + \path[yshift=0.5cm] + node[hidden neuron] (H-\name) at (1.5*\layersep,-\y cm) {$h_\y$}; + + % Draw the output layer node + \foreach \name / \y in {1,...,2} + \path[yshift=0.5cm] + node[output neuron, pin={[pin edge={->}]right:$\hat y_\y$}, right of=H-3] (O-\name) at (1.5*\layersep,-40-\y cm) {$o_\y$}; + %\node[output neuron,pin={[pin edge={->}]right:Output}, right of=H-3] (O) {o}; + + % Connect every node in the input layer with every node in the + % hidden layer. + \path (I-1) edge node[anchor=south] {$w_{ji}^{(1)}$}(H-1); + \foreach \source in {1,...,4} + \foreach \dest in {1,...,5} + % \draw [arrow] (I-\source) - (H-\dest); + \path (I-\source) edge (H-\dest) ; + + % Connect every node in the hidden layer with the output layer + \path (H-1) edge node[anchor=south] {$w_{kj}^{(2)}$}(O-1); + \foreach \source in {1,...,5} + \foreach \dest in {1,...,2} + \path (H-\source) edge (O-\dest); + + % Annotate the layers + \node[annot,above of=H-1, node distance=1cm] (hl) {Hidden layer}; + \node[annot,left of=hl] {Input layer}; + \node[annot,right of=hl] {Output layer}; + \end{tikzpicture} + \end{center} + Without loss of generality, we can write the above as: + \begin{center} + $\hat{\bm y} = g(f(\bm x; \bm W^{(1)}); \bm W^{(2)}) = g(\bm{W}^{(2)} f(\bm{W}^{(1)} \bm x))$\\ + \end{center} + where $f$ and $g$ are activation functions. +\end{frame} + +%%-------------------------------------------------------------% +\begin{frame}[fragile]\frametitle{Common Activation Functions} + +\begin{itemize} + \item Identity + \item Sigmoid (aka Logistic) + \item Hyperbolic Tangent (tanh) + \item Rectified Linear Unit (ReLU) (aka Threshold Linear) +\end{itemize} + +\end{frame} + +%%-------------------------------------------------------------% +\begin{frame}[fragile]\frametitle{Final layer activations} + +\begin{center} + $\hat y = g(\bm{W}^{(2)} f(\bm{W}^{(1)} \bm x))$\\ +\end{center} + +\begin{itemize} + \item<+-> What form should the final layer function $g$ take? + \item<+-> It depends on the task (and on the chosen loss function)... + \begin{itemize} + \item For regression it is typically linear (e.g. identity), but you might choose others if you say wanted to clamp the range of the network. + \item For binary classification (MLP has a single output), one would choose Sigmoid + \item For multilabel classification, typically one would choose Sigmoid + \item For multiclass classification, typically you would use the Softmax function + \end{itemize} +\end{itemize} +\end{frame} + +%-------------------------------------------------------------% + +\begin{frame}[fragile]\frametitle{Softmax} +The $\softmax$ is an activation function used at the output layer of a neural network that forces the outputs to sum to 1 so that they can represent a probability distribution across a discrete mutually exclusive alternatives. + +\begin{center} +$\softmax(\bm z)_i = \frac{e^{z_i}}{\sum_{j=1}^K e^{z_j}} \;\;\;\;\;\;\; \forall i = 1, 2, \dots, K$ +\end{center} + +\begin{itemize} + \item Note that unlike the other activation functions you've seen, $\softmax$ makes reference to all the elements in the output. + \item The output of a softmax layer is a set of positive numbers which sum up to $1$ and can be thought of as a probability distribution. + \item Note: + \begin{align*} + {\frac{\partial \softmax(\bm z)_i }{\partial z_i}} \;&= \;{\softmax(z_i) (1 - \softmax(z_i))}\\ + {\frac{\partial \softmax(\bm z)_i }{\partial z_j} }\;&= \;{\softmax(z_i) ({1}(i=j) - \softmax(z_j)) }\\ + \;&= \;{\softmax(z_i) (\delta_{ij} - \softmax(z_j))} + \end{align*} + +\end{itemize} + +\end{frame} + +%-------------------------------------------------------------% + +\begin{frame}[fragile]\frametitle{Ok, so let's talk loss functions} + +\begin{itemize} + \item<+-> The choice of loss function depends on the task (e.g. classification/regression/something else) + \item<+-> The choice also depends on the activation function of the last layer + \begin{itemize} + \item<+-> For numerical reasons (see Log-Sum-Exp in a few slides) many times the activation is computed directly within the loss rather than being part of the model + \item<+-> Some classification losses require \emph{raw outputs} (e.g. a linear layer) of the network as their input + \begin{itemize} + \item These are often called \emph{unnormalised log probabilities} or \emph{logits} + \item An example would be hinge-loss used to create a Support Vector Machine that maximises the margin --- e.g.: $\ell_{hinge}(\hat y, y) = \max(0, 1-y \cdot \hat y)$ with a true label, $y \in \{-1,1\}$, for binary classification. + \end{itemize} + \end{itemize} + \item<+-> There are many different loss functions we might encounter (MSE, Cross-Entropy, KL-Divergence, huber, L1 (MAE), CTC, Triplet, ...) for different tasks. +\end{itemize} + +\end{frame} + +%-------------------------------------------------------------% + +\begin{frame}[fragile]\frametitle{The Cost Function (measure of discrepancy) } + +Recall: + +\begin{itemize} +\item Mean Squared Error (MSE) loss for a single data point (here assumed to be a vector, but equally applicable to a scalar) is given by \\ + +$\ell_{MSE}(\bm{\hat y}, \bm y) = \sum_i(\hat{y}_i - y_i)^2 = (\bm{\hat y} - \bm y)^\top (\bm{\hat y} - \bm y)$ + +\item<+-> We often multiply this by a constant factor of $\frac{1}{2}$ --- can anyone guess/remember why? +\item<+-> $\ell_{MSE}(\bm{\hat y}, \bm y)$ is the predominant choice for regression problems with linear activation in the last layer + +\item<+-> For a classification problem with Softmax or Sigmoidal (or really anything non-linear) activations, MSE can cause slow learning, especially if the predictions are very far off the targets +\begin{itemize} + \item Gradients of $\ell_{MSE}$ are proportional to the difference in target and predicted multiplied by the gradient of the activation function\footnote{ http://neuralnetworksanddeeplearning.com/chap3.html} + \item The Cross-Entropy loss function is generally a better choice in this case +\end{itemize} +\end{itemize} + +\end{frame} +%%-------------------------------------------------------------% + +\begin{frame}[fragile]\frametitle{Binary Cross-Entropy} + +For the binary classification case:\\ +\begin{center} +$\ell_{BCE}(\hat y, y) = -y \log(\hat y) - (1 - y) \log (1 - \hat y)$ +\end{center} + +\begin{itemize} + +\item The cross-entropy cost function is non-negative, $\ell_{BCE} > 0$ +\item $\ell_{BCE} \approx 0 $ when the prediction and targets are equal (i.e. $y = 0$ and $\hat y = 0$ or when $y = 1$ and $\hat y = 1$) +\item With Sigmoidal final layer, $\frac{\partial \ell_{BCE}}{\partial \bm W^{(2)}_{i}} $ is proportional to just the error in the output ($\hat y - y$) and therefore, the larger the error, the faster the network will learn! %\footnote{Discuss element of surprise and information theory https://datascience.stackexchange.com/questions/9302/the-cross-entropy-error-function-in-neural-networks, good expln here: \url{https://www.youtube.com/watch?v=k_S5fnKjO-4&list=PLkDaE6sCZn6Ec-XTbcX1uRg2_u4xOEky0&index=24}} +\item<+-> Note that the BCE is the negative log likelihood of the Bernoulli Distribution +\end{itemize} + +\end{frame} +%%-------------------------------------------------------------% + +\begin{frame}[fragile]\frametitle{Binary Cross-Entropy --- Intuition} +\begin{itemize} +\item The cross-entropy can be thought of as a {\bf measure of surprise}. +\item Given some input $x_i$, we can think of $\hat y_i$ as the estimated probability that $x_i$ belongs to class $1$, and $1-\hat y_i$ is the estimated probability that it belongs to class $0$. +\item Note the extreme case of infinite cross-entropy, if your model believes that a class has 0 probability of occurrence, and yet the class appears in the data, the `surprise' of your model will be infinitely great. +\end{itemize} +\end{frame} +%%-------------------------------------------------------------% + +\begin{frame}[fragile]\frametitle{Binary Cross-Entropy for multiple labels} + +In the case of multi-label classification with a network with multiple sigmoidal outputs you just sum the BCE over the outputs: + +\begin{center} + $\ell_{BCE} = -\sum_{k = 1}^K [y_k \log (\hat y_k) + (1 - y_k) \log (1 - \hat y_k)] $ \\ +\end{center} + +where $K$ is the number of classes of the classification problem, $\hat y \in \mathbb{R}^K$. +\end{frame} + +%%-------------------------------------------------------------% +\begin{frame}[fragile]\frametitle{Numerical Stability: The Log-Sum-Exp trick} +\begin{center} +$\ell_{BCE}(\hat y, y) = -y \log(\hat y) - (1 - y) \log (1 - \hat y)$ +\end{center} + +\begin{itemize} + \item Consider what might happen early in training when the model might confidently predict a positive example as negative + \begin{itemize} + \item<+-> $\hat y = \sigma(z) \approx 0 \implies z<<0$ + \item<+-> if $\hat y$ is small enough, it will become $0$ due to limited precision of floating-point representations + \item<+-> but then $\log(\hat y) = -\inf$, and everything will break! + \end{itemize} + \item<+-> To tackle this problem implementations usually combine the sigmoid computation and BCE into a single loss function that you would apply to a network with linear outputs (e.g. \texttt{BCEWithLogitsLoss}). + \item<+-> Internally, a trick called `log-sum-exp' is used to \emph{shift} the centre of an exponential sum so that only numerical underflow can potentially happen, rather than overflow\footnote{https://www.xarg.org/2016/06/the-log-sum-exp-trick-in-machine-learning/}. + \begin{itemize} + \item Ultimately this means you'll always get a numerically reasonable result (and will avoid NaNs and Infs originating from this point). + \end{itemize} +\end{itemize} + +\end{frame} +%%-------------------------------------------------------------% + +\begin{frame}[fragile]\frametitle{Multiclass classification with Softmax Outputs} + +\begin{itemize} + \item<+-> Softmax can be thought of making the $K$ outputs of the network mimic a probability distribution. + \item<+-> The target label $y$ could also be represented as a distribution with a single 1 and zeros everywhere else. + \begin{itemize} + \item e.g. they are ``one-hot encoded''. + \end{itemize} + \item<+-> In such a case, the obvious loss function is the \emph{negative log likelihood} of the Categorical distribution (aka Multinoulli, Generalised Bernoulli, Multinomial with one sample)\footnote{Note: Keras calls this function `Categorical Cross-Entropy'; you would need to have a Softmax output layer to use this}: $\ell_{NNL} = - \sum_{k = 1}^K y_k \log \hat y_k$ + \begin{itemize} + \item Note that in practice as $y_k$ is zero for all but one class you don't actually do this summation, and if $y$ is an integer class index you can write $\ell_{NNL} = - \log \hat y_y$. + \end{itemize} + \item<+-> Analogously to what we saw for BCE, Log-Sum-Exp can be used for better numerical stability. + \begin{itemize} + \item PyTorch combines LogSoftmax with NNL in one loss and calls this ``Categorical Cross-Entropy'' (so you would use this with a \emph{linear output layer}) + \end{itemize} +\end{itemize} + +\end{frame} + +%-------------------------------------------------------------% +\begin{frame}[fragile]\frametitle{Reminder: Gradient Descent} + +\begin{itemize} + \item Define total loss as $\mathcal{L} = -\sum_{(\bm x,y) \in \bm D} \ell(g(\bm x,\bm\theta), y)$ for some loss function $\ell$, dataset $\bm D$ and model $g$ with learnable parameters $\bm\theta$. + \item Define how many passes over the data to make (each one known as an Epoch) + \item Define a learning rate $\eta$ +\end{itemize} + +Gradient Descent updates the parameters $\bm\theta$ by moving them in the direction of the negative gradient with respect to the \textbf{total loss} $\mathcal{L}$ by the learning rate $\eta$ multiplied by the gradient: +\\[1em] +\hspace{1cm} \texttt{for each Epoch:}\\ +\hspace{2cm} $\bm\theta \leftarrow \bm\theta - \eta \nabla_{\bm\theta} \mathcal{L}$ +\end{frame} +%-------------------------------------------------------------% + +\begin{frame}[fragile]\frametitle{Reminder: Stochastic Gradient Descent} + +\begin{itemize} + \item Define loss function $\ell$, dataset $\bm D$ and model $g$ with learnable parameters $\bm\theta$. + \item Define how many passes over the data to make (each one known as an Epoch) + \item Define a learning rate $\eta$ +\end{itemize} + +Stochastic Gradient Descent updates the parameters $\bm\theta$ by moving them in the direction of the negative gradient with respect to the loss of a \textbf{single item} $\ell$ by the learning rate $\eta$ multiplied by the gradient: +\\[1em] +\hspace{1cm} \texttt{for each Epoch:}\\ + \hspace{2cm} \texttt{for each $(\bm x,y) \in \bm D$:}\\ + \hspace{3cm} $\bm\theta \leftarrow \bm\theta - \eta \nabla_{\bm\theta} \ell$ +\end{frame} + +\end{document} \ No newline at end of file diff --git a/Thursday/introduction/intro.toc b/Thursday/introduction/intro.toc new file mode 100644 index 00000000..ae739541 --- /dev/null +++ b/Thursday/introduction/intro.toc @@ -0,0 +1 @@ +\beamer@endinputifotherversion {3.36pt} diff --git a/Thursday/introduction/intro.vrb b/Thursday/introduction/intro.vrb new file mode 100644 index 00000000..94ca68e4 --- /dev/null +++ b/Thursday/introduction/intro.vrb @@ -0,0 +1,13 @@ +\frametitle{Reminder: Stochastic Gradient Descent} + +\begin{itemize} + \item Define loss function $\ell$, dataset $\bm D$ and model $g$ with learnable parameters $\bm\theta$. + \item Define how many passes over the data to make (each one known as an Epoch) + \item Define a learning rate $\eta$ +\end{itemize} + +Stochastic Gradient Descent updates the parameters $\bm\theta$ by moving them in the direction of the negative gradient with respect to the loss of a \textbf{single item} $\ell$ by the learning rate $\eta$ multiplied by the gradient: +\\[1em] +\hspace{1cm} \texttt{for each Epoch:}\\ + \hspace{2cm} \texttt{for each $(\bm x,y) \in \bm D$:}\\ + \hspace{3cm} $\bm\theta \leftarrow \bm\theta - \eta \nabla_{\bm\theta} \ell$ diff --git a/Thursday/introduction/objseg.pdf b/Thursday/introduction/objseg.pdf new file mode 100644 index 00000000..e1bc2008 Binary files /dev/null and b/Thursday/introduction/objseg.pdf differ diff --git a/Thursday/introduction/pdflatex26620.fls b/Thursday/introduction/pdflatex26620.fls new file mode 100644 index 00000000..5161f464 --- /dev/null +++ b/Thursday/introduction/pdflatex26620.fls @@ -0,0 +1,3 @@ +PWD /Users/jsh2/Work/COMP6248/lecture-source/introduction +INPUT /usr/local/texlive/2016/texmf.cnf +INPUT /usr/local/texlive/2016/texmf-dist/web2c/texmf.cnf diff --git a/Thursday/practical-part1/keras-tutorial.md b/Thursday/practical-part1/keras-tutorial.md index cdf733b5..982b3002 100644 --- a/Thursday/practical-part1/keras-tutorial.md +++ b/Thursday/practical-part1/keras-tutorial.md @@ -8,6 +8,7 @@ _[Jonathon Hare, 21st Jan 2018](https://github.com/jonhare/DISCnetMachineLearnin - 20170403: Update to use Keras 2 API - 20180121: Update for LR - 20180416: Update for DISCnet +- 20190408: Update for DISCnet/2 + Colab ## Acknowledgements This part of the course is largely based on Jason Brownlee's ["Handwritten Digit Recognition using Convolutional Neural Networks in Python with Keras"](http://machinelearningmastery.com/handwritten-digit-recognition-using-convolutional-neural-networks-python-keras/) tutorial. A number of changes have been made to ensure that it better fits our format, and I've added additional bits and exercises throughout. This version extends on one that I ran for the VLC research group in October 2016 and a revised version for Ordnance Survey in April 2017. @@ -30,9 +31,11 @@ Through this part of the tutorial you'll learn how to: * How to implement networks with branching and merging. ## Prerequisites -To use this tutorial you'll use the Python 2 language with the `keras` deep learning library and the `tensorflow` backend. We'll also use the `scikit-learn` and `numpy` packages. +To use this tutorial you'll use the Python 3 language with the `keras` deep learning library and the `tensorflow` backend. We'll also use the `scikit-learn` and `numpy` packages. For this lab we'll use a Jupyter notebook running in the cloud on [Google Colab](https://colab.research.google.com). Colab gives us free access to a virtual machine with GPU acceleration and all the prerequisite libraries pre-installed. -You'll need access to a computer with the following installed: + __Note:__ in Jupyter Notebooks, commands with an exclaimation mark (!) in front of them are shell commands, and will run just as if typed in a terminal (without the exclaimation mark). + +If running locally you'll need access to a computer with the following installed: - `Python` (> 3.6) - `keras` (>= 2.0.0) @@ -70,7 +73,6 @@ To demonstrate how easy it is to load the MNIST dataset, we will first write a l # Plot ad hoc mnist instances from keras.datasets import mnist import matplotlib -matplotlib.use("Agg") import matplotlib.pyplot as plt # load (downloaded if needed) the MNIST dataset (X_train, y_train), (X_test, y_test) = mnist.load_data() @@ -85,7 +87,6 @@ plt.subplot(224) plt.imshow(X_train[3], cmap=plt.get_cmap('gray')) # show the plot plt.show() -plt.savefig("filters.png") ``` You can see that downloading and loading the MNIST dataset is as easy as calling the `mnist.load_data()` function. Running the above example, you should see the image below. @@ -223,8 +224,6 @@ Running the example might take a few minutes when run on a CPU (probably around 1s - loss: 0.0081 - acc: 0.9984 - val_loss: 0.0566 - val_acc: 0.9821 Baseline Error: 1.79% -If you want to try forcing the code to run on the CPU to see how slow it will be you can set the `CUDA_VISIBLE_DEVICES` environment variable to an empty string using `export CUDA_VISIBLE_DEVICES=`, or set it temporarily whilst you run the code: `CUDA_VISIBLE_DEVICES= python keras-mnist-mlp.py`. - ## Simple Convolutional Neural Network for MNIST Now that we have seen how to load the MNIST dataset and train a simple multi-layer perceptron model on it, we can now start to develop a more sophisticated convolutional neural network or CNN model. @@ -286,9 +285,9 @@ Next we define our neural network model. Convolutional neural networks are more complex than standard multi-layer perceptrons, so we will start by using a simple structure to begin with that uses all of the elements for state of the art results. Below summarizes the network architecture. 1 The first hidden layer is a convolutional layer called a `Convolution2D`. The layer has 32 feature maps, which with the size of 5×5 and a rectifier activation function. This is the input layer, expecting images with the structure outline above [width][height][pixels]. -2 Next we define a pooling layer that takes the max called MaxPooling2D. It is configured with a pool size of 2×2. -3 The next layer is a regularization layer using dropout called Dropout. It is configured to randomly exclude 20% of neurons in the layer in order to reduce overfitting. -4 Next is a layer that converts the 2D matrix data to a vector called Flatten. It allows the output to be processed by standard fully connected layers. +2 Next we define a pooling layer that takes the max called `MaxPooling2D`. It is configured with a pool size of 2×2. +3 The next layer is a regularization layer using dropout called `Dropout`. It is configured to randomly exclude 20% of neurons in the layer in order to reduce overfitting. +4 Next is a layer that converts the 2D matrix data to a vector called `Flatten`. It allows the output to be processed by standard fully connected layers. 5 Next a fully connected layer with 128 neurons and rectifier activation function. 6 Finally, the output layer has 10 neurons for the 10 classes and a softmax activation function to output probability-like predictions for each class. @@ -323,7 +322,7 @@ print("Baseline Error: %.2f%%" % (100-scores[1]*100)) Running the example, the accuracy on the training and validation test is printed each epoch and at the end of the classification error rate is printed. -Epochs may take a second or so on the Titan X, although will take a fair bit longer on the CPU (perhaps ~46s per epoch). You can see that the network achieves an error rate of 1.06, which is better than the simple multi-layer perceptron model above. +Epochs may take a second or so on the GPU, although will take a fair bit longer on the CPU (perhaps ~46s per epoch). You can see that the network achieves an error rate of 1.06, which is better than the simple multi-layer perceptron model above. Using TensorFlow backend. Train on 60000 samples, validate on 10000 samples @@ -443,7 +442,7 @@ print("Baseline Error: %.2f%%" % (100-scores[1]*100)) Running the example prints accuracy on the training and validation datasets each epoch and a final classification error rate. -The model takes about a couple of seconds to run per epoch on a Titan X GPU (CPU run times are around 60s/epoch). This slightly larger model achieves the respectable classification error rate of 0.84%. +The model takes about a couple of seconds to run per epoch on a GPU (CPU run times are around 60s/epoch). This slightly larger model achieves the respectable classification error rate of 0.84%. Using TensorFlow backend. Train on 60000 samples, validate on 10000 samples @@ -489,7 +488,15 @@ Being able to train a model is fine, but in practice once we've trained the mode ## Reading models and propagating input -At this point, we know how to train a model and how to save the result. Lets assume we're in the business of building a real system for handwritten character recognition; we need to be able to read in a previously trained model and forward propagate an image from outside the MNIST dataset through it in order to generate a prediction. Let's build some code to do just that: +At this point, we know how to train a model and how to save the result. Lets assume we're in the business of building a real system for handwritten character recognition; we need to be able to read in a previously trained model and forward propagate an image from outside the MNIST dataset through it in order to generate a prediction. + +Firstly, let's download an image to use: + +``` +!wget https://github.com/jonhare/DISCnetMachineLearningCourse/raw/master/Thursday/practical-part1/1.PNG +``` + +Now let's build some code load the model and apply it to the image: ```python import sys @@ -500,7 +507,7 @@ from scipy.misc import imread model = load_model('bettercnn.h5') # load an image -image = imread(sys.argv[1]).astype(float) +image = imread('1.PNG').astype(float) # normalise it in the same manner as we did for the training data image = image / 255.0 @@ -513,11 +520,9 @@ image = image.reshape(1,28,28,1) print("predicted digit: "+str(model.predict_classes(image)[0])) ``` -We can run this with a sample image: +Running this should yield something like this: ``` -wget https://github.com/jonhare/DISCnetMachineLearningCourse/raw/master/Thursday/practical-part1/1.PNG -python keras-mnist-forward.py 1.PNG Using TensorFlow backend. 2018-01-21 14:55:16.453161: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations. 2018-01-21 14:55:16.453191: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations. @@ -547,7 +552,6 @@ In our previous convolutional network, the first layer was a Convolutional layer from keras.models import load_model from scipy.misc import imread import matplotlib -matplotlib.use("Agg") import matplotlib.pyplot as plt # load a model @@ -562,7 +566,6 @@ for i in xrange(0,30): # show the plot plt.show() -plt.savefig("filters.png") ``` Note that the ordering of convolution filters in Tensorflow is [width][height][pixels][depth]. @@ -576,7 +579,6 @@ from keras.models import load_model from keras import backend as K from scipy.misc import imread import matplotlib -matplotlib.use("Agg") import matplotlib.pyplot as plt # load a model @@ -603,7 +605,6 @@ for i in xrange(0,15): # show the plot plt.show() -plt.savefig("filters.png") ``` > __Exercise:__ Run the above code and see how the response maps differ for different input images. @@ -615,7 +616,6 @@ from keras.models import load_model from keras import backend as K import numpy as np import matplotlib -matplotlib.use("Agg") import matplotlib.pyplot as plt # load a model @@ -656,7 +656,6 @@ for i in xrange(0,15): # show the plot plt.show() -plt.savefig("maxact.png") ``` > __Exercise:__ Run the above code to see what the filters respond to. diff --git a/Thursday/practical-part1/keras-tutorial.pdf b/Thursday/practical-part1/keras-tutorial.pdf index 5f6d907b..66b5366a 100644 Binary files a/Thursday/practical-part1/keras-tutorial.pdf and b/Thursday/practical-part1/keras-tutorial.pdf differ diff --git a/Thursday/practical-part2/part2-tutorial.md b/Thursday/practical-part2/part2-tutorial.md index beb7f4ef..4966157d 100644 --- a/Thursday/practical-part2/part2-tutorial.md +++ b/Thursday/practical-part2/part2-tutorial.md @@ -6,6 +6,7 @@ _[Jonathon Hare, 21st Jan 2018](https://github.com/jonhare/DISCnetMachineLearnin - 20180121: Initial version - 20180416: Update for DISCnet +- 20190408: Update for DISCnet/2 + Colab ## Introduction @@ -21,9 +22,11 @@ Through this part of the tutorial you'll learn how to: * How to extract _semantic_ features that can be used for transfer learning and finding similar features. ## Prerequisites -As with part 1 of the tutorial, you'll use Python 3 language the `keras`. We'll also again be using the `scikit-learn` and `numpy` packages. +To use this tutorial you'll use the Python 3 language with the `keras` deep learning library and the `tensorflow` backend. We'll also use the `scikit-learn` and `numpy` packages. For this lab we'll use a Jupyter notebook running in the cloud on [Google Colab](https://colab.research.google.com). Colab gives us free access to a virtual machine with GPU acceleration and all the prerequisite libraries pre-installed. + + __Note:__ in Jupyter Notebooks, commands with an exclaimation mark (!) in front of them are shell commands, and will run just as if typed in a terminal (without the exclaimation mark). -You'll need access to a computer with the following installed: +If running locally you'll need access to a computer with the following installed: - `Python` (> 3.6) - `keras` (>= 2.0.0) @@ -31,14 +34,16 @@ You'll need access to a computer with the following installed: - `NumPy` (>= 1.12.1) - `SciPy` (>= 0.19.1) - `scikit-learn` (>= 0.19.1) -- `pillow` (>=4.0.0) + +If you've installed the base Anaconda python distribution, then running `conda install keras` will install both keras and tensorflow. You can make a start on this tutorial using you own machines, however you'll find that the code runs rather slowly. To run at more sensible speeds you need access to a machine with a powerful GPU (or GPUs). ## Getting started Start by downloading and unzipping the data set: ``` -wget https://artist-cloud.ecs.soton.ac.uk/s/wyxs7b59Ohr9LaT/download -unzip boat-data.zip +!wget https://artist-cloud.ecs.soton.ac.uk/index.php/s/eAhIkhhdxgmhRHj/download +!mv download boat-data.zip +!unzip boat-data.zip ``` We'll start by exploring the data, and look at how we can get that data loaded into memory through python code. If you open the data directory you should see three folders: @@ -53,7 +58,6 @@ The keras library has support for directly reading images from a directory struc # Plot ad hoc data instances from keras.preprocessing.image import ImageDataGenerator import matplotlib -matplotlib.use("Agg") import matplotlib.pyplot as plt import numpy @@ -82,7 +86,6 @@ plt.imshow(batch_images[3], aspect='equal') # show the plot plt.show() -plt.savefig("batch.png") ``` You can see that accessing the dataset is quite easy. The most important caveat of using the `ImageDataGenerator` comes when we are using it to load the test data - in such a case we need to ensure that no augmentation happens (other than the resizing of inputs through the `target_size` attribute of `flow_from_directory`), and that the `shuffle` attribute of `flow_from_directory` is `False`, to ensure that we can compare the true labels and target labels correctly. diff --git a/Thursday/practical-part3/part3-tutorial.md b/Thursday/practical-part3/part3-tutorial.md index 8fd95657..2d421100 100644 --- a/Thursday/practical-part3/part3-tutorial.md +++ b/Thursday/practical-part3/part3-tutorial.md @@ -6,6 +6,7 @@ _[Jonathon Hare, 21st Jan 2018](https://github.com/jonhare/DISCnetMachineLearnin - 20180121: Initial version - 20180416: Update for DISCnet +- 20190408: Update for DISCnet/2 + Colab ## Introduction @@ -23,9 +24,11 @@ Through this part of the tutorial you'll learn how to: The LSTM-based Nietzsche generator described in the first part of the tutorial comes from the Keras examples. The second part of this tutorial is largely based on the first section of Jason Brownlee's ["Sequence Classification with LSTM Recurrent Neural Networks in Python with Keras"](https://machinelearningmastery.com/sequence-classification-lstm-recurrent-neural-networks-python-keras/) tutorial. ## Prerequisites -As with part 1 of the tutorial, you'll use Python 3 language the `keras`. We'll also again be using the `scikit-learn` and `numpy` packages. +To use this tutorial you'll use the Python 3 language with the `keras` deep learning library and the `tensorflow` backend. We'll also use the `scikit-learn` and `numpy` packages. For this lab we'll use a Jupyter notebook running in the cloud on [Google Colab](https://colab.research.google.com). Colab gives us free access to a virtual machine with GPU acceleration and all the prerequisite libraries pre-installed. -You'll need access to a computer with the following installed: + __Note:__ in Jupyter Notebooks, commands with an exclaimation mark (!) in front of them are shell commands, and will run just as if typed in a terminal (without the exclaimation mark). + +If running locally you'll need access to a computer with the following installed: - `Python` (> 3.6) - `keras` (>= 2.0.0) @@ -33,7 +36,8 @@ You'll need access to a computer with the following installed: - `NumPy` (>= 1.12.1) - `SciPy` (>= 0.19.1) - `scikit-learn` (>= 0.19.1) -- `pillow` (>=4.0.0) + +If you've installed the base Anaconda python distribution, then running `conda install keras` will install both keras and tensorflow. You can make a start on this tutorial using you own machines, however you'll find that the code runs rather slowly. To run at more sensible speeds you need access to a machine with a powerful GPU (or GPUs). ## Modelling sequences diff --git a/Wednesday/Features.pdf b/Tuesday/Features-extended.pdf similarity index 94% rename from Wednesday/Features.pdf rename to Tuesday/Features-extended.pdf index e6d6a769..32330eb8 100644 Binary files a/Wednesday/Features.pdf and b/Tuesday/Features-extended.pdf differ diff --git a/Wednesday/Features.key b/Tuesday/Features.key similarity index 100% rename from Wednesday/Features.key rename to Tuesday/Features.key diff --git a/Tuesday/Features.pdf b/Tuesday/Features.pdf new file mode 100644 index 00000000..9260f135 Binary files /dev/null and b/Tuesday/Features.pdf differ diff --git a/Tuesday/GaussianTwoClassTwoD.ipynb b/Tuesday/GaussianTwoClassTwoD.ipynb new file mode 100644 index 00000000..bec6bd55 --- /dev/null +++ b/Tuesday/GaussianTwoClassTwoD.ipynb @@ -0,0 +1,164 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def gauss2D(x, m, C): \n", + " Ci = np.linalg.inv(C)\n", + " dC = np.linalg.det(C1)\n", + " num = np.exp(-0.5 * np.dot((x-m).T, np.dot(Ci, (x-m)))) \n", + " den = 2 * np.pi * dC \n", + " \n", + " return num/den\n", + "\n", + "def twoDGaussianPlot (nx, ny, m, C):\n", + " x = np.linspace(-5, 5, nx)\n", + " y = np.linspace(-5, 5, ny)\n", + " X, Y = np.meshgrid(x, y, indexing='ij')\n", + "\n", + " Z = np.zeros([nx, ny])\n", + " for i in range(nx):\n", + " for j in range(ny):\n", + " xvec = np.array([X[i,j], Y[i,j]]) \n", + " Z[i,j] = gauss2D(xvec, m, C)\n", + "\n", + " return X, Y, Z\n", + "\n", + "def posterior2D (nx, ny, m1, m2, C1, C2, P1, P2): \n", + " x = np.linspace(-5, 5, nx)\n", + " y = np.linspace(-5, 5, ny)\n", + " X, Y = np.meshgrid(x, y, indexing='ij')\n", + "\n", + " P = np.zeros([nx, ny])\n", + " for i in range(nx):\n", + " for j in range(ny):\n", + " xvec = np.array([X[i,j], Y[i,j]])\n", + " l1 = gauss2D(xvec, m1, C1)\n", + " l2 = gauss2D(xvec, m2, C2)\n", + " \n", + " P[i,j] = P1*l1 / (P1*l1+P2*l2)\n", + " \n", + " return P " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "nx, ny = 50, 40\n", + "\n", + "m1 = np.array([0, 3])\n", + "m2 = np.array([3, 0])\n", + "\n", + "C1 = np.array([[2, 1], [1,2]], np.float32)\n", + "C2 = np.array([[2, 0], [0,2]])\n", + "\n", + "X, Y, Z1 = twoDGaussianPlot(nx, ny, m1, C1)\n", + "X, Y, Z2 = twoDGaussianPlot(nx, ny, m2, C2)\n", + "\n", + "fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(8,4))\n", + "CS = ax[0].contour(X, Y, Z1, 5)\n", + "ax[0].clabel(CS, inline=1, fontsize=10)\n", + "\n", + "CS = ax[0].contour(X, Y, Z2, 5)\n", + "ax[0].clabel(CS, inline=1, fontsize=10)\n", + "ax[0].grid(True)\n", + "\n", + "P1 = 0.9\n", + "P2 = 0.1\n", + "post = posterior2D(nx, ny, m1, m2, C1, C2, P1, P2)\n", + "\n", + "CS = ax[0].contour(X, Y, post, 1)\n", + "ax[0].grid(True)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\User\\Anaconda3\\lib\\site-packages\\matplotlib\\contour.py:967: UserWarning: The following kwargs were not used by contour: 'lw'\n", + " s)\n" + ] + }, + { + "data": { + "image/png": "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\nAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from mpl_toolkits.mplot3d import Axes3D\n", + "from matplotlib import cm\n", + "\n", + "fig = plt.figure(figsize=(6,6))\n", + "ax = fig.gca(projection='3d')\n", + "\n", + "ax.plot_surface(X, Y, post+2, cmap=\"autumn_r\", lw=0.5, rstride=1, cstride=1)\n", + "ax.contour(X, Y, post, 3, lw=3, cmap=\"autumn_r\", linestyles=\"solid\")\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Tuesday/HowToDoML.pdf b/Tuesday/HowToDoML.pdf new file mode 100644 index 00000000..faaa3caf Binary files /dev/null and b/Tuesday/HowToDoML.pdf differ diff --git a/Tuesday/HowToDoML_prn.pdf b/Tuesday/HowToDoML_prn.pdf new file mode 100644 index 00000000..3abc320d Binary files /dev/null and b/Tuesday/HowToDoML_prn.pdf differ diff --git a/Tuesday/HowToDoML_prn_4.pdf b/Tuesday/HowToDoML_prn_4.pdf new file mode 100644 index 00000000..6d7cf0b7 Binary files /dev/null and b/Tuesday/HowToDoML_prn_4.pdf differ diff --git a/Tuesday/HowToDoML_prn_8.pdf b/Tuesday/HowToDoML_prn_8.pdf new file mode 100644 index 00000000..c279699f Binary files /dev/null and b/Tuesday/HowToDoML_prn_8.pdf differ diff --git a/Tuesday/LabOne.ipynb b/Tuesday/LabOne.ipynb new file mode 100644 index 00000000..1a3dfa0b --- /dev/null +++ b/Tuesday/LabOne.ipynb @@ -0,0 +1,352 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Machine Learnig Short Course\n", + "Laboratory One\n", + "\n", + "Mahesan Niranjan\n", + "January 2018" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Topics Covered:\n", + "Histogram\n", + "Multivariate Gaussian Density\n", + "Principal Component Analysis" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "%matplotlib inline \n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.neighbors.kde import KernelDensity" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Generate 1000 uniform random numbers and plot a historam" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ 92 77 108 122 83 102 120 103 92 101]\n", + "[0.00338318 0.10291541 0.20244765 0.30197988 0.40151211 0.50104434\n", + " 0.60057657 0.7001088 0.79964104 0.89917327 0.9987055 ]\n" + ] + } + ], + "source": [ + "N = 1000\n", + "x = np.random.random(N)\n", + "[counts, bins] = np.histogram(x, bins=10)\n", + "print(counts)\n", + "print(bins) " + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nv+ulg2XzAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "[n, bins, patches] = plt.hist(x, 20, facecolor='magenta')" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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\nQDIENwAkQ3ADQDIENwAkQ3ADQDIENwAkQ3ADQDIENwAkQ3ADQDIENwAkQ3ADQDIENwAkQ3ADQDIE\nNwAkUxTcti+3fb/tB2y/peuiAAD1Sp45uU3SDZKukLRL0rW2d3VdGACgWskR94WSHoiIByPiSUkf\nlHR1t2UBAOqUBPcZkr6+6fPR6TAAwAo0PuVdkiuGxTMa2euS1qcfn7B9/xbq2Snpscoi/NP/1g0r\nUTWPeW0WGdfUrmLYTru6z03TNtWxTJ0dq93Om21l29S1WWRey+xjc9oV9XmL897ytMus4wKNP8/z\nhjet+5Kf42Vs5edrOmyr2/oXSxuWBPdRSWdt+nympEdmG0XEhqSN0gVXsT2KiOEy88iGPp8Y6POJ\no49+l5wq+S9JL7P9UtsnS9ojaW+XRQEA6jUecUfE07b/QNInJW2TdGNEHO68MgBApZJTJYqIj0n6\nWMe1SEueakmKPp8Y6POJo/N+O+IZ3zMCAJ7FuOUdAJJZSXA33UJv+/m2PzQdv9/2Wv9Vtqugz39s\n+z7b99j+D9vFlwY9W5X+qQTb19gO2+mvQCjps+3fnG7rw7Y/0HeNbSvYt8+2fbvtu6f795WrqLNN\ntm+0fcz2oZrxtv2303Vyj+0LWi0gInp9afIF51cknSPpZElfkrRrps3vSfr76fs9kj7Ud50r6POr\nJe2Yvn/DidDnabvTJN0paZ+k4arr7mE7v0zS3ZJeNP38c6uuu4c+b0h6w/T9LkkPrbruFvp9iaQL\nJB2qGX+lpI9rch/MRZL2t7n8VRxxl9xCf7Wk903f3yxpt72C20Ta09jniLg9Ir43/bhPk+vlMyv9\nUwlvl/RXkr7fZ3EdKenz70q6ISL+V5Ii4ljPNbatpM8h6YXT9z+rivtAsomIOyV9a06TqyX9c0zs\nk3S67Ze0tfxVBHfJLfQ/bhMRT0t6XNKLe6muG4v+2YDrNfnfOrPGPts+X9JZEXFbn4V1qGQ7v1zS\ny21/3vY+25f3Vl03Svr855Kus31Uk6vT3thPaSvV6Z8KKbocsGUlt9AX3WafSHF/bF8naSjpVzut\nqHtz+2z7eZLeKel1fRXUg5LtvF2T0yWv0uS3qv+0fV5EfLvj2rpS0udrJb03Iv7G9isl/cu0zz/q\nvryV6TTDVnHEXXIL/Y/b2N6uya9X834tebYr+rMBti+T9FZJV0XED3qqrStNfT5N0nmS7rD9kCbn\nAfcm/4KydN/+94h4KiK+Kul+TYI8q5I+Xy/pw5IUEV+QdIomf8/juazoZ36rVhHcJbfQ75X029P3\n10j6bEzP+CfV2OfpaYN/0CS0s5/3lBr6HBGPR8TOiFiLiDVNzutfFRGj1ZTbipJ9+980+SJatndq\ncurkwV6rbFdJnx+WtFuSbP+SJsE97rXK/u2V9FvTq0sukvR4RDza2txX9I3slZL+W5Nvo986HfaX\nmvzgSpMN+xFJD0j6oqRzVv0tcg99/oykb0o6OH3tXXXNXfd5pu0dSn5VSeF2tqR3SLpP0r2S9qy6\n5h76vEvS5zW54uSgpNesuuYW+nyTpEclPaXJ0fX1kl4v6fWbtvMN03Vyb9v7NndOAkAy3DkJAMkQ\n3ACQDMENAMkQ3ACQDMENAMkQ3ACQDMENAMkQ3ACQzP8Dxe13LLbgVqAAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "[n, bins, patches] = plt.hist(x, 500, facecolor='blue')" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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\nPgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "mu, sigma = 1.0, 2.0\n", + "x = mu + sigma*np.random.randn(10000)\n", + "\n", + "# the histogram of the data\n", + "n, bins, patches = plt.hist(x, 50, normed=1, facecolor='green', alpha=0.75)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "#n, bins, patches = plt.hist(x, 50, normed=1, facecolor='green', alpha=0.75)\n", + "\n", + "# Superpose a Gaussian on the histogram\n", + "#y = mlab.normpdf( bins, mu, sigma)\n", + "#l = plt.plot(bins, y, 'r--', linewidth=1)\n", + "\n", + "#plt.xlabel('Variable')\n", + "#plt.ylabel('Probability Density')\n", + "#plt.title(r'$\\mathrm{Gaussian Density and Histogram:}\\ \\mu=1.0,\\ \\sigma=2.0$')\n", + "#plt.grid(True)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Generate a bivariate distribution -- zero mean, unit variance of each feature." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "(50000, 2)" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "N1 = 50000\n", + "x = np.random.randn(N1)\n", + "y = np.random.randn(N1)\n", + "plt.plot(x, y, '.', Color='magenta')\n", + "plt.axis('equal')\n", + "plt.grid(True)\n", + "plt.show()\n", + "\n", + "X = np.matrix([x, y]).T\n", + "X.size\n", + "X.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[1.41421356 0. ]\n", + " [0.70710678 1.22474487]]\n", + "[[2. 1.]\n", + " [1. 2.]]\n" + ] + } + ], + "source": [ + "C = np.matrix([[2, 1], [1, 2]])\n", + "A = np.linalg.cholesky(C)\n", + "print(A)\n", + "print(A*A.T)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEWCAYAAABmE+CbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzsfX2YFNWZ7+9Udc9I1AlxZEFURKNG\nQdZBFO014rgqihElO3fz5d5hlYijSGIkkiW73iXrrhrxYxLROCgYZkPW7C7rB4qroowkMkZFYAlK\n/IoiCgbGSxCvNDPd5/7x9jvn1Omq6uqe7unumfN7nnq6uz5Onao+57zf7yuklLCwsLCwsHDK3QEL\nCwsLi8qAJQgWFhYWFgAsQbCwsLCwyMASBAsLCwsLAJYgWFhYWFhkYAmChYWFhQUASxAsqhBCiH8W\nQuwSQuwod1/8IIRoFEJs68f7SSHEsf14v71CiGMinDc607dYwPH5QohfFL+HFoXCEoQBCiHEl4UQ\na4UQfxJCfCyEeEEIcVof2/xbIcRvjH0/F0L8c996m1cfjgQwB8AYKeWIgHPqhBCtQoitmcXrrczv\nQ/urn1Hh906L2HabEKLdZ/+fCyGSQohDCmlXSnmQlPKdvvfQotJgCcIAhBCiDsDjAO4GcAiAwwH8\nCECynP3yQxD3GIKjAHRJKf8Y0F4NgGcBjAVwIYA6AH8BoAvAxAL650bZV6H4OYC/EkIcaOxvBvC4\nlPLjfBor4L+yqDZIKe02wDYApwLYneOcKwG8DuATAK8BOCWz/+8AvK3t/2pm/4kA9gFIAdgLYDeA\nmQC6AezP7FuROXckgOUAdgL4A4DvaPedD+A/AfwCwB4A3/bp2+cBtGeufw/AP4CYl/MAfAYgnbnf\nz32u/TaAjwAcFPLsJwLoyDzDZgCXaMd+DuBnAFYC+DRzT799tQBuB7A1c7/7AAzJtNEIYJvWZuR3\nmtkf2Hbm+A0AtgP4EMAVACSAYwOe9fcAmrXfbua6SzK/JwLozLyL7QAWAqjRzpcAZgF4E8AftH3H\nZr5/BcD6zH/5PoD52rWjM+fOzNxzO4A5xlj4hfb7DABrM33ZCKBRO/a3AN7JvMM/ALis3PNsIG5l\n74DdSvCnElfcBWApgCkAvmAc/2sAHwA4DYAAcCyAo7RjI0EL8NczC+BhmWN/C+A3Rls/B/DP2m8H\nwDoA/wdADYBjMhP5gszx+SAiMi1z7hCf/rcDeBTAwZlF5Q0AMzLHGqEttj7XPgRgacjxOIC3APww\n07+/zCwyX9Ke508Azsz074CAfa0AHgNJYAcDWAHgFr8+FvBOw9q+EEQkTgJwIIBfIpwg/D2AVdrv\nC0CENp75PQG0EMcy7/p1ANdp50sAz2T6MkTbd6z2rOMyz/bnmb5NyxwbnTn33zJ9HZe593naWPhF\n5vvhoDF7Uaat8zO/h2Wu3aP9R4cBGFvueTYQt7J3wG4l+mOJ+/w5gG0AejILzPDMsacAfDdiOxsA\nXJr57rd4/RxegnA6gK3GOfMAPJj5Ph/AmpD7uSDV1hht31UAOjLfPYutz/XPALg15PhZAHYAcLR9\n/4YMZ5t5nnafZ2zXfgvQov5FbV8CioPO1cfAdxqh7SX68wE4HuEEYRSIAB+R+b0MwE9C+nYdgIe1\n3xLAXxrnhN2vFcBdme+jM+eeoB2/DcBibSwwQfgBgH812noKwHQQQdgNoAk+DITdirdZG8IAhZTy\ndSnl30opjwBxkyNBkxUAjgSpMLIghGgWQmwQQuwWQuzOXJuPMfYoACP5+kwbPwQwXDvn/ZDrDwVx\n7u9p+94DcZBR0AXiIIMwEsD7Usp0SPt+/dP3DQPwOQDrtGf878z+LOT5TnO1PdLoy3sIgZRyK4A1\nAP5GCHEQSDJbqvXteCHE40KIHUKIPQBu9ulb4P8lhDhdCLFaCLFTCPEnAC05rn8v8wwmjgLw18a4\n+TJIkvoUJFm1ANguhHhCCHFC2HNbFAZLEAYBpJRbQFzuSZld7wP4onmeEOIoAPcDuBZAvZRyKIDf\ngbhWgLi9rOaN3++DuNmh2nawlPKikGt07AJxtEdp+0aBVFxRsArABT6GVMaHAI4UQuhj32w/13Pu\nAtkyxmrP+Hkp5UHmRQW801xtbwcRdL3vubAUZEhuAv03r2rHfgZgC4DjpJR1IOItjOvD/q9fgqTP\nI6WUnwfZO8zrzf5+6NPO+yAJQR83B0opbwUAKeVTUsrzQcR+C+idWhQZliAMQAghThBCzBFCHJH5\nfSSAbwJ4MXPKAwC+L4SYIAjHZhauA0GTf2fmusuhiAhA+uEjMp48+j7dJ/0lAHuEED8QQgwRQrhC\niJOiurxKKVMA/h3AvwghDs7063qQEToK/hW0uCzPvAdHCFEvhPihEOIiAL8FqWTmCiHiQohGAFNB\ntodIyEgX9wO4SwjxZwAghDhcCHGBz+l5vdMIbf87gL8VQowRQnwOwD9G6PJy0KL8I2jSQQYHg/Tz\nezNc99UR2jOv/1hKuU8IMRHAt3zOuVEI8TkhxFgAlwP4lc85vwAwVQhxQWbMHJCJ5zhCCDFcCHFJ\nhsgnQQb4VJ79tIgASxAGJj4B6fJ/K4T4FEQIfgfy34eU8j8A/AuIu/sEwCMADpFSvgbgDpDXyUcg\nI+ALWrvPgbxydgghdmX2LQYwJiPmP5JZ0KcCaAB5g+wCEaDP59H/2aBF+x0Av8n0c0mUC6WUSZAX\n0BaQPWEPiEgdCuC3Usr9AC4BGdt3AbgX5IWzJY/+AaTzfgvAixlVyyoAX/LpTyHvNLBtKeWTINXf\nc5lznsvV0YzKhYnCMuPw90GL+CcgQuS3WIfhGgD/JIT4BORI8O8+5zyf6euzAG6XUj7t08f3AVwK\nklB2goj6DaA1ygGN3Q8BfAzg7Mx9LYoMIaUtkGNhYWFhYSUECwsLC4sMLEGwsLCwsABgCYKFhYWF\nRQaWIFhYWFhYAKBw9arBoYceKkePHl3UNj/99FMceGCQy3r1wD5HZcE+R2VhsD/HunXrdkkpfQMn\ndVQVQRg9ejReeeWVorbZ0dGBxsbGorZZDtjnqCzY56gsDPbnEEKERrQzrMrIwsLCwgKAJQgWFhYW\nFhlYgmBhYWFhAcASBAsLCwuLDCxBsLCwsLAAYAmChYWFhUUGliBYWOSJzk7gllvo08JiIKGq4hAs\nLMqNzk7g3HOB/fuBmhrg2WeBRKLcvbKwKA6shGBhkQc6OogYpFL02dFR7h4NTlgprTSwEoKFRR5o\nbCTJgCWEARD8WlJ0dhLRbGwsniRlpbTSwRIEC4s8kEjQAlTsRW4golQLt5+UZv+H4sASBAuLPJFI\n2AUoCkq1cFsprXSwBMHCwqIkKNXCbaW00sESBAsLi5KgVAt3KewSFgRLECwsLEqGYqvXrEG5tLBu\npxYWFYR83Smrzf3Sr7/5PIN1+y0trIRgYVEhyJf7rTZu2a+/QH7PwHaJZBIQAqiv75euDxpYCcHC\nokKQL/dbCdxyX7n7fJ8hkQBaWwHXBdJp4Lrrqkc6qgZYCcHCokKQr1dOudwv2ahbX08Lcr7cvdlf\nv31hhuOuLiIG6bSNQyg2LEGwsKgQ5OuVUw73S13tI0R+C3NQf819uVRhNg6hdLAEwcKiDFi0CFi+\nHGhqAmbOVPvz9crJdX7QfQqFruJxHFLdCBF9Yfbrr7kvV0CbjUMoHSxBsLAoEnQ1R9jx3buB226j\nfU8/TZ/FWKxNLFoEXHVVce9jcuetraTCKebCHEUCsNHipYElCBYWRYCp5liwoM6zkOnHpfReu3x5\naQjC8uX+9+lLYFd/cOdWAigfLEGwsCgCTDXHhg1DA48L4b22qak0fWpqUpIB/y6Gq2p/cOdWAigP\nrNuphUURwGoO16XPhobdgccPOACYOxeYPBloayu+dMCuoOPGUfv6fSrBVdWicgMKrYRgYVEEmGqO\nZHJP6HHmfnlhKJZqxE8CYDXRLbeQq2gxPXRM9VM58gwV23BealRyQGHZCYIQwgXwCoAPpJQXl7s/\nFhaFQldz6Jy3vkjOm+fdX+yFIUgCOPdciu51HOD664GhQ/u+aJv9b231xiWUwuBswjScv/12cZ6t\nlKjkeg5lJwgAvgvgdQB15e6IhUWxEbbol2Jh8PPQ6eggYsAxA3fdBTz/vFdKKYSrN/u/fLm6z759\nwLXX0vdSEgfTcH777coNtpI4bx2VHEdRVoIghDgCwFcA/AuA68vZFwuLYqOzE5g/nxZHKWmx1Bf9\nUiwMQaopx6HFGaAFnPvhx+XrC/fmzXXo7PRfyM3+NzQoI7aUQE+Peu5Zs+h7sRdq03AuZeVHMFey\nF5WQpg9cf95ciP8EcAuAgwF8309lJISYCWAmAAwfPnzCQw89VNQ+7N27FwcddFBR2ywH7HNUFl55\nJYZ/+IcEkkmv38b117+BqVO39/7evLkOGzYMRUPDbowdu8dsJu/zgtDWdjR+9asjAQjU1KRxxx0b\nMXbsHixbNgpLlhyNdFpAiDQcB5BSIB5PY9ast7Bw4bHo6XEQj9M1ADz90Pu1YcNQLF58NKQUACSE\noLWFiJGAlAKOk8ZXvrIdw4cnfduI+mz6Ne+8cyDWrBmGY4/9BA8/fAS6uwXicdn7jMDAGVeFPsc5\n55yzTkp5as4TpZRl2QBcDODezPdGAI/numbChAmy2Fi9enXR2ywH7HNUFr797bel60pJPCttjiPl\nzTfn39batVIOGSKl69Ln2rWFXS8E9WHuXP+2YzE6DtDvyZOldJx07++WlvB+cFvchhBSxuN0P76u\npkbK2lrVRlubf5tr19K78nvWsPfB17W1ea8fKOOq0OcA8IqMsC6XU2V0JoBLhBAXATgAQJ0Q4hdS\nyr8pY58sLIqChobdvWma02nikmtrC1MLBRmKo6oc2IbApOmuu4Bp05QRnNUXZrK6pibg+efT6Olx\nUVNDbeWyeUyfDrz6KvDKK8pmMXSousfWrcD993vtDkFG8CBju24TMdVw/OmXZruv0JP6BdlDqr2a\nW9kIgpRyHoB5ACCEaASpjCwxsKgK5Jr4Y8fu8Sy05gISdr15zNTV19fTgrdvHxlQv/994Mc/9l7f\n3k7fm5vp+iAbAqAIQ2cnLeh8XSIBdHdvxJ49p/QSsqVL/W0eZtI7IeiefJ5+D72Npibg178ONoKb\nCz5Az8/Pkk5n10QoxFif6//k52N7kBAUT6ITq0p2J42KSvAysrAoOYrJuQVNfDOXUVC0bZghF/Bv\nWzdCdnSohUlKyov0xS+qeIPGRroeAB58EFi9mlxNb7+dzveTVMw+NTfT/rFj93jO1fsBqNgG3cOI\nEYvRs+VKTDdunPf3pk3hC35XlyJwjkO/degENBYjqaSurg61tf5xIO3twJIlRECCPKJ0KQvwdxKo\nZHfSqKgIgiCl7ADQUeZuWAxQFJtzC/P1D8plFHR9Mul1z5w+3X9RMYmLEN6cSAsWqIW1u1vt37+f\nFrylS+m33yId9Ex+70jn9Dm2QScCOqTMXqz1NoJ+R1nwa2uDvbOY6PBCf//9gOM0QAi16OvV2pi4\nAsEeUY2NqigPw3Vpv65KqlR30qiwqSssBjyKna7BTFPBXHtYLqOg6x2HruHrgOy2TSQSpCbS8fbb\ntLjt3u0lFLEMy7d/Py1mPT3A+vXBfXIc2nSu3C/NAj+vSQzGjKHFOqz/udI28ILvuv7SDC/4N90U\nTNx5X3c3vdueHtH73azWxu9LCLXom2MlkQAWLqT3KQR9LlxIx849F7jxRrK/tLYCV16pVG/VhoqQ\nECwGJ/rLAKdzd8zV5QNTFdTR4a9W8Prk7/ZvLANeMMaP9xpym5tpy/VefvxjUhMtWEDEQEomRIq7\nFgKYMYPaW7yYFjkpiWtmGwGDS1POmkXnXXcdSRybN9fhhhuypSsmIDp3DQA7dwKnn06EQb9HPlXW\nTLUS4E3vYf4ffqk/OjvpOblvrivhOKJXQjCrtcViwOWXA3V1wJ13qmP6WJk5k94J22dYItMZgfXr\nlY1k6dLqsyNYgmBRFvS3AY4zjJqZRnNBV42woZTVO3qfc+Uy8mvPdYnLZPUGQ1fLhOU54gVKf48N\nDcBzz9Fxlg50nTxAXHN7e3abXV0qsGvfPrJNbNs2unfR37ePAu3mz/eqZR54gCQPgAjCzp3A2rXK\nDhFUZS2Z9Lanw1RN+aXHiMWUdBWPZ+vzUyn6LgQwZcp2zJt3eBahNQnPuecqxkFXrekETV/wW1u9\njABQ3XYESxAsyoL+NMB1dKio2Z6e8HuZUotuwAXUIhNUycsvl5GO9nbVXjoNXHMNMHUq8OST1Dfm\nKgG1ELoucMUVJE10dSmvJf6cPZskg4YG4O67lXQgJeX6AbwEgffX1Xnz/jQ2qkVWSuCRRwDgC57r\nnnmG0l5cfrmSZgBgxQrggw/UPfT3rP/XXGWN+7RqFXkZBaW2MD2OdDdV/i/4/9CJnOmZdcEFHyGR\nODyQ8ABEfFkNJoSyXYSVDe3qyiYqQZ5Y1QBLECzKgv7M5xL1Xn5SS319dkEbgBbOfPrM3iwPPOBt\nL5XihZfAhGbrVkU4UingvvvoOC/0plFZCPImSqW87qVBSKdV1bZYDLjnHpI4Lr+cUmWrtr0iFXvX\n3HcfPYvr0uJvSl66HUJ//64LXHQR8OGHKlbBNKwzQezoIJuI7nHU0EAEKezZgOgSm46gceJH0PSy\noaZRvFLTUkSBJQgWZUF/5nOJeq8g47Pf4msSiTB7yKJFtOCxlBIEXmTq64F//Ef/c3W3R3O/X/Gd\nKOjpof6NG0cc/9KliisXQmZSTmQbkHt6lDShPwNj9mzSqTc3K/XSgw+SNBGLKWlECG/eI/aK0mMa\npKTFeM8esp289pq3L46jpBUG/w/t7cAHHxyH2trckqGfpFJfr9SF8TgwZQowYkS2HSYoq201wRIE\ni7IhyE+/XPcK4hAPOIAWKkD5/ocliNMjYxctAq6+2t810yQsp51GC1J7u9d1NB8cfzywZYu/FBEG\nfp7GRq/B++WX/4DTTjsGXV3ErS9Y4E8AdELFapX9+0naYDXYqFGKiKTTwFln0bsdNgxYtoyuT6eB\nHTsUYeZ7sAfQgw8qbywdjo+/ZGcnMGkS2zdGYuVK4N57s2smhNmzOjvJZsFqpFSKCJoeq5GrjWqC\nJQgWFhkESRJBqR127wYuuAD43Of87SGdnWQj0ImBzmnrRup4nDyCOjqyuV+AuOmTTiJbQRDSaUUM\nWLURlbDE48BLL5Fk0tND9/vKV4BUqhbjxtHz3HJLNpEJk2L4Owdw6a6sUgJr1lA/danCcYj7Zndc\nvT12Bw26p2nTaW9Xxm6APIxYEjLtFHpcCBu6AfpU0pK6l2lDKrZNrFwpMCxBsBgUiJKHBvCXJPR9\n7Gq4e7fSwQO0oPJCvHs3sGzZKOza5dV1c5qJu+9WXkZf+xp55TQ0KGJjLngTJyrJIYwgAOraU08l\nAjNrlr4oZsN1yai9cqXXltHdzb9H4umngZ/+lOwasZhqj6WlXEin6Z3cdFO2pGT+ZoPz4YcD776b\n/Wysv4/FSHWzcqUKNgu36UgAwtepgCVDXvhXraJzhKD3wAFy/B/73a+YNrGyShtRMuBVymaznQbD\nPkdwhkwzC6fjFJY1VMfEid5MpgceSO0KwZk+01nZTqdNo2vb2iizKJ/rON5Mo/rmut4MoPF49jl+\nW00NnX/ZZeHnxeNSjh6du714nPpSW0tZTzlLKT9Drm3MGJn1Pvw21/V/DwDd28ximisrqtk/x/G/\ndu1azu7K/5/3/5k8WZ0Xdr+gY/ng5pvVu3Jdb4bcgZzt1GKQoZRicJTKZLq3SphY7ydNcDv8fd06\n7zWffur9LaXo5WjTaeJoR4ygttnfn7nrdJq+x2LZXLeUFEfA9164kILM/vjHbA5aRypFEsxjj4W+\nNnR3h7fDnDWrnlIpymZqGorZxhKELVvoXeh2AT/pgt+FCYolyJbuwmxDiQRwww0sydFzfPnLdMxv\nvMyfrxLtcf+kpGhpPVYi7H6Fjmt9bvSnB14WolCNStmshBCMSn+OqDn9C32OMK7KL09/UD7/lhbi\nRBWnr7h3zu9vSgd+m+Oke/P9t7QQx27WADC517lz/dt2HNqYS3cc6mOYtKBLK33b0r77hVB1FZi7\nDn8f9Gx6n/wkgSDpwHHo2YVQ0k/YWNM59bY2KY866pPe9zhkCP0nfuNFHwP8ztvaChqSkeE3N4Kk\njVJLCDaXkUW/IMils1jwyy/E4LQMbMD0S/DGHGNbW3ZWy54exbl2d5PxNQxkkP0Qzz5LHi26d82+\nfRSEdsEFXiOrEGQfmDFD6dEZHAjFuXj4+4wZwHHH+fchiNPOH/5+rFIS5/3Vr9LvhobwVhyH/hO9\nT36eVxwlbHoN6QZlDkLzA/+PN95In52dZPfZtu1znghpwH+8JBLq/+Lzu7py51/qC/yM2gC5rva3\np5JVGVn0C/oqBkepHxBWyF1X0/Ak18GTMuoiyoFXu3ZlX5NOA9u3D+n9vXmzWvyk9BpvGVKqqN2p\nU4FHH83dl7o64K23ovW3VHjkEeDxx3MHiqXT0ZmAVIqMynrks4lXX1WLsxlZ7sd4pNOKsHHMgp4z\nClBpQvSxGosRA/CjHxGRKIaRN6jehW7U/vWvy+S6GkWMqJTNqoyCUUnPEWbczWV083uOXCUTo5Rg\nzCWWm6UkwwyguuqJ1RC6iok+07KmRspJk/JT0TiOKlXZd3VPMTZ/lVG5N8dR5Tj10qBB/3NtbU+g\nCijoGlb16WouUx1ZyBwIGq+6UTvoPtaobFFVCDPuFmp0C/PxDuIIcxWZ8TtHjzdYv54CpFauJPWM\nlMDo0eQmumED5fThZcJ1STU0fjzl2lm1ijjS/fvJ1z4fpNPUzvjxwQFt/YsCQp9zYMwY4OOP6f3m\ni6FDVToLPUBNSlUoyC+W5I47qPIbOwp0doaPoXnzVII8mZHU9EjysKSDURwc/Opd6EbtcuVBsgTB\noqgoNECHxei6uuzCMmHqJr9jQURCXyRuucWbNK29nXTHu3dTcFYqReqCM86gSQqQN85PfkI++c89\np/zx02m6lrOP0v3TKKTciOOQjeE3v6kEYhANfh5D/J/44dBDgYMOyiYIUSKrd4dnFcfixaQ61NHZ\nCTz11HC4ropb4JxKI0YQ8fUbX/X19H9ISX2bOpU8ncz03UButZWeBoPb5HvpKqSy50GKIkZUymZV\nRsGolOfIpd7JJUbX1vbk7eOdSz00dy6pCvT4g7Y2rwoiHo/ulXPzzdSmvm/SJIozmDSJxf7KVLUM\n9I29kdgTK8r/IQTFa/iNIV0V6OedxOo9U90UpBZib7dYjMZgVO87hlUZWVQVgtI/RBWjpRRob8++\n3kwrHZR22jQw19d7o3U5jQLgTSORT+6g+nqK2tU52mzVUPFVLeWBRLmfxXHIgJ5LOgC8UlUyqf8v\nwc8gJeVSmjs3e0zy/ysl/d6xw8vhA/7qJr85oMfDcHrtYqe86CssQbAoOvxsBWEDX1f7OI7Egw9m\ne3RECefv7ATOOUeds3o13UdfJISgxXz8eFWXF8jtJaNfv369txqXPySEEDnOqQZUBmHbkzt7dQ4Q\nYXNd4Mwz/W07t98OTJtG44oznOqZVl2X1HmcBru1lVSEfvUP/OZAkOqzbEFoPrAEwaJfEGYH0KWK\nzs4dWLny8CzCoReWMRPIsU/6jh3Kx5ztAs3NtPBzxTMhqOh6TQ1N6PXr6XdUSEmLSZB+3Dy3+lF+\nCaGYtpRYjIzafgRBSiU9cobTWAz43vfImL11K40VncPPJ417ruSJlVA/wRIEi36BXnIx6HgiAdxz\nz0dYtepwD+Ew6+NycRqWCJgImMFMeoqFjg41oTkAaPlyylSa74Ljl43UojrQ3U3jIh7PVhO6LkkG\npmpn6FBSA3V2hksDfiVPzZiDXMkTy44ohoZK2axRORjV8BxRDGirV6/OMhLraSmEIEPe2rXRUkiw\n8U6/f1B6BLsN3E2IlOd/5zQYdEzFkuipRYIcI1payFg9cWL22IpiXO4LrFHZYsAgqgHN5JhMddP4\n8V7JgGEWawG81cBYSpk/H3j66ez75lNQxqJy4fc/nnTSn5BKfaFXutNtRkwmABpTZp1kc4wuXqyk\nC05j0tXldWNm1VMlGYyjwOYysug3NDaSuofzCbHaJyhHDB8DaILedBN9dnVl6/B1YmCqjjgHPkAT\nsqnJv39+1xYOS1kqBY4DnH/+H/H73+c+VwhFBLgMpj4+OzqyVU0cxKZn062vD8+vlQulzJ0UBish\nWJQUixaRrr6hgTxF9CpYmzb5B/kA/l5Fep3aWExNTNel9riQyamnqgLufK+XXlLRqV1d/lxkLAZc\nfLF/rqHBC4lyG5Xzhf6/Og4VJXrssRGRPMmmTvU6KyxZogriPPssLeqm/eHjj70SJ3uidXWF59cK\nQjkL5FiCYFEyLFoEXHUVfTdVNKkUEQoWqfftown49a/TcVO9pMcmAGrSOw4wZw5VIeMJNHJktqH4\nkUcoYdwJJ9Ck1wkK4/rri/jwVbaIBqN6n8NxgG9+k6LLk8m6SNdMmaIWZPZqA7wxBs8/T2kynnvO\n3x3WceDrOh0VYZH2fpH8xYQlCBYlw/Ll/vs5J0xTkzdfzIMPAiedRAOe/cA5ZfX999M5tbWUOlpP\nG2FmOg3yZJISeP112jioSEdbG/CnP/X9uQcWqk9CYEgJ/Nu/MXOQ+xkcxxssxsSAx6vuVfTww16G\nh8/jWtQrVhRuOzBtZvX1SmKIxU7GKaeUTmKwBMGiZGhq8jfennYa5fLv6qJ8MpzquaeHcs787ndE\nHNjtj/PSA2Sw+/BDb3svvQRs3EiBaDxRliwJjxXwO1ZcYlC9C6kX1fsMurE46P/gaHXHIWbDDBaL\nxYDLLyf3ZXMRnjmTPlklOnSouv6ppwoPNjPjFcxI/lIapy1BsCgZZs4E3n4bWLBATcx4nIgB2w5i\nMdrHHP/KlYd5iruYun7Xpes3bvR6GSWTwLe+BVx4ocpzP3++ykra/6jehXQwgUtq7toFHH882bXW\nrycpdMQIf0KgY+ZMRRh09DXYzPS0UwRKljaaOYpvaqVsNg4hGIU8R7GKgke5T0uLih8wy11Om6bX\nH1BJyISg/fq5ut93UBwCn5cYog5rAAAgAElEQVRPUXq72c3czFKdfZkvfZ1rfP3ChesKuh6VHocg\nhDgSQDuAEQDSABZJKX9Srv4MNvSnJ4NfJKauIwWycwlxGUmWFoRQ+zgatLUVOOus7GtTKaClBTjw\nwPyS1llUL444Ati2LewMiXyltu5ub4qUc88lSdR1gYULVarzXFJAMeYaz6GOjj4ndQpFOVVGPQDm\nSClfFUIcDGCdEOIZKaVNDNAPKFeWRQ7lnz2bPkeO9D9Pdxnlz/37qWgMQDrfe+4BvvENylRpQkpg\n795i996iUhFODApDPK6K4WzdqgLP0mngmmtI3RnFkyjMY67SAtXKRhCklNsBbM98/0QI8TqAwwFY\ngtAP6GuN40Kgc1m6W2g8rtsKiItjQmBCD/659lqKWrawKDYaGoj5YFuX66rgR4AWd5ZMczFUZo1m\nM7ahkohCRRiVhRCjAYwH8FufYzMBzASA4cOHo4OdcouEvXv3Fr3NcqCQ51iwoA4bNgxFQ8NuJJN7\nUOrXsGzZKCSTR2cKnisRvqdHYtSoT/Heewdm9sneTyEkpOSZyMfoeyol8dlnuwEM1Y7rkFnXIHIE\nMbdlqhqkzznmsVyqiVzqi/zVG327ri/t5Ho/fscLbTvouN89/X6Hnefdv2/fHrz8clfveE2n0zj6\n6L14552Ds65wHIm6ug296pzNm9W8GjuW9vFc++ijWjzxxEik0wLJZBpLlryLZHJr2EvwoOTrVRRD\nQyk3AAcBWAfgr3Kda43KwSj1c/hVJcvXSGZWoeKttpaMwGQAjlZpTAgy+sVixTEgDhtWfiOm3Spn\nGzOGxmRNjdqnJ8TjjZMtmmM8KKFdXxPeDejkdkKIOIDlAJZJKf+rnH0Z7DDT9JrH9MIzP/1pdsqJ\nTZvIH7upyd8ND6B2W1tJ1dPTQ3YArlO7fn1+aagvvRT4wx/I/bQY2LmzOO0MPEgMDBfa/J7j9ddp\njOtxMro7NINzX3FalFy2uXzqJ5QD5fQyEgAWA3hdSnlnufphkdsLor3dW3hm8WLvoL/tNpX/hwPR\ngohCV5eaWOk05YFhAkGTTU3asOyjK1dGK1Jj0VdULzHoS/ZaKSl1BQAccACNNSFUvAwjnaaI5aVL\nVa6jINucznTpebkqCeXMdnomgP8N4C+FEBsy20Vl7M+AQb6ZEoNypwRh5EhvFkczcvimm2iSXH01\nbXo/OOMpQJNuzRpy71MTl744DnDDDf4pJgBLDCy8iMe9v7/wBZMY5E/YpCTGY/ZsYMIE4C/+Qrk+\n6+foKa9ZAuDMvGZN8RtvpM/+zmIaGVH0SpWyWRtCMPg5CtFRRtF71tQovT0X/2AbQltbuD6WbQR8\nfktLti5Wbelefe3EiVJOnizl0KHl1ynbrbq27PEVzTYFSHniiep6x9GDJsnO1dAgZV2d95pYzH/e\n8Jg3gzFbWgoLVBvQNgSL4qOQ+IJcek3WjXZ0qBKDutibSFAsgF+dWoC4p1mzaOpwLeN4PJzLT6VU\n8RELi3whZWHX1daS7YBtZEJ4Ax97eoDf/U7ZuxxHBarp88ZUw7a2el1PH3iA2o3HK6twjiUIAwyF\nxhf4RRP7GZp5kLsuGdxGjKBYgN9mOQwr6Anq9u0jA/JRRwFvvpn/81lYFIbcKqMxY4DvfpfsXLNn\nAxs2UDwCpc+mczgZHhOEU0+lxd6cOyZjpldhe+klZXPjQDU/ghDm6FEqWIIwwBDViyHXYPMzNOuD\nPJVSg5oL1AThrLOAF19UKYW50L2FRbkgBNnCPvpIBYldfDFFIPPYFAL49a/Jq279eto3fjzwne8o\nAvHqq/7t+zFmzHRxtH0YylUkxxKEAYDOTgr6qq1Vgy6MELS35y7goS/+ySRlDm1qovP1wiEAnRNW\nevKyy4BDDlEExBIDi/6HBEsJnOr6P/6DjrS3Azt2ALff7nV9llLVWOYMuuPGkZs0j+WeHsXhm0xW\nEGPW3Ezzjxf75ubs3pYrtYwlCFUOlQ7iaCxbFs5JBFWC8sutwhwOp5l45hk65+67iVvSC40D1F6Q\nmx9zVxYWlYAjj6TCObyIL12azeQwHMdboKamhup56NixI5ij95uLiQTV7giT0MuRWgawBKHqwZxE\nOi1ychJ+laCCcqswh3PddaTzlJKuXb8e+NnPiKtpbyeRWa9f7IcdOxCpwLmFRX9gq5YpwpwTJr7+\ndZIQdG7dDGIcMYLaYeZJd0ENQpgUz5g+nT5z1WQoJsoZh2BRBDAn4TjpnJwEn8vxA5deCpx8Mom9\numooio90IkGEYcaMbN9sE489RpGf0VC9gVAW1QEpidHp7CTuPww7d3rnjesCb7yhjsfjtGDX13sT\nL+ZqNwwsbdx/P0kv/QkrIVQ5mJNfsuRdXHHFMTm5EtZr1tfTpGCuhj2BVq0iQ1prKx3naE2Gnl20\ns5POSaXCo0LzSUlhYdEfeOklWuilDLdpNTXRJ3PrO3Yo+wFA9ZPZLVsvx9nVVXjfymU/ACxBGBBI\nJIBkcisSiWMinZtIUCQzqZpoAB9zDPDOO/R7/37KS2SK0vpAX7SISmOy7tVxaLMGY4vKRLbk6Y2Q\nzwY7SnAer1gMOO447zkjRtBnYyMZqouh8y+X/QAIURkJIY4UQjwkhPi1EOKHmUR0fOyRoOssKh+d\nnaRHjcVIBK6tpTQRtbVK/cOGYJ4UehHyRYuAq64C3npLGZNra4F77wUmT86vL2bKAQuL0iB75Y8S\nvLZ4MUnRUhIBeU2r1lJbqzyEglJWFIJitpUvwiSEJaBMpC8CmAHgeSHEVCllF4Cj+qNzFoRiBqjo\n3hCuC1x5pTJajRsH/N3fUcQxG84mTSK30SefpJxFnNVUh5TkefHkk+TXnQ9siUuLcsFPzdnQAPzP\n/5CkHI/7V/RzHOC888jeZmYy1XMX9SUWKIrRuRQIIwjDpJT3Zb7PFkL8DYA1QohL4EduLUqCKAEq\nZhyCvt8ccLp+EgBGjVLHEonsRHX8m/WmL72ULTYDwWkr8ofyF7ewKCViMSIKrDoSgiQADrSUkmIO\nzMy66TTZFnK5d+eas+UIPMuFMC+juBDiAP4hpfwFgO8CeArAYaXumAUhVyZSHlhLlhztyaLINQz+\n/u/pc9EishvU13s9jbhmbGcnbQcd5G3/9NNJbNbx5pvhgWh9gyUGlYWBy/vNmEHz6fzzaTyzWohT\nsadSZDPr6CBVKJfQzGU0jpI9ON8Mw/2FMAnhAQCnA3ied0gpVwkh/hrAbaXumAUhl4EpKA7BrGFw\nzTX0nRNtdXUpTyO9ZqzOCQkBfPopxRmYKJ3nkJUQKgsD5b/Ifo7nnyevuaYm4tABRRikpDnB0vX8\n+eR9F8XQG8UoHLVuQn9LDYEEQUp5V8D+9QDOL1mPLDzIlZtIRRSnUVPjBA5ULkrDibbmzVOeRqmU\nWuB1nWosBqxYYd1GLQYCshmN118n54hYTKlQdS+5VIoYKyB8HpoLeJR8YkHnlFuVZN1OKxD6AAOC\nByEP1tZW4OWXvXEIzc2UYrenhzh916UBHoupdnUuhY/rE+LP/gz44INSPqkfBgpHalEtMKugMVIp\noK1NVUMLyggclLIiStr5XFlS+zs1tiUIFQbTC4jL9umDje0DrBKqqQHuvHM3AOL6ecFnnaeUatD3\n9JCnkB8ns2kT1S1Ipega08DcP7AqI4tSoLAxJSXw2WekWo2S5rqvC3g5YxAASxAqDvoA09U4+mDj\ncxj79wMPPXQkbrhBDaTp0/05n1SKahiPG5fNyfDnggXA228XXmSkb7DEwKIUyM1ojBhBbtMcaAmo\nOfjSS8DZZ5MhWs8t5LeA98UGEDV9famQkyAIIYYDuBnASCnlFCHEGAAJKeXiHJdaFABTjaNLCKaq\nhyUEAFi7lpKncKTxjh3BC3oq5eVkeABv3gz88pflIgQMKyFYlAc7dtCn6wJz5gB33OE93t0N3Hcf\npa5evdpfygb6bgMoVwwCEE1C+DmABwH8feb3GwB+BcAShBLAb4CZ3AKnz50xQ08aJ3q5GiGAjz/O\nbpuPc8QxoFRUn32Wf19ra71EqTiwxMCi+IjFJKQUkVKrpNNULS3ImSKZ9FY50xdw3VGjHDaAviIK\nQThUSvnvQoh5ACCl7BFC2Iw1JYQeRNbYSBv7KeuD65131HfXTeN733Nx1100GF94wdum61Jqia6u\n7EC1QogBUApiYGFRXEycSNHGqdR2nHji4Xj8cXKl/uCDYGNyLAYMG+aVlA87DNi+Pff9ym0D6Cui\nEIRPhRD1yESoCCHOAPCnkvZqkCOKYbmjQw1oIYALL9yBoUMP7633ysW/+fu99wIzZyr1EEDt9CVN\nr4VFpaOxkWsij8SKFWq/6wLTpgGPP64q/nH8AQA89JA613EoVfySJaQ24pTXfii3DaCviEIQrgfw\nGIAvCiFeADAMwP8qaa8GOczaxQxdBDU5keOO24utW1UK3liMqpuxRABQLdfFixVxWb3aVjOzGNh4\n/HGWZL2qyFSKvOiYCOjzjCOVGa5LBIDLaNbX+0vsQHmDyoqBnARBSvmqEOJsAF8CvdXfSyltSrIS\nwixfyeDISUBxIlwP9u67j/MMZCGUJ9GiReROqovIySRw222UkM7CYqAirDDTyJHkam2Wz2TpuqeH\nvi9cSPt5rq1cmV1hECh/UFkxEEgQhBB/FXDoeCEEpJT/VaI+DQrkynT47LMULr9qlSpgc8UV3mLe\n9fV6PVgvB9TdrbiYa6/115d++GGwHtXCYiBALfRe77V4nNxMW1vJzfqtt9Q1EybQft2xY9Kk7LnC\npTIB+ty61WtQ9qtVXukIkxCmhhyTACxBKBBROAk9f0oySRzL+PHea7kgjZ+bqBA0QNvb/Rd9xyEO\nacMGut6mp7AYDIjFgLFjKcV1WxtwwAHA7NkkLTNmzPB6Dl19tf8cSqeB3bvVfOT6Inwfv1rllY6w\nXEaX92dHBhOiRjcmEjRYb7+dBuR111HAGV/LATQUkZwG4Pam8RWCarKKAC9Ox6E8RbEYGZs/+QRY\ntqxkj2xhUXaw18/TT6t9n30G7NlDxGH5ckp0N3Nm9DY3bPCmk7/ySkopv3Urzb9qcz+NEphWD+Af\nAXwZJBn8BsA/ZQrlWBSAqK5pnZ3AnXcq7n3fPtJhCqEqmLW2kh1gy5a9uOSSz2PoUBqMixaFc/3M\n8aTTwKuvAuvWFfMJLSz6FxMnAqecQvUMgmpz7N/vJQaMBx8kg3EQIWhupnNMN+vaWiIgehZUjmLu\n7CR1brW5n0bxMnoIwBoAmXLTuAwUmHZeqTo10BHVNa2jw+v9ICXwxBOqqP3s2bSfitfUYcsWcqU7\n/vjoKiApKSzfwqKa8corpAJ97738r+3pCefgORCU7XbsmadXGvQLHq1K91MpZegGYJ3PvldyXVeK\nbcKECbLYWL16ddHbLBbWrpUyFmPHuOwtFpNy4sTs/a4bfI3d7DbYNiGkBNKBx4cMobnWn/P65psL\nu2eh61XUNTtK3avVQohvCCGczPY1AE+UkEZZZJBIANdfr9sJvEin9Zqv0rPfwsKC5k1NDfDFL36C\nI46gymc6pk3rX4MvO4XceCM8FQ4rBYEEQQjxiRBiD4CrAPwSwP7M9hCA7/VP9wY3OjspuAxQhmId\nrgvMnUsGsRNO+ATxOO2Lx2mzsBjMEAI47TRikN5++2Bs20aL/2WXkc1h2jSaP3ocAZeTDUPU8/xQ\nqaUzGWFeRgeX+uZCiAsB/ASAC+ABKeWtpb5nf6EYEYuqPKaSEqQSBAxJQCKRAMaMId3mI494Xeks\nLAYaXJdiCYKKOElJEvTLLwMcg5BKUVoK1yW7w4oVwNSpwJQpqpysWXtEn8d9DT6r9FxHkeohCCG+\nAOA4AAfwPillgC0/GoQQLoB7QOU4twF4WQjxmJTytb60WwkoVsSimQr7jDPIo4GJgpS06OtG5Rde\nIILw+ONFfCALiwrEnDnAF7+YHYXPEIKCL4mRktCJgu6s8cgjRBikVOnjmXM353FfC+JUurE5itvp\ntwF8F8ARADYAOANAJ4C/7OO9JwJ4S0r5TuY+DwG4FEDVE4T2dhUO3xcfZD09xeLFRAwAlYjLcYA3\n3uCz1WBvb6eMjhYWAxmPPw784Q8ITGktJUkBulQNKGlbv47zf7HNgTMMm5HHgAo+K5TDL2e9g1yI\nIiF8F8BpAF6UUp4jhDgBwI+KcO/DAbyv/d4G4HTzJCHETAAzAWD48OHoKLLSbe/evUVtc/PmOixe\nfDKkJPOM40jU1W1AR8eegtv84IPj0N09ErToSwAyM6AFfv97xfnw8bVrd+ODDz6ftT8bulFCGucJ\nbX9QG0K7zmwjqK5B2LH+RiX1pVLR13fkd705xsKO6WPOO14//fRTJJMHgtK2mGOPrkunBYSQnra+\n9rWtGDlyH1pbj0M6TW3GYmnMnv0W3nzzIADAq69+hLo6IBY7GVIKOI7E4sUCqZSA60pcdNF2XHDB\nR0gm9/SrHaDY61UWcrkhAXg587kBQC1/j+LClKPdvwbZDfj3/wZwd9g11eB2evPNyu1TCClbWvre\nZktLkCsd3WvSJCmBVO8x15XSccrv7mc3u5VymzRJynhczYWgzXWlPO+8D+XkyVK2tal5tXatlNOm\nket2Wxv9HjKE5o7r0rG2NprTLS1qXrsu7SsHKsHtdJsQYiiARwA8I4R4FEAxyq9vA3Ck9vuIIrVb\nVrDe33UpT0pQ3vR80Nyc7TUkJYm+NTXArbcCX/5yl+eYhcVAx5o1lMRRSlL3nHii/3mpFPD888Mx\nf352NPJTT1GU/nXXkUqIMwynUmRbuOYaCkZrblbzuhKNwcVCToIgpfyqlHK3lHI+gBtBpTOnFeHe\nLwM4TghxtBCiBsA3QHUXqhqs97/ppvyNyYsWARdcQJ9mm88/D4werfYJARxzDKWuAIDf/vaQ3mPp\ntCIYFhaDAT09wJYtwce7u0WvDYBh2ggAZR9gpFJktAYKn9fVhLD013VSyj1CiEO03ZsynwcB8Kna\nGx2SSnFeC+ApkNvpEinl5r60WSmIYjQy3dkWLQKuuoqOcb4VnZt55BHg3XfVbymphOZ3vkOud93d\n3tWfBWYLi2rHkCHZtUH8oI/3SZOAXbsotxFjxw7v+aYLaHMzZRS++mrvvVIpmqvz5g1cQsAIMyr/\nEsDFANYBvhabY/p6cynlSgAr+9pOtcHPLXX5cu85ra3eame3357dTjpNE0XP38IV0ywsBgqi1Pw2\nY3TGjCECoBOEESOyr7vgAnJN1VNer18P3HefOicWG7gqIhNhgWkXCyEEgLOllFv7sU8DHh0diuPh\nIhsNDd5MjK+/DvzDP1BGxQsuiLLIk7fEyJHAtm0l6riFRYVBCFqwv/c9qp3MTNb48SQ9M1xXYvx4\ngauvpt98nDOYbtigKgw2N1Om0mRSVUwb6JIBI9TtVEophRAPA5jQT/0pOSqh5ml9vVrg0+ngQvfp\nNMUzPPpolFZJeBszxhIEi8GBWAz49rdV1tFp01SswPr1KlhNCCCR6MK11w5Dd6b4r+t6mSyuMMhS\nQj7BY4sWFVZLoRIRJQ7hRSHEaVLKl0vemxLDT1VTDnR1KRHXcZRqiPWZOsLsABxEM2wYsG0bEYTn\nnitlzy0sKgeuq4gBg2sQuC4RDD7v/feH9BIDgOwCrquC0+Jxr1ooavBYLttftSGKH8o5ADqFEG8L\nIf5HCLFJCPE/pe5YKVApiaXq69VCzxJCIkH9CXKd0yEEDeBLLwVOP50lAlIZ2RrJFoMF+/eThHD1\n1cTscYYATk1x+eVUwUwI4L33DvRc67rAvfcCLS20FZpNwLT9mb+rDVEkhCkl70U/wS+xlFkFqT/Q\n1aWMvywhADQgzz6b7Ac6amsp+RZABXJ6eoigPPmk3n8bcWsxuCAlGY1few144AG1DyDpoLmZFnpi\nktT8cF3Kg9TVlS1h5IumJq/tr6kp+NxqQJQ4hPeklO8B+AzI5E2Abx6EikdfYgT8EJQG19xv/m5s\npEXedemzvl4db25Woi5A5/z0p8DDD1PKXo4x6Okx1UtV+ZdYVDyqY1z19Cj1jxDEQHGFs5oawHHS\nqK0laeDeeymtfF9qEvCcHjeO0s9Pnkyf1awuAqIlt7sEwB0ARgL4I4CjALwOYGxpu1YaFCuxVFBG\nU3N/a2t2Wl0AmD6dPsePzz5+8cWcwZTQ1UXtbjV8vdgGQXmN2CPYwqKYqJ4xxYGYsRiwciXw2GO0\n7/rrgY8/fhdXXHEMEglayPuSsdRv7lc7IWBEURndBMpwukpKOV4IcQ6Ab5a2W5WPIHvE/PnKpXT/\nftIpmhkT2fAVi1GBe/389nYazIxYjLicxkYVps8QAjj1VG++dwuLwYhYDLjnHmKetm4lY286Tdtd\ndwF33bW7d9E3VccsoUf1POxrCuxKRhSC0C2l7OISmlLK1UKIH5e8ZxUOv0F17rlqcec8Q01NlLaa\nzwPUYEqlaDHX00w8/7zXMHz66ZT62vQ+AkidNHIkEwlLECwGBmprs217Rx1FgWZ+Nj8hyLg8c6Yy\nLuvVBXt6gKeeGt6bgkJ3K62v9y+ME4ZKL3LTF0TxMtothDgIwBoAy4QQPwEw6H1ZTHtEV5e3utl5\n5ylRUj+Pk2TxgNW9jVIpMijr/tFr1gAvvZR9fxaFP6z6dIAWFl74Lfpf/zqwejXp6vXFnl2vAZIK\nzj0XuP9+mh/MZEkJ/Pd/H+axFSQSlIqC520+nofFtkVWFHKlQwVwICjXUAzAdADfAVAfJZVqsbdK\nTn/NqXNdlz7Xrg0/t6Wlbymq6+vNtL/psqcjtpvdSrXxnNLnWU0NpaiuqaHfsZiaU65Laa15jjhO\nyjdldT7zthJQ6vTXYcntFgL4pZRyrbZ7aelIU/WCo5/N/ENBeslEAti0KTgdRSxG6qD9+2k6+KGr\nK3ufmc/FwqJSkW/OLebe583zqnuWLyeVEEvmrqukhhkzaJ6RvU76qnYqvaRlfyPMhvAmgDuEEIcB\n+BWAf5NSbuifblUPgqKfeZ/rAldcke3v7BfAIgQFm82dS79VvWTCZZcBO3dSWP7OndnXn3giqZws\nUbCoJLDqRicA+SZgdF3FaPE8Mm12tbXElK1fT8fHjVOLfV3dRiQSp/i2XcklLfsbgTYEKeVPpJQJ\nAGeDUl0/KIR4XQjxf4QQx/dbDyscfh4H5r777qPBrOsw/QJYzjqLYg0AGqBmdsb336eCHpMn+/eF\n/K37/kzlhaVmlYW+/R9CAIcdlh8BuOyy7LoEJpPDc8y02Y0bR158999PBAMgqWLs2PAStkExRYMN\nUQPTfiylHA/gWwC+CopDsIC3Qhp7HPA+HXqRboCMzZMmec954QXKcHrWWcBXv5qdv33NGuAHP/CX\nDgDK2BhUcLx6YL2lBhKkBD74INq5J55IwV2/+AWlnNDR0+M1+OrzrraW3L0TCW/6iqhGYpby+xKo\nNlAQJTAtDuBCUEWzcwE8D+BHJe5X1SBIB/nss+TO5uchxLj1VuCcc0jspeAydeyRR7LLZgLAggVB\nKiG7kFqUAv03rt56iz5vuQX45BPvMcfJTj5nzrvOTuDBB9X80NVMmzfXobPT304wkOMK8kaQtRnA\n+QCWAPgIwAoAlwE4MIqlulRbJXsZ+aGtjbwXhJCyttbfg4HP8fOsEELK0aOjemJYLyO79f82dGj+\n13ARe6+XnDomRPaxiRNzz7ebb1ZzSQjy5JOS5l1tbU+gJ1E1eRqVzcsIwA9BVdO+L6XsU7nMwYjO\nTpIQpFT5iPy4jq6uYP2qlBR1ybnbpQy7o5UQLPofu3fnf83IkZSe5bXXSA2qI2guzJiRu10zYGz8\neJI2tm6lErOcDcCUAKynkUJYxbRz+rMj5UBnJ7Bs2SjU1tLvYg4I3eglhL+bKED3c5xg3T9fH04M\nLCxKBYliMxvbtlEQGbtX60np/Mb5tGnRcgUFRSC7LlVMAwQcx78gle5pVAlFtMqFKKkrBiTYkJRM\nHo1//VcaiKlU9PD1XMgnvH3qVKqKZk4GniBChBMNQvEnroVFqZBOk6H4kkso2n7kSMpQes012eN8\nSh4J+Hlh1xPYAcAZZ3Tht78dhlSKCAWXywS8BADwT1o5WFD1ToqFQnHwAvv3U+K4YhbOiRLezkRp\nxQriloYO9R5nAsFidFSX0hNPVO6rFhaVinSa6nusW0fu1OPGUWpqfZwLQTE7+Xr+mN5/AM1vXW0E\nZHsYtbdXRhGtcmHQSgg8YJLJNOJxxyMh5Jv9MAhmwIvJieiZUVOpcH1sKuXN4QIEi9hmgR0Li8JR\nPKnzxBOBgw9WCR2FUMWekkkViQwA116rjj3zDCV9XL06fD6aqh5dfXTttfW9c0X3PjI9jICBm7gu\nCgYtQeABs2QJ5UkHCs9+GAV6RDMbicPKXZqLfTxOv/ka1wW+8Q1g2bK+983Coj+wZQuN41iMxrGu\nBuVSsgDZC8aNU27bTDDa24PnYlB9ElYfpVJE2ISgzAEA7ecCOnxdc7OqtGZtCIMMiQSQTG5FInFM\n7+98i2dwul2ABhLgP5h0TsTPFqDndonFaOB2d9P+Sy6hdBbt7RS4w4Ri5878c8JYWOSH4tmmmKFh\nSVefB3opWYDmzimnhMfx6AiLJWhsBOLxNHp63F7vI7OIFecg42sGGyFgDGqC4Id8jMEc6MKi5qJF\nivs3pQu9XT8XUiHIm4LTVdx/P31K6U1hoXNXn/sccVxhSfAsLPqGwonBkCHAZ58ZrQl/hkiI7LnW\n3AwsWUKMUTyuGC4/hM3bRAK4446N2LPnFDQ2ZhOPri6lqhrssATBQBSfZNZVkn+z2s8VmoBsLiWR\nIE5k+XJg2LBsVY+UZAieN09FXKZStP+BB+h3d7dqv7ubSgTGYsAJJ1i7gUWpkC0hjBiRnVbFDyYx\nOPFE4I03/M/1c5hIJFRuML+5GGQz8Dt37Ng9HiIxmO0EYbAEwQdh2Q9NW0As5iUKgEq/qw80DlRT\nftFe/+tYjAhMZyfdew9/sGoAACAASURBVMoUlemU1UymFJBO0723bCnKY1tYRMLxx5O6Mp+8WY4D\nfOlLwWM1nVYMlLnQh3no+dkMcsEGogVj0BIEHnR1dXV5cQi6uAlQEq4dO8h1lDMvnnkmMGZM8HWm\nzn/ECODjj0lNtHQpSRJPPuk9J0glpPbbGASL/sGaNcTE5BMwmU6TRGteE4vRb2agghZ6E33NP2RT\nXvtjUMYh6L7Hc+acnJePs+nf3NwMPPww+U/HYjTw16xR5fy4bf061/VOiu3byYsilaLPBQu8Uke0\nSWeNCBb9BylVQRozCePkyeQEYaqBTNsZ10LWY3U6OrxzISgOwC/LsEXfMSglBJ27kFLkxV0EiZuc\nk0gPJuMBzdwIX7d1K9VI0MEcVzoNvP22mnDcloVFpYElYTMnUVNTcKoWHVKSx8/Mmaoewe7darzr\nrqgmrNqnNBiUBEH3SAgqrRcGP3GT29y3z0sU9AHN13V2kqHYjEMYOZJyxzMxOPVU4IADshOAhcHm\nPbLoL7zwAm26LYEji5uaqE5BMum9xnVVwBm7mupqIl0VZbqimrBqn+KjLARBCLEAwFQA+wG8DeBy\nKWUBeRMLg85dhJXWK6TN+fOBp5+mfUFJ7RIJWuS/9S3g3Xdpn5SU9AugiRCLARs3KpfWqKh+YjBQ\ncjINlOcIfgY/o7KUwKpVFFk8ZQrZx/T4HDPp3Nat3nQRPPbZdduqgvoX5ZIQngEwT0rZI4T4MYB5\nAH7Qnx1g7qKjI7y0nomwTIiJBHFGTBCkDBd5f/lL4oxM97xTT6WgHFOtxOBgtf/3/4CGBuDFF/OT\nIiobA2ERBQbOc0QjbK4LTJhAaSlYXfrooyThjh+vAr8AYPp0csR48klypOCsp0BwoJhF/6AsBEFK\n+bT280UA/6sc/TCRK+1tFA+Iri4VPayLxEHtTp9Oi/lrr6l9PImCwDrW+fPp87/+K6/HrHAMFM56\n4GHoUP98W65LThWAN7KYU07MmqXqgnD+Ik5bwWP5yiuBUaMsESg3KsGGcAWAXwUdFELMBDATAIYP\nH46OIqcf3Lt3Lzo6OrB5cx3mzDkZ3d0O4vE07rhjY1Zh7mXLRiGZPBrptEAymcaSJe8imdzqOaeu\nrg7x+Mno7haIxyV27XoL55xzbG+7s2a9hT174qir68Y99xyL/fsdCCEhhOhV96xZA6TTuwAcCloc\ndT0Q/X70UeCJJyQAie5udufQF9Psa8K/67/Nc+BzjXmtfq55fj4oNTHIl+CUkkDlajvKf2O2YY6B\nsO9+/59qm8ZlppJWTOKKK97CT35yXCYvkDrXcdLo7t6IDRuGQoijISUdI3uARColIKVAOp0GQN+l\npLZJRSRx0kk038I8i/oCnufVjpI/R5SyaoVsAFYB+J3Pdql2zt8DeBiAiNJmKUto6uX3XJd+m4ha\nam/tWrqeP7ldx5EyHqdPxwkvMzhxIp0bvTShLaFZWVtl/x9+5SvNrbZWynHjPpYTJ1KpVynpMx73\nXs/zRZ8f8TiN4blz1b6aGmqT509bm7qu1Chlqdz+RDlLaPaV0JwXdlwIMR3AxQDOzXS4ZDAT0PmJ\npFFyGAUV9jbVQfzJRjRuV0/3a8L0DmpspLKBLS3e/UOHAnv2WFfUykdlqr0mTqSxdddd2RH2jHgc\n+MpXgMcfBzZtoiIdGzdSBlLORNreTnmGOGW8nj6Cj61bB2za5LUJANZVtKIRhWoUewNwIYDXAAzL\n57pCJAQqsK24mZoaL0eiU1yds/f77de2n8Rg7m9rk3LaNClHj87mzLig+JAhUk6erPbHYlQkfNKk\ngcGR2q3/tro672+WSHmMtrT4SwgHH0zjlMe9fo4Q2VKzPj+CpOIgaTvKvC2m9GAlhDJLCDmwEEAt\ngGcE5cJ9UUrZUoobcRAao7s7OMzdrKuay4AcFD7P0ZbsbfHkkyovkR9cF5g9G7jjDrWvp4e8jGpq\niGML4uYU/DnSeDxYKrEYmPjkE68v/8yZymALEPfuNx727qXKZXPncspoYP9+CUAgFlOpJcw8Q+Zc\naW3tW/K4qOkrLIqPsqSukFIeK6U8UkrZkNlKQgwApQpixOPRBqjfYh/Uthk+X1/vjbbcsCH72mOP\npcnKPNiGDf5qoFSKVEdhJTHJZc9fh7RwIXDDDcHXWgxMOI4K8ho/XqV3nj/fGxA5YgRwxBGKgOiM\nzd13A44je9vZtMlbbpLTsuhz5bPPgMWLiSiElY8NQ5S5Z1EaDPhcRokEld5raaEtapqKKLlSguom\nd3V5y11u9ToiQQjgr/6KIjm5/aYm5YvNcByVL4m5LiHovMsuo5wxbW3Ar38NjBv3J9/n6OoCfvxj\nOu/ww3M/d/kxUESZ8j0HpzyRkhbV2bOBH/wAOPtsKkepMx47dtDmN9YpqFL0trN8uf9C3dhIsQSM\nl14CvvOdwu0ENk9R+VAJbqclRyEh7rlypeiiMxfd2LSJJlF9vbc8oJQUQMaSgpRk1PvKV7yRnJwS\n23GAOXMod/yHH5K6aehQivDs6KAUF7Nm0TV83zfeqPN9Dg6MGzcuOwlZZaIyjbHVAD0flq4S2r+f\nEiYGqQ1TKUoyZ8YBmJXGmpqI+WBVjl57/PLLvYGUOsHIZUT2U0PZPEXlwaAgCIUiSi52Tt/b06OC\n0bj+MUNKWrR1dHerSE6u4cq6/nTaG33sV0bw0UcVJ+g40GIRvFi/nvp7zjnZeWUqE6SztogOJgSA\nUkGa0Pe5Lo8Z+h2Pq2hiBi/Ss2a9hUMP/ZInyhig8/Xa47rdAFAEI5ctIKyuQVQCYlE8WIJQAPxq\nG/CES6f9S1pK6S2Kw/v271cusSxVSEmcWBhYjFf39l9IX3uNJm51EANg4BCD/nsOtkXxWOR8QMce\nS5X0eCyyuvH668l1eccOklDr6kjiTKdJjdnaqhb7WOxYrF5N1+sL944dKpEjl6Hs6PC6d0epWZBv\nXQNrcC4tLEEoAKzjTCa9YjpLCH51Y3mirV9Pk2nlSjrHdak8ppn5NB+voFgMmDTpI6xadVjWsd/8\nxsYsDHSYY+3UU2msAWrxdBzi6hsbyVjMC+rs2cDtt6sxkkx6bQWcHh7wGo4fe0yNUdfN9joyY3CC\nbAHezMPeqoF+6GthHIsciOKbWilbKSOV8wVHbDoOxTm0tKjISz7GArzrqkhPBvtZt7SoqGXHUf7b\nftu0af5xCfG4lAsXrpNtbVKOGVMa33a79f/mOOT/H4/Tfz9tWu4Id4DGlD7OWloo/sZ1Kb5FH29m\ne7EYjVWOo6mt7emNM9DjeXgTIvt+ZgxOrngCs4+5sgBEyRZgwsYhVHYcQlWjs5O4KFYZ9fSQQW7m\nTHXO+vXk2SMl/TbTYDM3tWiR10V10iRSF/F1jJoa8g8HgG9+E3jvPXWsuxtYuPCLOOEE73W69JIv\njjrKew+LfCGRr9qIa3T39Phn/bz6av//UgiVUJG90hgcF8N1ubnKGY8NXbpwHOCee1Q0spke/vLL\nvWNaCGUDY5gcfFeXcnkNgtnHMM7fGpxLC0sQ8gTrMDnwjF1DTXG4uZnqIyeTdE59vb8xbP1673WH\nHEKTjEXoKVNo/4gRZJi+7jrS3ZrYsqUuq4C5EOSd9PHH2ft1Lyg/vP9+jhdRMuS/kFYm8nsGIYCp\nU+n/zif1My/KYSmjzbQsfO7u3cBtt6nzvv99xdT4pYfnMc21DK64IjsVTJQUMH7I5zpbGKd0sAQh\nTzAHxMTgvPMo2EePcOZFv7WVjHWpFPllS6lyvwQZw0aM8HJAgFcPzEbnbGQvQOl0NjEAqJ0zz8yu\ndqXD/x79gYFADIB8CZvrAitWUKQwjw2TgRg/XkkCABGDE04gJkGXTk0EcdW33OJN1T6U0hZ57hul\nnXzPyaePFv0LSxDyhMnJmMSApQfHAS6+mBZW9jwC6LcuEjc3k1GZ29M5ro4OMrLpHk0s8rsuxTb4\nuaTmQipFaikRsF4ddxxVcsudLsML04vKIjrYqYDHxqZN/p4/urpGSvIimj2bVDz5LqKNjdS2zpWb\nXjwLFtR5CEMU7rxQDt5y/uWHJQh5IoyT0XMYpdPE8XH0Mccr6Nkhub3Vq7MzqPKkZJ9xlgyEoCAi\n1tuefTYv3IojHT2aVD5hizObBQHlGcUBTW++qe6bj/3BEoP8cNhhwPbt6rcQyn//2msVkfjsM+Cf\n/slbr1uX4MLycwFkp7rmGvov43F1rt9YvuUWrw1gw4ahxX9wi4qFJQgFwI+T6ewkbl7nuqUkPaue\nWMyPkJjtmXEOJ5wAbNmiFvFRo9T5M2ZwhKi6cUMDMGQIcY9RcMwxwEknUbAbI5UKliAGO/pirNfb\n+OMf1e94nP5L9t83iesHHwS3FZafq7OTiAG3x3Eveqr2MBtAQ0O/lTq3qABYglAATN2uztHreWRq\na7ONblHzKLH6RUrgrbdo0nPcAvtqMygbKkkIrgs88UR+6p533iGJwqzJUD47QmXh4IMpE6ifRFUo\ndA8fISiNCUCL9fjxJFHqWXr5PCbSsRhw0UUq9UlQapWtW/Prpyk1JJPKqGwjhAc+LEHIE36RkjpH\nD/S9PmwiQZIFu/il09QmQPaG+++nT1ZBuS7w5S/vwkknDQPgzSljQgjl2sgLXDpNBCQKATCJRvFR\neV5G+/cDZ52lUokUI9BPb8NxvES8pgY44wx1P0Y8TkFlpjdRZ6fKKeSncozFvGkqdDfRoAJPuh2L\nz7MRwgMfliDkCb9ISVPMDqrKlg90Fz9uk/Md+aXMOOGET/Cznw3DD34Q3q7jAN/7HtVe0NUSUTne\n4cMp0rp0qCxiAJBdSF+c9fxVxcAhhwA7d6rf3d3kAcZwHOCSSygOJUouID8GhTF+vDeddNRF3kYI\nDw5YgpAn/PylTTEb8HJsQfBTPem//YzXepg/L0qOA9TVdWPRIkpDoOOoo0htwIQjlaI2zcV/6lQq\nmRi2yLEKTPddLz6iSQgHHOAfj9EXRDWijxzp1ekLQYTyj3/Ur1fPMG0a2WeCJKv/+3+D+yEEuZT+\n7Gfec3SVUFQGxSQe06dHX+QLjS+wqC5YgpAnghbqoOpRQVyXX5UpPXuknvWRz+/oUPmQAEpKdued\nNKHvvvvYXu8mhuMAP/wh8Pbb3kV83TqvGsF1ifucMsU/GlbnUDs6vGojPcumH8xFNhYLi6WIjmIT\nA64j/MYblBAQCFaPmRHcUgIffWSeqwjblCn+71YI4M//HPjd79Tv006jccX/l5TE1evwUwkBwQyK\nrv7RCQBfEzUYzMYJDHxYglAAwvylo4rW5nl+xUeYwLS3qwR4uvsqoFxFpRRZi5eURGSmT/cubqkU\n+a1zfYZUivzeObjJXLikpDKgnBmTDd6uC3z968CyZcHvSm+HUybkQwxcNzu/fy7oleiiYMwYcrV9\n9FF6v3o8RdTYCjNliG6AXr6cagnoRJhVdK+95l3QW1vpv9cDxsy0J1FsVn5j1E9yYFVklEXexgkM\nfFiCUGREFa3N88ziI3qQ0GefqetM2wGDUx7zgsMLos4J6imwN270Xr94MREEJgrsB8/tJJPKyM2G\n6YULabGLinQ6v1iFiRNpgdy0iardRV3gg9Q+fsQoFgOOP15JBbp3Fhv0w8Dvgu06QnA9DIlUSiCd\nBlatAp57zisZ8Wd3N6mUJk70Lsq1tfTOXVcVOWIUarMKk24tLIBBUEKzv8GTLlc9WfO8mTNp8Tv3\nXPrkhF9mHQPHUa6tDCGAiy7ajtWrgX/+Z8pJE4upPEvjx1NisjFj1DXmwnjAAer7zJnA888DV13l\nrbKmL2apFHGuDQ3R3020BZ3ULK6r3gNAthDPWQXYns37H3UUJXPL5xq/44mEckWNxcgT6K67NuC8\n8xSnz8TCDyNGUAI4fYFubVUBiddd53UzjjrG/JBIeO9lYaHDSgglQFTR2rQRsA2BaiQTF2cuIsyx\nc4I6QEVDb9pERsbFi4nzdF1Ka6CKnRCBYE5V534POcTfBXHxYv++p9OUNmPEiIgvJQJIPUO6d8eh\n57ntNiohqvczFvMGdRUCISj24rrrSG8fBUG1Lnbu9L7T9euBnp6haGqi99ndTX2+7jpl8+H/0HQD\nZXR1edOemKpHq76xKAUGDUGo9KAaP9vDvHnk/aMviH7eQU88AaxYMRIrVniPsUeRKnZCxVNOOYVc\nR/V2gWxjeHt7eIDbo48qYtRXOA4wYQLw8stKApk1K9vryS9ZXyHQVWFRDdSuC3zta16bieOQ/UG3\nGSxZAvT0HI32dq/xfdo02jo6SA0UltU0H6+eSh/bFtWDQUEQqiGoJmgBmDuXDLrM4et6eCmBDz/k\nRdtfHzFyJHHanGPplVfIfjBlCnGnnHsfULlykklK2pdroQzyxc9liJ00CbjsMuKkFy+mNjh1w8aN\nVNQ9V3pu8366xMNESkr6rgfhmXYEx+H7ekuf+nlPpdMkDeht6PcVgtRz69YB6bTw2HN6ehSR74u+\n30Q1jG2L6sGgsCH4cd+VhiC9MCe/+5d/Ib3+vffS4uk4ZHgcOTK4TXYnffZZePTZySRx945DdoKf\n/pSIjh65/PTT2ZGyUXHEEeHHx4whO0Vzs3fhHTcOuOOOjbjpJjJY19aqzK5++nfHoZxN995LtpO2\nNuDmm1UgFuvuTzstWH9//fXUl9WrKRqZoavm+F5s/I8ZbBT38YADiLjU1ACOk0Y8Tt9dtzDf/Sj6\n/moY2xbVg0EhIVRLUE2QXljfn0ioalb8HCtXAt3daQjheFRKc+ao6+bPJ9sESwHMtY4aRaqLqFG3\nfqkvTESttMZJ3FhFRHryPb3PpT/npk3k0TRsGHHpDQ2Uv9/kntlNV3flnDGDrudcU9x3vQYAQPWn\nTZx/PhEBU71jpqbWj48bByxZ8i6uuOKY3ucM4vL7qu6plrFtUR0YFAShGoJq8lkY/LKjLlnyLnbt\nOsZjF9izx3tNa6s382UsphYQPQKa02MwmAPm1N0cHMd1HPKJEeCFurPTv8B6XZ3Kv68H+/kF7Zkw\nA7auvFIZbKdPp8/x471t6VlozeeIx731Lhh6iUm//yuRAJLJrUgkjun97YdiqHuqYWxbVA8GBUEA\nKssrIyxbKi8MQH4EIpncil/96pjQ8/QAJyHIFZXb1hcVLs7CNXiDSjs2N9PiGqVITyxGBYOefJKS\n8y1dSvd89lnyJFqxgvL2x+Mn45RTgtOBJ5N0z1NOUYs999sM2Bo1ij71d9vcrJ61vl6pWBobvekw\nzjoLuPVWb3AgPzOPpSjjye9av+fqS34gnXBGSZliYREIKWXVbBMmTJDFxurVq4veZhjWrpVyyBAp\nXZc+166V8uab6TdAny0t2efkwurVq+XatVLW1kopBH2a15n3bmuje/u1v3Yt9aO2Vp0/d66UkyfT\ndXxOTQ0roOg8x1G/9W3ixOzn5HvH4+o8IVLy5pu9fWlro3PMth1HyljM+zy53i237fc/8Pn6+zCf\n0e+9hv0fYdf69aFQFLMtHf09P0qFwf4cAF6REdbYQSMhVAr8uEJTDwwUxjmyATpMlaFzx2FqmESC\nOFtWCe3bp/LrPP00fXZ1eVVLZ55JBuMdO8g9VDdKz5hBahZT3812BIbjePXgrC7yy3+k525KJkmN\nxaohnRv307EHufma74zjCBhR/4/Nm+vw2GPemgbmtcVU9xRL2rAY3LAEoZ8RNVuqnvo6H0OhnyrD\nVFElEtmlEs0FpLNT1Vzww/LlpF/ntA0AEYDf/IYMrc8+qwzBTU2kd+/s9F+w9TQNs2e/iUTiS733\n4YUuVwqJdBp44AHqL6uG+H2Yi25np1JzsfdQWIqReNybAiTX/7FoEfDd7zZk9dnv2mKpMq1x2aIY\nsAShn5ErWyqjWJwj2yd4wV24kBbnXAtIR4fyPBLCWyAGoEU+kSA7BOc4ApRbK3PcTAiuvlol6OMF\nW8/gyvaJZHI7AEUQuJ96PWE/cASxlP6cuB4R3tioFnjHoWjusBQjHR3BdgATnZ1sfxG97XMwYDHq\nZATBGpctioGyEgQhxPcBLAAwTEq5q5x96U9E4QqLxTlyPiRWr8yaRaqbXAuISTBuvTWb4wdUIR99\nwU6nVUI2Jkj6ca7rq0tBrLK655663kWb3wFHTT/wgNc9dtIk4MUXiRDoWWD15IDm85kqoHSa0klM\nmxZOFPjaKO+bJAP/nEylRCU5TlhUJ8pGEIQQRwI4H8DWcvWhv1DO1AKNjSqFNECfzD2HLSB+BCOR\nUITAPG/+fOCZZ5R/P3s0scpHjwAOspMAwJw5J/em+b78cq9XD6CkEccBLryQCJWuatO/+7l0miog\n8534IR/30MZGUoHt25eG6zpYuNAu0hZVhCiW51JsAP4TwMkA3gVwaJRrqtHLqFTeHybCnqOtjbxx\nHKc43ix+nklBz6nvr6khzyX26PHzCBIirXkcBbcV9hxr15I3FHsl6d5FfHzaNOUVleudBHkqhb2j\nb3/77ZL91/2Jwe6dU2kotZeRkGGK2RJBCHEJgHOllN8VQrwL4FQZoDISQswEMBMAhg8fPuGhhx4q\nal/27t2Lgw46qKht6li2bBSWLDka6bSA46RxxRXv4rLLii8U5XqOzZvrsGHDUDQ07MbYsXsCzwvD\n5s11mDPnZHR3O4jH07jjjo2etoLuEXX/ihWH4c47j9fumP3OVqw4DGvWDMOkSTsxder2rLbq6rpx\nzz3HYv9+p1eS8OtrPu9EPbdAPC592zJR6nHVX7DPUVko9DnOOeecdVLKU3OeGIVqFLIBWAXgdz7b\npQB+C+DzmfPehZUQ+oz+4IDy5ZSjgqWDlpbCJAR9vx6v4DgkKRTjnQdJRkEY7BxppWGwPwfKHYcg\npTzPb78QYhyAowFsFJQ57AgArwohJkopd5SqP+XCQPL+KIVrY3Z9YIl0WnhsCAC5yfoVlGcvID3F\nN9ctqKnxTz1RCKzB1mIwoN+NylLKTQD+jH/nUhkNBJRrMSm2MTtf4hbl/ma6iYsu2o5E4nDftB5+\nBeWBbEJlJpuzsLCIBhuHMADQ2Um2itpar799Ls+YfAmGfj4QnjcnqmeOuZhfcMFHmDXr8N7jJsEI\nKig/UKQwC4tyouwEQUo5utx9qGaowLOjsWyZWnhzpTLIN9OmyakLoYLM/K6NmkrBXMyTSa+x1iQY\nQcFdphRmq4hZWOSPQVEgZyBDpXYQHn9+XkiDirP4LdhR7pNKUWCXnn10/nxvEfhc9+esnHxNIhFc\nCIYJRj4F5Zl43XgjfZp9s7Cw8EfZJQQLQqEcLS+8yWQaNTWOp5ZAPpHIuQzE+vksIXR3U1DXqlVU\nfMfU3fvdv5AaAPnaYKJIJ1aCsLDIhiUIFYC+FErhhZcrdJkZS/OJRI5yH92GMH8+EQPOXzRrlkou\nx89QqCopH5iLey5iV+j7tkTEYqDDEoQKQF8XyUTCW6Ern+vyvY9+Ppfl5NKUqRQRh7BnKLbratDi\nHkbsCnnftpi9xWCAJQgVgGpNXawvvGZ9haBnMK9h2wUvrps3e5Pb5ULQ4h5G7Ap536WQbCwsKg2W\nIFQAqtltUl94w+oM+6lb/MqGcnK7qFx4IYt7Ie+7Wom2hUU+sAShQjAQImGDnsFP3RLk5dTd7QSq\nnfyISqHEtBB1WbUSbQuLqLAEwaLk8Fv8gzjueDyNnh7X11U1SIffX8R0IBBtC4swWIJgUXJELRva\n3g6ceurHGDduWFYAmtXhW1iUHpYgWJQcQeoW5rg7O4FzziHXVeBQvPyySmrHsDp8C4vS4/+3d68x\nclZ1HMe/P0pBAwGM1Fu7oZBAkSKGXogrsRFBrVhKSGpSb0H7wpRogUSjXGJMNBpvoEQl0UA1hAqY\nisUYBBG7JLxoka60tRaUkBZWMFSiUSCmbfj54jkjm7XbndvuM9P5fd7szpl5zvM/7cz+n3Nm5n+S\nEGJGHG65pXH1XxEHDvz/DCBr+BHTLwkhavfqt60BzOzZOuQMIGv4EdMrtYyidsPDsHkzrF0Ll1zy\nbN4fiKhJZgjRExpX/yMjf2F4eO7UB0RE12WGEBERQBJCREQUSQgREQEkIURERJGEEBERQBJCREQU\nsl13DE2TtA/Y2+VuTwb+3uU+65Bx9JaMo7cM+jhOsT1nqgf1VUKYDpIetb2k7jg6lXH0loyjt2Qc\nzcmSUUREAEkIERFRJCHAj+oOoEsyjt6ScfSWjKMJA/8eQkREVDJDiIgIIAkhIiKKJIRC0jpJT0ja\nJembdcfTCUmfk2RJJ9cdSzskfUvS45J2SPqFpJPqjqkVkpaX59KTkq6pO552SBqStFnS7vKauKru\nmDohaZakP0j6Vd2xtEvSSZI2ltfGbkld3zUkCQGQdAFwKXCO7YXAt2sOqW2ShoD3Ak/XHUsHHgDO\ntn0O8Gfg2prjaZqkWcAPgA8AZwEflnRWvVG15SDwWdtvBd4BfLpPx9FwFbC77iA6dBNwn+0zgbcz\nDeNJQqhcAXzddrWJo/18zfF04jvA54G+/bSA7d/YPlhubgHm1RlPi84DnrT9lO39wJ1UFxt9xfZz\ntkfL7/+m+uPTlzsXSZoHfBC4pe5Y2iXpBGAZcCuA7f22/9nt8yQhVM4A3iVpq6SHJC2tO6B2SFoJ\n/NX29rpj6aI1wK/rDqIFc4Fnxt0eo0//kDZImg+cC2ytN5K2fZfqIumVugPpwGnAPuDHZenrFknH\ndfskA7OFpqTfAm86xF3XU/07vI5qarwU+Jmk09yDn8mdYhzXAe+b2Yjac7hx2L6nPOZ6qqWLDTMZ\nW4d0iLaeex41S9LxwM+Bq23/q+54WiVpBfC87W2S3l13PB04GlgErLO9VdJNwDXAF7t9koFg+6LJ\n7pN0BXB3SQCPSHqFqojUvpmKr1mTjUPS24BTge2SoFpmGZV0nu2/zWCITTnc/weApMuBFcCFvZiY\nD2MMGBp3ex7wbE2xdETSbKpksMH23XXH06bzgZWSLgZeA5wg6XbbH6s5rlaNAWO2G7O0jVQJoauy\nZFTZBLwHQNIZ73o5RQAAAwFJREFUwDH0WWVE2zttv8H2fNvzqZ5Ai3oxGUxF0nLgC8BK2y/XHU+L\nfg+cLulUSccAq4Ff1hxTy1RdVdwK7LZ9Y93xtMv2tbbnldfEauB3fZgMKK/jZyQtKE0XAn/q9nkG\nZoYwhfXAekl/BPYDl/fZVemR5vvAscADZbazxfbaekNqju2Dkj4D3A/MAtbb3lVzWO04H/g4sFPS\nY6XtOtv31hjToFsHbCgXGk8Bn+z2CVK6IiIigCwZRUREkYQQERFAEkJERBRJCBERASQhREREkYQQ\nRzxJI5LeP6Htakk3t9jPvVNVXpX04iTtP5G0qoVzLZM0KulgK8dFdCIJIQbBHVRfShpvdWmfkipH\n2b54OgqKTeJp4BPAT2fofBFJCDEQNgIrJB0L/yvW9hbgYUnHS3qwXI3vlHRp4zGl5vzNwCgwJGlP\nY48JSZskbSt7BXxq/Mkk3VD6e1DSnInBSFpciihuk3S/pDdPfIztPbZ30N8F2aLPJCHEEc/2C8Aj\nwPLStBq4q3wb/T/AZbYXARcAN5SyDQALgNtsn2t774Ru19heDCwBrpT0+tJ+HDBa+nsI+NL4g0p9\noO8Bq8rx64GvdnG4EW1L6YoYFI1lo3vKzzWlXcDXJC2juhqfC7yx3LfX9pZJ+rtS0mXl9yHgdOCF\n0sddpf12YGJRuAXA2bxalmMW8Fz7w4roniSEGBSbgBslLQJe29j8BfgoMAdYbPuApD1UVTEBXjpU\nR6WM8kXAsO2XJY2MO2aiibVhBOyy3fXtDyM6lSWjGAi2XwRGqJZoxr+ZfCJVvfwDZSvVU5ro7kTg\nHyUZnEm1j0bDUUDjU0EfAR6ecOwTwJzGfriSZkta2Op4IqZDEkIMkjuo9qK9c1zbBmCJpEepZguP\nN9HPfcDRknYAX6Ha5rPhJWChpG1UJdW/PP7Asq3mKuAbkrYDjwHvnHgCSUsljQEfAn4oqR8rpkaf\nSbXTiIgAMkOIiIgiCSEiIoAkhIiIKJIQIiICSEKIiIgiCSEiIoAkhIiIKP4L7CedueHcIIoAAAAA\nSUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "Y = X*A.T\n", + "Y.shape\n", + "#plt.plot(Y[:,0], Y[:,1], '.', color='blue')\n", + "fig, ax = plt.subplots()\n", + "ax.plot(Y[:,0], Y[:,1], '.', color='blue')\n", + "ax.set_xlabel('Variable 1')\n", + "ax.set_ylabel('Variable 2')\n", + "ax.set_title('Scatter of Correlated Variables')\n", + "ax.grid('True')" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[0.96891242]\n", + " [0.24740396]]\n", + "Projected Variance: [[2.47942554]]\n" + ] + } + ], + "source": [ + "th = 0.25;\n", + "u = np.matrix([np.cos(th), np.sin(th)]).T\n", + "print(u)\n", + "\n", + "su = u.T*C*u\n", + "print(\"Projected Variance:\", su)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.141592653589793\n", + "50\n", + "(50, 1)\n", + "[[2 1]\n", + " [1 2]]\n", + "[[2.51497991 0.86164389]\n", + " [0.86164389 1.49444206]]\n" + ] + }, + { + "data": { + "image/png": "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\nRK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "print(np.pi)\n", + "thRange = np.linspace(0, 2*np.pi, 50)\n", + "N = len(thRange)\n", + "print(N)\n", + "P1 = np.random.rand(N,1)\n", + "P2 = np.random.rand(N,1)\n", + "print(P1.shape)\n", + "\n", + "for i in range(0,N):\n", + " th = thRange[i]\n", + " u = np.matrix([np.cos(th), np.sin(th)]).T\n", + " P1[i] = u.T*C*u\n", + " \n", + " C1 = np.cov(Y.T)\n", + " P2[i] = u.T*C1*u\n", + " \n", + " \n", + "plt.plot(P1)\n", + "plt.plot(P2)\n", + "\n", + "print(C)\n", + "print(C1)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Tuesday/Niranjan_labs/FoundationsLabFour.pdf b/Tuesday/Niranjan_labs/FoundationsLabFour.pdf new file mode 100644 index 00000000..8e24bfdb Binary files /dev/null and b/Tuesday/Niranjan_labs/FoundationsLabFour.pdf differ diff --git a/Tuesday/Niranjan_labs/FoundationsLabOne.pdf b/Tuesday/Niranjan_labs/FoundationsLabOne.pdf new file mode 100644 index 00000000..144c8278 Binary files /dev/null and b/Tuesday/Niranjan_labs/FoundationsLabOne.pdf differ diff --git a/Tuesday/Niranjan_labs/FoundationsLabThree.pdf b/Tuesday/Niranjan_labs/FoundationsLabThree.pdf new file mode 100644 index 00000000..0f50b1e4 Binary files /dev/null and b/Tuesday/Niranjan_labs/FoundationsLabThree.pdf differ diff --git a/Tuesday/Niranjan_labs/FoundationsLabTwo.pdf b/Tuesday/Niranjan_labs/FoundationsLabTwo.pdf new file mode 100644 index 00000000..7978368f Binary files /dev/null and b/Tuesday/Niranjan_labs/FoundationsLabTwo.pdf differ diff --git a/Tuesday/SimpleLinearRegression.ipynb b/Tuesday/SimpleLinearRegression.ipynb new file mode 100644 index 00000000..de504fed --- /dev/null +++ b/Tuesday/SimpleLinearRegression.ipynb @@ -0,0 +1,288 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "from sklearn import datasets\n", + "from sklearn.linear_model import LinearRegression" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(442, 10)\n", + "(442,)\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5,1,'Scatter of Two Features')" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "diabetes = datasets.load_diabetes()\n", + "\n", + "X = diabetes.data\n", + "print(X.shape)\n", + "\n", + "y = diabetes.target\n", + "print(y.shape)\n", + "\n", + "fig = plt.figure(figsize=(12,4))\n", + "fig.add_subplot(121)\n", + "plt.hist(y, bins=40)\n", + "plt.title(\"Target Distribution\", fontsize=14)\n", + "\n", + "fig.add_subplot(122)\n", + "plt.scatter(X[:,6], X[:,7], c='m')\n", + "plt.grid(True)\n", + "plt.title(\"Scatter of Two Features\", fontsize=14)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5,1,'Pseudoinverse')" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "lin = LinearRegression()\n", + "lin.fit(X, y)\n", + "yh1 = lin.predict(X)\n", + "\n", + "w = np.dot( np.dot( np.linalg.inv(np.dot( X.T, X )), X.T ), y )\n", + "yh2 = np.dot(X, w)\n", + "\n", + "fig=plt.figure(figsize=(10,5))\n", + "fig.add_subplot(121)\n", + "plt.scatter(y, yh1, c='c')\n", + "plt.grid=True\n", + "plt.title(\"Sklearn\", fontsize=18)\n", + "\n", + "fig.add_subplot(122)\n", + "plt.scatter(y, yh2, c='m')\n", + "plt.grid=True\n", + "plt.title(\"Pseudoinverse\", fontsize=18)" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5,1,'Weights')" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEMCAYAAADJQLEhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAF1ZJREFUeJzt3XuwpHV95/H3xxkxiKWAjLeZ0RnXSZS4uuLh4iUGAZGL67gpTbAiUq5mEheMl2QVdGut1bWCWVcitYTUrGBBtMKySHQ2YhDkEjEBGRAviIYjchlBOQbECxEc+O4fz2+cZugzB073nObM835VdfXTv+f39PPtufSnn+svVYUkqb8eNekCJEmTZRBIUs8ZBJLUcwaBJPWcQSBJPWcQSFLPGQTSQ5DkLUkqyUvnufzStvzHx12bNCqDQItOksPal+oHh8x7UZt3T5LHDpl/fpL7k+y1MNXOT5LfSfJfJ12H+sEg0GJ0GbAZePmQeQe2ebsALx6ckWRpa/tmVf3oYa7zE8CuwJcfbrHz9DuAQaAFYRBo0amqnwFXAvsN+dV/IHABcFubHrQv8Djgknms876q+kV5Kb52QgaBFquLgUcDL9nSMPCL/1LgH3jwFsOBA8tuWWZ5kr9KckuSe5N8v71+wK6j2Y4RJFmd5NwkP01yV5K/TfKMJJuSXDis8CQvTfKlJHcn+VGS9Ul2G5h/GfD7wJK2zi2PN7T5z0jyiSQ3tV1gtyf5cpKjH9afoNQsnXQB0jxdDLyXrVsAsPUX/6XAT4CPJdmtqn7e5h8IVJtPktXAPwJLgNOAG4A1wFuBlyfZt6p+MlsBSZbR7aZaBvwl8M/Ay1ptu86y2AuB/9DW90ngIOAP6HZn/afW5wPA+4EDgGMGlv1ykl3a531KW+f1wO7A84CXAn89W73SrKrKh49F96D7or0H+MeBthOAn9H9wHkO3Zf+oW3eUuCnwDUD/T8H/AB42jbvvT9wH/BfBtre0t7vpQNtH21tv7fN8lvaLxxoW9ra7gOmtul/fvssuw60fRLYPORz79Pe512T/jvwsfM83DWkRamq/hW4Apga2K1yIPDlqtpcVdcBt7N1d9CWrYWLAZLsCRwOfAa4N8leWx7Ad4HvAYfOUca/BzYBZ2/T/pHtLHNZVW3cpu0iuoPbz5hjfQB3teeD2haJNDKDQIvZluMEL93m+MAWg8cJDmzPl7TnZwMB/hCYGfL4N8CT51j/KuD6qnrAAeSqupVu62OYG4a0/Ut7fuIc66Oqvgt8GDgC+EGSjUk+nGRqrmWl2XiMQIvZxXSnWB5Id0xgy/GBLS4FTkryuNbnfrpwgC4EAM6g2w0zzN0j1JZZ2u+bxzIPUFXHJ/nfwJHAbwHrgHcn+bOqeu/DK1MyCLS4/RPwC7pf/T8B/pXutNItLqX7N34g3dlF11TVnW3eNN2+9kdX1dCzex6Cm4A1STK4VZDkaXShNIrtnqbatgxOBk5OsivdAeTjk3ykqu4Ycd3qGXcNadGqqnvowuCFwKuAf6qqewe6fJNut8t/BnZj4PqBqvoh8AXgdUn23fa905lrH/z/A1YAv7tN+58+vE8y1M/oTh99/DZ1PaHtBvuVdrzk23RbFHuMYd3qGbcItNhdTLdF8GK6Uy5/paoqyZeA1wz0HfSHdKd/XpbkTOCrdP8nVrdlTgP++3bW/WfAUcBfJ3kR8B3gt4H9gDuY41f9HC4H/gj4qySfB35JF3r7Aqck+TTd6ao/B6aAN9EdKP/uCOtUTxkEWuwGv9wvHTL/Urov9fuALw3OqKqbkuwDHA+8Gngj3XGBW+jOJjpneyuuqtvbBWb/E3gz3TGIi+iC6Wt0u6rm65PA84Hfa49HAUfThcFn2jqOptsKuBn4IN1pq9LDlm1OeJA0oiRPprs+4ZSqOm7S9Uhz8RiBNIJ2oHZb72nPFwyZJz3iuEUgjaAdg5gGrqa7VcUr6M7x/wfg5VV1/wTLkx4Sg0AaQZJ3A2+guyp4V7rjC58GPlDdXVKlRzyDQJJ6blGcNbTXXnvVqlWrJl2GJC0qV1111Y+qas57Uo0lCJK8k613Z/wG3TnNTwXOAvak2396dFXdm+QxwJl0FwH9C92dG2/c3vuvWrWKjRu3vU+XJGl7ktz0UPqNfNZQkuXAH9PdWve5dAfMjqK7MdZJVbUGuJPuPGva851V9SzgpNZPkjQh4zp9dCmwa7v0/bF0wwQexNYLcs5g69Wda9tr2vyDkzykm21JksZv5CCoqu/T3X/9ZroAuAu4CvhxVW1u3TYBy9v0crozK2jz72LI7XeTrGu32N04MzMzapmSpFmMY9fQHnS/8lcDT6O7udfhQ7puOT1p2K//B526VFXrq2qqqqaWLXP8DUnaUcaxa+gQ4HtVNVNVvwTOpbsB2O4Dd0lcAdzapjcBK+FXg40/ge4GXZKkCRhHENwMHJDksW1f/8HAt+huBvba1ucY4LNtegNbB+R+LXDRtiM8SZIWzjiOEVxBd9D3arpTRx8FrKe738q7kkzTHQM4rS1yGvDE1v4uujs/SpImZFFcWTw1NVVeRyBJD0+Sq6pqzvGsF8WVxZI0m1XHf26Hr+PGE4/c4euYJG9DLUk9ZxBIUs8ZBJLUcwaBJPWcQSBJPWcQSFLPGQSS1HMGgST1nEEgST1nEEhSzxkEktRzBoEk9ZxBIEk9ZxBIUs8ZBJLUc2MJgiS7JzknybeTXJfkRUn2THJBkuvb8x6tb5KcnGQ6ydeT7DOOGiRJ8zOuLYKPAX9fVc8Gng9cRzcE5Rerag3wRbYOSXk4sKY91gGnjqkGSdI8jBwESR4PvIw2JnFV3VtVPwbWAme0bmcAr2nTa4Ezq3M5sHuSp45ahyRpfsaxRfBMYAb4RJKvJvl4kt2AJ1fVbQDt+Umt/3LgloHlN7U2SdIEjCMIlgL7AKdW1QuAn7N1N9AwGdJWD+qUrEuyMcnGmZmZMZQpSRpmHEGwCdhUVVe01+fQBcMPt+zyac+3D/RfObD8CuDWbd+0qtZX1VRVTS1btmwMZUqShhk5CKrqB8AtSX6jNR0MfAvYABzT2o4BPtumNwBvbGcPHQDctWUXkiRp4S0d0/u8DfhUkl2AG4A30YXM2UneDNwMvK71PQ84ApgG7m59JUkTMpYgqKprgKkhsw4e0reAY8exXknS6LyyWJJ6ziCQpJ4zCCSp5wwCSeo5g0CSem5cp4/qEWjV8Z/b4eu48cQjd/g6JO1YbhFIUs8ZBJLUcwaBJPWcQSBJPefBYmmMPECvxcgtAknqOYNAknrOIJCknjMIJKnnDAJJ6jmDQJJ6bmxBkGRJkq8m+bv2enWSK5Jcn+T/tGEsSfKY9nq6zV81rhokSQ/fOLcI3g5cN/D6w8BJVbUGuBN4c2t/M3BnVT0LOKn1kyRNyFiCIMkK4Ejg4+11gIOAc1qXM4DXtOm17TVt/sGtvyRpAsa1RfAXwLuB+9vrJwI/rqrN7fUmYHmbXg7cAtDm39X6P0CSdUk2Jtk4MzMzpjIlSdsaOQiSvAq4vaquGmwe0rUewrytDVXrq2qqqqaWLVs2apmSpFmM415DLwFeneQI4NeAx9NtIeyeZGn71b8CuLX13wSsBDYlWQo8AbhjDHVIkuZh5C2CqjqhqlZU1SrgKOCiqvp94GLgta3bMcBn2/SG9po2/6KqetAWgSRpYezI6wjeA7wryTTdMYDTWvtpwBNb+7uA43dgDZKkOYz1NtRVdQlwSZu+AdhvSJ9fAK8b53olSfPnlcWS1HMGgST1nEEgST1nEEhSzzlmsXYIx+6VFg+3CCSp5wwCSeo5g0CSes4gkKSeMwgkqecMAknqOYNAknrOIJCknjMIJKnnDAJJ6jmDQJJ6ziCQpJ4bOQiSrExycZLrklyb5O2tfc8kFyS5vj3v0dqT5OQk00m+nmSfUWuQJM3fOLYINgN/UlXPAQ4Ajk2yN91YxF+sqjXAF9k6NvHhwJr2WAecOoYaJEnzNHIQVNVtVXV1m/4pcB2wHFgLnNG6nQG8pk2vBc6szuXA7kmeOmodkqT5GesxgiSrgBcAVwBPrqrboAsL4Emt23LgloHFNrW2bd9rXZKNSTbOzMyMs0xJ0oCxBUGSxwGfBt5RVT/ZXtchbfWghqr1VTVVVVPLli0bV5mSpG2MJQiSPJouBD5VVee25h9u2eXTnm9v7ZuAlQOLrwBuHUcdkqSHb+ShKpMEOA24rqo+OjBrA3AMcGJ7/uxA+3FJzgL2B+7asgtJ0uLk0KSL2zjGLH4JcDTwjSTXtLb30gXA2UneDNwMvK7NOw84ApgG7gbeNIYaJEnzNHIQVNVlDN/vD3DwkP4FHDvqeiVJ4+GVxZLUcwaBJPWcQSBJPWcQSFLPGQSS1HMGgST1nEEgST03jgvKJD0CeHWv5sstAknqOYNAknrOIJCknvMYgSTN085yXMYtAknqOYNAknrOIJCknjMIJKnnJhYESQ5L8p0k00mOn1QdktR3EwmCJEuAU4DDgb2B1yfZexK1SFLfTWqLYD9guqpuqKp7gbOAtROqRZJ6Ld0Qwgu80uS1wGFV9Zb2+mhg/6o6bqDPOmAdwNOf/vQX3nTTTfNe3yTP9d1ZzjNeTPwzlzpJrqqqqbn6TWqLYNhg9w9IpKpaX1VTVTW1bNmyBSpLkvpnUlcWbwJWDrxeAdy6o1bmrzdJmt2ktgiuBNYkWZ1kF+AoYMOEapGkXpvIFkFVbU5yHHA+sAQ4vaqunUQtktR3E7vpXFWdB5w3qfVLkjpeWSxJPWcQSFLPGQSS1HMGgST1nEEgST1nEEhSzxkEktRzBoEk9ZxBIEk9ZxBIUs8ZBJLUcwaBJPWcQSBJPWcQSFLPGQSS1HMGgST1nEEgST03UhAk+R9Jvp3k60n+NsnuA/NOSDKd5DtJXjnQflhrm05y/CjrlySNbtQtgguA51bV84B/Bk4ASLI33YD0vwkcBvxlkiVJlgCnAIcDewOvb30lSRMyUhBU1ReqanN7eTmwok2vBc6qqnuq6nvANLBfe0xX1Q1VdS9wVusrSZqQcR4j+I/A59v0cuCWgXmbWtts7Q+SZF2SjUk2zszMjLFMSdKgpXN1SHIh8JQhs95XVZ9tfd4HbAY+tWWxIf2L4cFTw9ZbVeuB9QBTU1ND+0iSRjdnEFTVIdubn+QY4FXAwVW15Qt7E7ByoNsK4NY2PVu7JGkCRj1r6DDgPcCrq+rugVkbgKOSPCbJamAN8BXgSmBNktVJdqE7oLxhlBokSaOZc4tgDv8LeAxwQRKAy6vqj6rq2iRnA9+i22V0bFXdB5DkOOB8YAlwelVdO2INkqQRjBQEVfWs7cz7EPChIe3nAeeNst7F5MYTj5x0CZK0XV5ZLEk9ZxBIUs8ZBJLUcwaBJPWcQSBJPWcQSFLPGQSS1HMGgST1nEEgST1nEEhSzxkEktRzBoEk9ZxBIEk9ZxBIUs8ZBJLUcwaBJPWcQSBJPTeWIEjyp0kqyV7tdZKcnGQ6ydeT7DPQ95gk17fHMeNYvyRp/kYds5gkK4FXADcPNB9ON2D9GmB/4FRg/yR7Au8HpoACrkqyoaruHLUOSdL8jGOL4CTg3XRf7FusBc6szuXA7kmeCrwSuKCq7mhf/hcAh42hBknSPI0UBEleDXy/qr62zazlwC0Drze1ttnah733uiQbk2ycmZkZpUxJ0nbMuWsoyYXAU4bMeh/wXuDQYYsNaavttD+4sWo9sB5gampqaB9J0ujmDIKqOmRYe5J/C6wGvpYEYAVwdZL96H7prxzovgK4tbUfuE37JfOoW5I0JvPeNVRV36iqJ1XVqqpaRfclv09V/QDYALyxnT10AHBXVd0GnA8cmmSPJHvQbU2cP/rHkCTN18hnDc3iPOAIYBq4G3gTQFXdkeSDwJWt3weq6o4dVIMk6SEYWxC0rYIt0wUcO0u/04HTx7VeSdJovLJYknrOIJCknjMIJKnnDAJJ6jmDQJJ6ziCQpJ4zCCSp5wwCSeo5g0CSes4gkKSeMwgkqecMAknqOYNAknrOIJCknjMIJKnnDAJJ6rmRgyDJ25J8J8m1Sf58oP2EJNNt3isH2g9rbdNJjh91/ZKk0Yw0QlmSlwNrgedV1T1JntTa9waOAn4TeBpwYZJfb4udAryCbozjK5NsqKpvjVKHJGn+Rh2q8q3AiVV1D0BV3d7a1wJntfbvJZkG9mvzpqvqBoAkZ7W+BoEkTciou4Z+HfitJFckuTTJvq19OXDLQL9NrW229gdJsi7JxiQbZ2ZmRixTkjSbObcIklwIPGXIrPe15fcADgD2Bc5O8kwgQ/oXw4Onhq23qtYD6wGmpqaG9pEkjW7OIKiqQ2abl+StwLlVVcBXktwP7EX3S3/lQNcVwK1terZ2SdIEjLpr6DPAQQDtYPAuwI+ADcBRSR6TZDWwBvgKcCWwJsnqJLvQHVDeMGINkqQRjHqw+HTg9CTfBO4FjmlbB9cmOZvuIPBm4Niqug8gyXHA+cAS4PSqunbEGiRJIxgpCKrqXuANs8z7EPChIe3nAeeNsl5J0vh4ZbEk9ZxBIEk9ZxBIUs8ZBJLUcwaBJPWcQSBJPWcQSFLPGQSS1HMGgST1nEEgST1nEEhSzxkEktRzBoEk9ZxBIEk9ZxBIUs8ZBJLUcwaBJPXcSEGQ5N8luTzJNUk2JtmvtSfJyUmmk3w9yT4DyxyT5Pr2OGbUDyBJGs2oYxb/OfDfqurzSY5orw8EDqcbsH4NsD9wKrB/kj2B9wNTQAFXJdlQVXeOWIckaZ5GDYICHt+mnwDc2qbXAme2gewvT7J7kqfShcQFVXUHQJILgMOAvxmxDulXbjzxyEmXIC0qowbBO4Dzk3yEbjfTi1v7cuCWgX6bWtts7Q+SZB2wDuDpT3/6iGVKkmYzZxAkuRB4ypBZ7wMOBt5ZVZ9O8rvAacAhQIb0r+20P7ixaj2wHmBqampoH0nS6OYMgqo6ZLZ5Sc4E3t5e/l/g4216E7ByoOsKut1Gm+h2Dw22X/KQq5Ukjd2op4/eCvx2mz4IuL5NbwDe2M4eOgC4q6puA84HDk2yR5I9gENbmyRpQkY9RvAHwMeSLAV+QdunD5wHHAFMA3cDbwKoqjuSfBC4svX7wJYDx5KkyRgpCKrqMuCFQ9oLOHaWZU4HTh9lvZKk8fHKYknqOYNAknrOIJCknku3O/+RLckMcNMCrnIv4EcLuL5HCj93v/T1c0N/PvszqmrZXJ0WRRAstCQbq2pq0nUsND93v/T1c0O/P/sw7hqSpJ4zCCSp5wyC4dZPuoAJ8XP3S18/N/T7sz+IxwgkqefcIpCknjMIJKnnDIJtJDksyXfaeMvHT7qehZBkZZKLk1yX5Nokb597qZ1HkiVJvprk7yZdy0Jpowaek+Tb7e/9RZOuaSEkeWf7N/7NJH+T5NcmXdMjgUEwIMkS4BS6MZf3Bl6fZO/JVrUgNgN/UlXPAQ4Aju3J597i7cB1ky5igX0M+PuqejbwfHrw+ZMsB/4YmKqq5wJLgKMmW9Ujg0HwQPsB01V1Q1XdC5xFN/7yTq2qbquqq9v0T+m+FIYOIbqzSbICOJKtgyrt9JI8HngZ3YiCVNW9VfXjyVa1YJYCu7Zb5z+WreOs95pB8EAPeUzlnVWSVcALgCsmW8mC+Qvg3cD9ky5kAT0TmAE+0XaJfTzJbpMuakerqu8DHwFuBm6jGzDrC5Ot6pHBIHighzym8s4oyeOATwPvqKqfTLqeHS3Jq4Dbq+qqSdeywJYC+wCnVtULgJ8DO/3xsDYq4lpgNfA0YLckb5hsVY8MBsEDzTbW8k4vyaPpQuBTVXXupOtZIC8BXp3kRrrdgAcl+eRkS1oQm4BNVbVlq+8cumDY2R0CfK+qZqrql8C5wIsnXNMjgkHwQFcCa5KsTrIL3YGkDROuaYdLErr9xddV1UcnXc9CqaoTqmpFVa2i+7u+qKp2+l+IVfUD4JYkv9GaDga+NcGSFsrNwAFJHtv+zR9MDw6SPxSjjlm8U6mqzUmOA86nO6Pg9Kq6dsJlLYSXAEcD30hyTWt7b1WdN8GatGO9DfhU+8FzA21c8Z1ZVV2R5Bzgaroz5b6Kt5oAvMWEJPWeu4YkqecMAknqOYNAknrOIJCknjMIJKnnDAJJ6jmDQJJ67v8DKCBj6l5/vBcAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig=plt.figure(figsize=(6,4))\n", + "plt.bar(np.arange(len(w)), w)\n", + "plt.title(\"Weights\", fontsize=18)" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5,1,'Weights (with regularization)')" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Reguarization\n", + "gamma = 0.005\n", + "wR = np.dot( np.dot( np.linalg.inv(np.dot( X.T, X ) + gamma*np.identity(10) ), X.T ), y )\n", + "fig=plt.figure(figsize=(6,4))\n", + "plt.bar(np.arange(len(wR)), wR)\n", + "plt.title(\"Weights (with regularization)\", fontsize=18)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "413.4178771204792 325.32915355729705\n" + ] + } + ], + "source": [ + "print(np.std(w), np.std(wR))" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ 0. -0. 487.89292666 163.13595763 -0.\n", + " -0. -85.43951554 0. 423.41641493 0. ]\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5,1,'Weights (Lasso)')" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from sklearn.linear_model import Lasso\n", + "ll = Lasso(alpha=0.4)\n", + "ll.fit(X, y)\n", + "yh_lasso = ll.predict(X)\n", + "\n", + "print(ll.coef_)\n", + "\n", + "fig=plt.figure(figsize=(10,4))\n", + "\n", + "\n", + "fig.add_subplot(121)\n", + "plt.bar(np.arange(len(w)), w)\n", + "plt.title(\"Weights (Linear Regression)\", fontsize=18)\n", + "\n", + "fig.add_subplot(122)\n", + "plt.bar(np.arange(len(ll.coef_)), ll.coef_)\n", + "plt.title(\"Weights (Lasso)\", fontsize=18)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Tuesday/TwoDGaussian.ipynb b/Tuesday/TwoDGaussian.ipynb new file mode 100644 index 00000000..6f64ea7e --- /dev/null +++ b/Tuesday/TwoDGaussian.ipynb @@ -0,0 +1,132 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": true, + "scrolled": true + }, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.style.use('classic')" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def twoDGaussianPlot (nx, ny, m, C):\n", + "\n", + " x = np.linspace(-5, 5, nx)\n", + " y = np.linspace(-5, 5, ny)\n", + " X, Y = np.meshgrid(x, y, indexing='ij')\n", + "\n", + " Ci = np.linalg.inv(C)\n", + " dC = np.linalg.det(C)\n", + "\n", + " Z = np.zeros([nx, ny])\n", + " for i in range(nx):\n", + " for j in range(ny):\n", + " xvec = np.array([X[i,j], Y[i,j]])\n", + " num = np.exp(-0.5 * np.dot((xvec-m).T, np.dot(Ci, (xvec-m)))) \n", + " den = 2 * np.pi * dC \n", + " Z[i,j] = (num / den)\n", + "\n", + " return X, Y, Z" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "nx, ny = 50, 40\n", + "\n", + "m1 = np.array([0, 0])\n", + "C1 = np.array([[2, 1], [1,2]], np.float32)\n", + "X, Y, Z1 = twoDGaussianPlot(nx, ny, m1, C1)\n", + "\n", + "C2 = np.array([[2, -1], [-1,2]], np.float32)\n", + "X, Y, Z2 = twoDGaussianPlot(nx, ny, m1, C2)\n", + "\n", + "C3 = np.array([[2, 0], [0 ,2]], np.float32)\n", + "X, Y, Z3 = twoDGaussianPlot(nx, ny, m1, C3)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5,1,'2D Gaussian: Isotropic')" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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FAwTQkRERERERERECoYJISIiIiIiIiIiBcOEEBERERERERGRgmFCiIiIiIiIiIhIwTAhRERERERERESkYJgQIiIiIiIiIiJSMEwIEREREREREREpGCaEiIiIiIiIiIgUDBNCREREREREREQKhgkhIiIiIiIiIiIFw4QQEREREREREZGCYUKIiIiIiIiIiEjBMCFERERERERERKRgmBAiIiIiIiIiIlIwTAgRERERERERESkYJoSIiIiIiIiIiBQME0JERERERERERAqGCSEiIiIiIiIiIgXDhBARERERERERkYJhQoiIiIiIiIiISMEwIUREREREREREpGCYECIiIiIiIiIiUjBMCBERERERERERKZhKTwgtXrwYHTt2xM2bNyt7VUREVAMxThAR0YcwThARVY5KTQidOHECeXl5lbkKIiKqwRgniIjoQxgniIgqT6UlhBISEhAQEIC5c+dW1iqIiKgGY5wgIqIPYZwgIqpclZIQEovFWL16NUaNGgVjY+PKWAUREdVgjBNERPQhjBNERJWvUhJC+/btg4aGBrp3714ZiyciohqOcYKIiD6EcYKIqPKpVPQCY2JiEBwcjN9//72iF01ERJ8AxgkiIvoQxgkioqpR4Qmh+/fvIyUlBYMGDZJ5fu7cuejYsSMWL15c4n8WLlwINTU1AEDXrl3RtWvXii4WEVG1d+rUKZw6dQoAkJ+fL+fSVB7GCSKif4dxgnGCiOhDPjZOCMLDwyUVWYC3b98iKSlJ5rkxY8Zg9uzZcHNzkxkDnJWVhZ49eyI9PR26uroVWQwiohotIyMDQqEQR48ehZaWlryLU6EYJ4iI/jvGiSKME0REpStPnKjwHkLa2trQ1tYu8byZmRknhCMiIsYJIiL6IMYJIqKqUWm3nSciIiIiIiIiouqpwnsIlSY8PLwqVkNERDUU4wQREX0I4wQRUcVjDyEiIiIiIiIiIgXDhBARERERERERkYJhQoiIiIiIiIiISMEwIUREREREREREpGCYECIiIiIiIiIiUjBMCBERERERERERKRgmhIiIiIiIiIiIFAwTQkRERERERERECoYJISIiIiIiIiIiBcOEEBERERERERGRgmFCiIiIiIiIiIhIwTAhRERERERERESkYJgQIiIiIiIiIiJSMEwIEREREREREREpGCaEiIiIiIiIiIgUjIq8C0BERERERERUnYjFErx6lYmYmHTExKQhKSkb6em5SE/Pe+d3HjIz8yAWS0pdhrKyEnR1a0EoLP5Rl/42MdFC3bpC1K2rBxMTLSgpCaq4hkRMCBEREREREZGCSk7Oxu3br3D7dgLu3UtCTEw6XrxIR2xsOgoKxDA315YmbYoTO6am2rCxMYRQqA5d3VpQVi49mVNYKEZGRp5MEunVq7dIT89FQsJbxMSk4/XrLNSqpQwrKyGsrISoV08PdnbGcHY2h5OTGfT01Ku4RUiRMCFE9InIzxfh1atMxMdnIjExC3l5hcjPF5X4UVZWgr6+OgwMNKCvryHzt6amqryrQUTVXH6+CKmpOUhNzUVKSo7M37m5hVBTU4aamjJUVZWkf6upKcPQUBMWFjqoXVsHWlpq8q4GEREpoNTUHJw/H4Nbt4oSQLdvJ+DlywzUr68PZ2cz2NkZo337uqhbVw916wpRp44uatWq3FPmnJwCxMZmICYmDTEx6fjrrzScPRuDdeuuIDY2A9bWenByMoOzsxlcXWujbdu60NZmHKWKwYQQUQ3y9m0+7txJRGRkIqKiEvHiRTri4jIRF5eBpKRsKCkJYGamDVNTLWhoqJY4IVNTU0ZhoRipqbkyJ3EZGXkAADMzbTRrZgIHB1Pp76ZNjaGuzl0FkaIRicR4+jQVd+4U7W/u3HmNqKhEPHuWCokE0NRUhb6+OvT1Nf5OKqtDXV0FBQViFBTIJqLz8kRITs5GfHwm8vNFEAproXZtHVhY6KJOHV3Y2RnD0dEUjo5mMDHRknfViYjoE1FQIMK1a3EICXmKkJBnuH49DjY2hmjRwgKdOllj1qxWcHIyg1Aov144GhqqsLExhI2NYYnXkpOzERGRgIiIouRVYGAkXrxIR+vWlvDyagAvrwZwdjaDsjKnBqZ/h2d5RNVUTk4BLl58gStXXiIysigJ9PRpCoyNteDoaAoHB1P06NHo75OqoqvupqbaUFH5+IBQlCTKwePHKdKTP3//24iKSsTbt/lo0sQIPXo0Qt++TeHmZsExzkSfqCdPUnDw4H0cOvQQt269glgsga2tMRwcTOHhYYlJk1zRtKkxjI01/9UVU4lEgjdvchAfX5TIjovLxIsX6bh0KRa//XYDz56lwsxM++/kkClcXWujUydrGBpqVkJtiYjoU5Senou9e+/h2LHHCAt7DjU1ZXh61sfEic2xb98AWFjoyruI5WZkpIkuXeqjS5f60ueePUtFaGhRguvHH/+EiooSunSpj549bdCnTxP2wqWPwoQQUTUhFktw504iQkKeIjT0GS5ceAEjI020bWuFFi1qY/x4Fzg6msHMTLvC162iogRjYy0YG2uhdWtL6fMSiQQvX2bg+vV4HDr0EN2774Smpir69GmCvn2bol27uv8qAUVE1YNEIsHdu69x4MB9HDjwAPfvJ6FLl/oYOdIRfn6foVEjwwr9jgsEAhgZacLISBMODqYlXs/IyMOdO4mIiEhAZGQiVqw4j8GD98PZ2QxeXg3g6VkfrVtbVnr3fSIiqllEIjHCwp5j27YIHDz4AHZ2xujf3xZLlrSDk5PZJ3Uxs359fUyc6IqJE11RWCjG9etxOHXqKb7//iImTz6GgQPtMGqUEzw8LCEQfDr1psrBIyoiOSooEOHEiScIDo5GaOgzZGcXoEOHevjsMxts2NAdjRsbynVHLhAIYGkphKWlEH37NkVBgQhnz/6FAwfu44sv9qOwUIyBA+0wf34bWFkJ5VZOIvo4b9/mw9f3Gvz9byM+PhPduzfEvHke8PZuJNdu87q6teDhYQUPDyvpcwkJb3H69DOEhj7DF18cQEZGHtq3r4vevRtj0CB7TrZJRKTAHj16g8DACGzfHoWCAhGGD3fA9evjYW9vIu+iVQkVFSW0amWJVq0s8c037XHz5isEBESgV6/dMDTUxMiRjhgxwpHH6VQmJoSI5CAiIgEBARHYtesONDRUMXRoM+zbNwAtW9aBmpqyvItXJlVVZXh6NoCnZwP4+vbAlSsvsXHjdTRu7Itx45yxcGFbmJvryLuYRFSGnJwC/PbbDaxefRENGhjghx+6oFu3htV6QnkzM20MG+aAYcMcIJFIEB2dhJCQp/D3v40ZM06hd+/GGDXKCZ6e9TmHAhGRgrh0KRbLl5/D2bN/oVevxvj9d2907dpQoXuuCwQCuLrWhqtrbaxd64UjRx4hICAC3357Dp991hhLl7aDo6OZvItJ1QwTQkRV5PXrLOzcGYWAgEg8fZqCfv1ssWdPf7RvX69GdmNVVlaSXsm/e/c1vvnmLBo02IDJk1tg3jwPGBtzYlii6iIvrxD+/rexcuV5mJlpY9u23ujRo1GN60ouEAhgb28Ce3sTfP11K9y7l4TAwAiMHXsYEokEw4Y5YNQoJ9jaGsu7qEREVAkuXnyB5cvP4cqVl5g61Q07dvThMWcpatVSQf/+tujf3xYvX2bgxx//hLu7P7p3b4ilS9vDyYmJISqiuClUoiry4EEyxo49BCurdTh8+BG+/todCQmzERj4OTp2tK6RyaD32dubYP/+gbhwYTTu309G/fobsGjRGaSl5cq7aEQKTSQSw9//Fho39sWvv16Hr28P3Lw5Ad7eNjUuGVQaW1tj/PCDJ168mIFt23rj5csMNG++GZ6efyA09CkkEom8i0hERBXgwoUYdOmyHT167IS7uwViYmZg1arOTAaVQ506utiwoTuePp0GKyshWrf2x+efB+HWrVfyLhpVA+whRFQJ4uIysHfvPQQF3cXt2wkYOrQZbt+eiKZNP+2r1s2b18axY1/g8uVYLFwYBju7X+Hn9xl69Ggk76IRKZyHD5MxatQhvH6dhVWrOmPQILtPdkiVsrISunZtiK5dG+LNm2z4+l7DkCH7IRSqY9AgOwwaZAcHB9NPIglGRKQoRCIx9u+/jzVrLuHRozeYMaMl9u4dAH19DXkXrUaqXVsHPj7dMG+eB9asuYQ2bbaiRQsLzJvnge7dGzJGKqhP88iQSA6yswvg738L7dsHoF699Thy5BHGjHFGXNzX2Lq19yefDHpXq1aWCAsbgRUrOmLIkP0YM+YQewsRVRGRSIy1ay/BxWUzWreug7t3J+GLL5p9ssmg9xkaauKbbzrg5cuv8fPPXnj+PA2tW2+Fre2vWLHiHF69ypR3EYmI6AMKC8XYvj0Sdna/YvbsEIwc6YiXL2di+fKOTAZVAHNzHfz8c1fExs5E9+4NMWrU/8HV1Q8HD96HWMyetYqGPYSI/qMXL9Lx66/X4ed3CxYWOhg/3gVBQf0UfnJlgUCAMWOc4elZH+PGHYG9/a/YsqUXunVrKO+iEX2yHj16g9Gji3oFnTo1DG3aWP3zP32i1NVV0Lt3E/Tu3QRZWfk4duwxtm2LwMqVFzBggC2mTWsJNzcLeReTiIj+lpdXiO3bI/H99xehpCTAwoVtMWyYQ7W+4UpNZmioifnz22DatJbw87uJr746gSVLwrFoUVsMHPjp9iomWfyUif4FiUSCc+f+Qr9+wWjU6Bc8evQG+/cPRGTkl5g6taXCJ4PeZWkpxMmTQ7FsWQcMGrQP48YdRno6ewsRVSSxWAIfnytwcdmEFi1qIzLyS4VOBr1PS0sNAwfa4cSJobhzZxIMDDTQufN2uLtvwc6dUcjPF8m7iERECkskEuO3366jYcNfsG7dFaxY0REPHnyFMWOcmQyqApqaqpg+3R3Pnk3DV1+5YcGCM2jadCN27brDufgUABNCRB9BIpHgwIH7cHLahD599qBhQ308evQVDhwYhA4d6nHsbRkEAgHGjXPBnTuTEBOTjmbNfkNUVKK8i0X0SUhPz0Xnztvh63sNJ04MhY9Pt2p9G3l5s7ExxIYN3REX9zWGDm2G5cvPoW5dH/z445/IzS2Ud/GIiBTKvXtJaNt2G9auvYx167ri7t3JGDrUQaFvHy8vtWqp4MsvXfH48VQsWNAGs2eHoHv3nYiJSZN30agS8ZtGVE7XrsWhXbsATJ58DBMnNsfLl1/jhx88UbeunryLVmNYWQkREjIM48e7oHPn7UwKEf1H6em56Np1BzQ1VREZ+SXatq0r7yLVGLq6tTB1aks8ePAVtmz5DEFBd9GkiS927+YVUSKiypafL8LKlefh6roZbdpYISpqEvr3t/0k7r5b06mqKmP0aGfcuzcFlpa6sLf/Db6+1zi/0CeKcwgR/YOYmDQsWHAGhw49xNdfu+P48S+go1NL3sWqsQQCAZYsaQ+BQIDOnbfjzJkRcHAwlXexiGqc4mSQoaEm9u8fCHV1hvR/Q0lJAG9vG3Tv3gh//BGJOXNC4eNzFT//7AUPDw67IyKqaDduxGPs2MOQSCQ4f340XF1ry7tI/ygjoxAvX+bh9et8JCUV4PXrAiQl5eP16wK8eVMAkaj0ZImKigDGxmowNlaFiYmqzN+WlurQ0qq+Q+L09NTh59cLgwfbY8KEowgKuostW3qhSRMjeReNKhCPHonKkJ6ei++/v4gNG65iwAA7PHz4FerU0ZV3sT4Zixe3AwAmhYj+BSaDKp6SkgAjRzphwAA7rF17Cd267US3bg2xenVnNGhgIO/iERHVeDk5Bfjmm7Pw9b2GBQvaYN68NtVujqC8PDEePMjG3btZuHPn7d+/s/DiRR60tJRgbKwGExNVmJj8L7Fjba0OVdXSezbl50uQnFyAZ89ycPVqBl6/LsDr10WJpLw8MerXV4e9vRaaNdP++7cWGjXSgKpq9RnI07lzfURFfYmlS8PRvPlmLFrUFnPmtIaqavX67Ojf4REk0XskEgn27r2HqVNPwNbWGBcvjoGLi7m8i/VJYlKI6OMxGVS5NDVVsWRJe4wb54KlS8Nhb/8b5s3zwMKFbavdiQsRUU3x8GEy+vULhra2Gm7cmABbW2N5FwkAUFAgxrVrmQgJSUFISCquX8+ApqYy7O21YG+vha5dDTBrliXs7bVgbKxWYeuVSCRISMiXJpzu3s3CyZMpiI7OgkgkQatWuvDyMoCXlz5cXHTkPpROS0sNa9d2xcCBdhg79jCOHXuMPXv682L5J4BHkUTvSEh4iylTjuP8+Rj4+nbHwIF21W6iaIlEgtRUEeLj85GVJUZ+vhh5eRLk5f3vt0gEGBur/N01VQXGxqqoVav6XGl4F5NCROVXU5JBhYUSvHlTiOTkom71iYmFEIkkqFVLgFq1lKS/1dQEUFdXgplZ0VVWZeXqs781N9eBn18vTJrUAmPGHMLBgw/g79+rRgxtICKqTvbujcbYsYcxaZIrvvuus1wnjJZIJHj0KAdhYakICUlFWFgq1NSU4Ompj4kTzbFrV1PUq6de6cf/AoEA5ua1YG5eC56e/+uFKhZL8ORJDsLD0xASkoIff3wBFRUBunTRh5eXATp10kO9ehqVWrYPadmyDq5fH4+pU0/AxWUTdu3qhy5d6sutPPTfVc8jSaIq9uZNNtasuQRf32vw9rZBdPRkmJhoya08eXli3L2bg4iILDx+nIu4uHy8fFn0ExdXgJwcMXR0lKCtrQw1NdkTLHV1JQgE+LtLagFSU4tup6yjowQjI1XUq1cLrq5aaNFCCy1aaKNuXTW5J70WL24HiUSCbt124Nq18bzaQFSKggIR+vYNhp6eerVJBr15U4Dr17Nw40YWrl9/i4cPc5GUVIjU1EJIJIC2dtF+x9xcFSoqApnEdV6eBPn5YuTkSJCSUggVFQHMzVVRp44aLCzUUKeOGqyta8HRUROOjprQ05NPfV1czHHt2nh8//0FtG27Db17N8ayZR04hwIR0T/IzMzDjBknceDAA2zf3geff95ELuXIzRXh7Nk0HD36BseOpeDVqzy0bi1E164GWLKkLpyctOXeA6eYkpIANjaasLHRxMSJtVFYKMb165kIDU2Fv/8rfPnlI9Svr46ePQ3h7W2INm2EVT68TENDFVu29MLWrbfx+edBmDTJFStXdkKtWvI/LqGPx0+NFFp6ei7WrbuCn3++jFatLBEWNhJubhZVWobsbBGuXn2LiIhs3L6djYiILNy/nwttbSU4O2uhcWN1NGmigS5dhNKTJAsLNejolG/oQkGBGCkpIiQlFSApqQBPn+bh+vUsfP99PO7cyYGenrI0OdSzpx5cXbXkkiBavLgdYmMz0KvXbly5Mo5DM4jeM2tWCFJScnDhwmi5JYNiYvKwf38Krl59i+vXs/D8eR4aNKiFFi200b69LiZPNoWJiSqMjFRgZKQKDY3yHaTm5YkRH/+/pHfR73yEhqZjzZpXePkyH9bWteDkpAknJ004O2vB3V0bxsaqlVzjImpqyvjmmw4YM8YZ3313AU5Ov2PQIHssXdqO8wsREZXi4sUXGDHiIKyt9REV9SUsLYVVuv5Xr/Jw5MgbHDv2BqdPp8LISBU9expi48ZG6NhRDxoaNeM4U0VFCa1aCdGqlRBLl9ZDZmYhQkNTcezYG3zxxX1kZ4vQtasBvL0N0bOnIQwNqyYuAsCYMc5o3doSw4cfRIsWftixoy97+tdAgvDwcLndPy4rKws9e/ZEeno6dHXZI4CqjkQiQXBwNKZNO4nGjQ2xcmUntGtXNbdrlkgkuHMnByEh6Th1Kg0XLmTCyEgFzZtrwclJC87ORSc7VlaV33MnJ0eMyMgsXL+ehStX3uLIkVRYWdXC6NHGGDbMCKamVRdUgKJbkLq5+aFXr8b49tuOVbru6iYjIwNCoRBHjx6Flpb8eqvJG+NEkbCw5+jdOwiRkV+ifn39Kl13To4YBw+mYOvWJJw/n4nOnXXRpo0OWrTQgqurNgwMKj85lZxcgIiI7L8T51m4fTsLDx/mwtlZC15eQnh5CdG6tTbU1KrmKumzZ6n49ttzCA6Oxty5HliwoA2vjFKVY5wowjhRvRQUiLB0aTg2bLiG777rhGnTWlZZ7xuRSIKQkBRs2hSP48dT0LKl7t89aQxgZyefC56VSSyW4Pbtt3/3fHqDqKi36NvXGBMn1ka7dsIqq29BgQgrVpzHTz9dwvLlHTBrVutq0+NK0ZUnTjAhRAonJiYNkycfx40b8diwoVuVzBOUlSXCkSNpOHEiDSEh6cjMFKFjR13piYyNTeWPVS5vOQ8cSMG2bcm4eDETPXroYfRoI/TooVdl3VEjIhLQurW/wk/mzQP9IowTRV3umzX7DXPmtMaUKW5Vsk6JRIJr17KwbVsSgoLewNxcFaNHG2P4cCOYm1fcpJr/RWJiAU6fTkdISLrMfrVrVyH69TOoknLevBmP8eOPICenEJs390TbtlVzYYEIYJwoxjhRfWRk5KF//2AkJLzF7t39YGdnUiXrTUjIw9atCfDze4XcXDHGjTPHuHHmqFtXvUrWX108fJiNzZvjERCQABMTNUycaI4RI8xgYFA1F3ivXHmJIUP2o1WrOti2rTcvlFQD5YkT1XOWWaJKUFgoxrp1l2Fv/xtq19bG/ftTMGiQfaUlYsRiCc6fz8CYMc9gZnYLK1bEwcJCDbt3N0RKSnMcOdIYU6eaoXFjjWqRDAIALS1lDB9ujLCwpnj40AGOjpqYPj0GlpYRCAxMgkRS+fljJyczzJvngVGj/g95eYWVvj6i6m7OnFDUr6+PSZNaVMn6Ll/ORPPmd+Hl9QASCXDyZGPcu+eAuXNrV5tkEACYmqpi6FAjBAY2QHy8My5dskP79ro4cCAVdetGwNv7IYKD3yA3V1xpZWjevDauXRuPceOc0b37TkyceARpabmVtj4iouoqPj4T7dsHQCAQ4M8/x1RJMujatQwMGBCNunWv4OzZNKxd2wAvXrhjxQprhUsGAUDjxppYu7Yh4uJaYdEiK+zblwQLi8sYOfI+oqOzKn397u51cPXqODx5koJu3XYyHtYQTAiRQrh9+xXc3bfg999v4siRIfDz6wUDg8qZof/Zs1wsW/YSDRtGom/fx9DWVsLZs7a4e7cZVq2yRIcOulU2rOG/sLZWx/LldfDsmRM2bqyHRYti0anTfTx4kFPp6164sC2UlZWwYsX5Sl8XUXV2+vQz7Nx5B/7+vSq9+3VqaiG+/PI5unR5gP79DfDqlTM2bbKGu7tOtUlal0UgEMDBQROzZ5sjLKwpnjxxhIeHNhYvfglz81v48svnuHIls1KS2ioqSpg1qzXu3JmEmJh0NG26EXv3RldJAp2IqDq4fz8JrVr5w8nJDEePDoGOTq1KXd/jx9kYMCAaHTtGoG7dWoiOboGQEEf07Wtc5RMsV0fq6soYNswMFy+64Pp1F2hqKsPV9SbGjn2Aly8rN0ljYqKF8PCR0NZWQ9u22xAbm16p66P/jt8Y+qSJxRKsWHEOHh5b0b17Q0RGfokOHepVyrouXsxE164P0KRJFCIisrF2rRXi452xYUM9NG9ec8ctKykJ0K+fAe7fd4SjoxZcXO7im29eVupVd1VVZQQGfo6ff76MGzfiK209RNVZRkYexo49jDVrPGFtXXnzBkkkEuzenYymTaPw1195iIpqhoULLaCpWTMm3CyNlVUtLFxogYcPHXD8eGMAQLduD2Fvfwc7diSjsLDikzXW1vo4cWIo1q71wpQpx9G//16kp/PqKBF92i5ciIGHx1aMHOmIrVt7QVW18mJHYmI+pkx5BAeHG9DXV8Hjxy3x008N0bChZqWts6azt9fGb7/Z4O7dFsjOFqNx42tYsOAZ0tMrrxe+lpYaDh4chNat66BVK39ERSVW2rrov+McQvTJSkvLxfDhB3HvXhL27x8IJyezSlnPuXMZWL48DjdvZmHaNFNMnWoGE5OqnYy5Kt28mYUJE54hM1OM336rh86dK++uEStXnkdQ0F3cvDlB4cYhc26IIoocJyZMOIJnz1IRGjq80hLKT5/mYvLkvxAZmQ0fnyaHRAYAACAASURBVLoYNMigxiav/0lOjhg7dyZj1ap4qKgIsGhRbQwdagQVlYqvb3JyNoYPP4hnz1Jx4MDAKptHgxQL40QRRY4T8rZ3bzRGjz6Edeu6Yvz45pW2nrdvC/Hzzy+xZk0sOnfWw/ff10fTplW7zScmAs+fAwkJwKtXRb+Lf16/BgrLyK+oqgKmpoCZGWBuXvS7+KdBA8DQsEqrgRs3MjB37jNERb3F4sV1MWmSBWrVqpw+IhKJBKtWXcCPP17CgQMD0blz/UpZD5WtPHFCsc6wSGFERSWib989aNrUGDdujIe+fsUOD5NIJAgLy8C338YhKiobM2aYYf/+RtDX//S/Us2ba+HqVXts3JiIPn0eYcAAQ2zcWA/q6hUfTObN88DBgw/w7bfn8N13nSt8+UTVVUjIUwQF3cWdO5MqJUEjkUiwcWMi5s2LxYgRRtizpyH09D7t/ZeGhhLGjTPByJFG2LnzDVaujMO338Zh4cLaGDHCqEKHGRgZaeLo0SFYvvwc3N39sWXLZxg0yL7Clk9EJG8+PlewZEk49uzpD29vm0pZh0Qiwb59SZg27QmsrdVx8qQDPDwq9/b1Egnw4gVw+zZw69b/fhISSiZ0zMwAe3vAxKQo8VOavLyihFFCQlFC6fLl/yWVEhMBKyvAxUX2x7wS76ni6qqLM2cccfJkCubNe4YNG+Lw++828PIyqPB1CQQCLFrUDnXq6KJXryBs3twTQ4c6VPh66L/5tI/+SOFIJBL88UcUJk8+hrlzPbB4cbsKnXdDIpEgPDwDS5e+xL17Ofj6a3McPmwDoVCxvkoqKgJMn272/+ydd1QV19eGn0uRLoigAhawixV7QQWjooJdxIKKvcXeokZjbFFjYo81Vuwau2IH7F1UUFHEgh2lg7Q73x9HP01+AreZWOZZa9ZFmDkz9wqnvGfvd9O2bR68ve/i5hbGrl2ldF6m3tBQn9WrW1KjxgpatSpNtWoOOm1fRuZz5F2q2OzZjSlSxErn7WdkSAwceJ9du2I4eLA0rq4WOr/H54yhoR5+frb4+tqwcWM0U6c+YcqUx0yY4ECXLjY683jT19dj8mR3qlWzp0uXHZw9G8WMGQ2/uWhHGRmZr49p04KZM+csx451/WRzsydPUhk06A7BwXEsWFAcH598n2iDBO7dg8BA2L8fgoIgNhbKlhXiTOPG8MMPULEiWOh4uIyJgatX34tPGzfCrVsiosjdHZo2BTc3KFRIt/dVKBQ0bZqXxo2tWb78Ce3aheLtbcuvvxb7JBXJunWrhL29BW3abCElJYNevSrr/B4ymiPPSmS+Gh4+jGPAgH1cuPCErVu9adq0hM7azsyU2LHjNbNmPeXu3TcMH27H/v2lyJ370/4JSRIkJEB8vDjefZ2QIA4jI7C0FEfu3O+/NjcHvX/BIaxgQSOOHy+Dn18E9euHcfRoGRwcdFuFqHz5/IwcWZvRo49w/Hg3nbYtI/M5MnfuWZycrOjdW/cTprQ0JR073iU8/A0XLpSlUKFPa/z5DkmClBSIi3t/xMeL18REMDUVfZiFxd9fLS1B/xPZURgYKOjSxZZOnWzYvPkVkyY9ZtKkxwwbVoDevfNhYaGbGzdvXoqLF/vg47ONSpWWsnx5c1xdC+ukbRkZGZl/E0mSmDQpkMWLL3LsWDcqVMiv83ukpSmZNy+KKVMe0Lx5XsLCqmFrq7u5pSTB7dtCAAoOFseLF1C9OjRpAqNHQ4UKYPJpas/8jTx5hPDj7v7+e4mJQiA6eBAWLIDu3YUgVL8+1KsnznVy0s399fUV9OvnQLNmeenfP5ySJc8xfXpReva0Q19ft+Jbo0bF2LevE15eG0hPz/zXKqfK5IwsCMl8Ffj7i6igdu2cuXlzoM4qiKWkKFm9+iW//faU9HSJ4cPt6NnTFnNz3a5Q4uMhPFwMUOHhcDtcvIaHQ9LbKpFmZmKB9O4wNxdhqB8usBISxLmGhlC+PFR2gSpVxA5HhQpg/AkqcBob67F+fXH69ImkXr0wjh0rQ5Eiul1kDhtWkzlzznL2bBQ1axbUadsyMp8TSUlpzJ9/jk2b2ul8J/TNGyXt2t3h6dM0AgPLkDfvp/E6y8wUfdfly3DpEly+Iia38fHi5+/En3cCtpmZEIs+FL3j48Wk3cBAeCyUKgUlS7x9LSle8+UDXXxE+voKOnWywccnL7t3xzBz5hMmT35M//75GDy4AHZ22i9Eihe35ty5XsyZcwYPD3/696/K9OnfkSvXl2vcLSMj820hSRJjxx5lzZoQAgP9cHa21fk9Dh16zeDBdzA01GPPnvLUr6+7KNk7d2DTJnHcuwe1agmRpXdvqFnz3xGAVMHcHOrWFcfUqWJcPH1aCFerVkG/fmJO36EDtG8vUs60pXBhY/buLc/eva8YMuQuy5Y9YeHCEtSsqdv0vHr1ihAQ4EuzZutJS8tkyJCaOm1fRjNkU2mZL5rk5HQGDz7Azp23WLOmlc5ymJOSMpkz5xnz5z/D3j4Xo0bZ0b69tc48Jp4+FR17UBAEBUNYGFhbi0XOhwufUqXAwUHslquyS65UioHj+XMICXm/GLt0SQhGZctC/Xrg5wcuLrpZTL2/t8SgQffZuzeWo0fLULy4btWnUaMOce9eLNu3t9dpu58rslmo4FsbJxYuPM+qVVe5eLG3TgWh5ORMWrUKJyFByYEDpXTuFxQVBWvWwIEAEf6uVIrw+ipv/RBcXMSkNXfurH0WPkSSIDlZ9GXvxPLbtyH8jniNigJ7ezGZr19P7JqWLq2bPk2SJE6eTGDWrKccORKHr68NEyY4ULiwboTu8PBXtG+/FWNjAzZvbvdJ0gJlvg3kcULwrY0T/wWSJDF8+EG2bg3j2LFulCypWyfkmJh0+vYN59Ch10ye7MSAAfYYGGg/5374ELZsEalYN26IFKwOHcDLSwgvXyKxsbBzpxC2jh6FGjXEe/L2Fqlm2pKSksns2Y+YMeMhnTvnZ+7c4jqvOnrhwmM8PPz54QdXRo+uo9O2Zf6ObCot81Vz8+ZL2rffhqWlEVev9qNgQe0nAZIksXnza0aOfEDhwkb4+xejUSNLrRdm8fGwbx8cOyYEoIgIsViqXw+mToE6dcRut7bo6b3fdS9ZUgwO4n2JQfHSJfEc9epD8eLQozt07qybCgd6egoWLnTExOTh/0cKlS6tu+2W77+vTsmSC7l/PxZHR3kBJfP1oVRKzJ9/jokT6+tUDEpIyMTL6zYAhw6V1lkqVGoq7N4NK1eJSWnDhtCrJ1SrJsRsAy1mGAqFiBwqWlQcTZr8/eeJiXDhghDWN2+BocOE2FSvHrjVhxYtNPdcUCgU1K2bm7p1cxMWlsz06U8oU+YaY8bYMWqUPSYm2i1SSpbMy9mzvRg2LAAXl6WsWtWSli1La9WmjIyMzKdCqZT4/vv97N9/h+Dg7hQtmken7V+4EI+3dyjly5tz+3YN8ufXLipTkiAgAGbNgpMn4bvvYNAgaNUKrL6C6aOVldjY9fODly9h+3YheA0bBh4eMGaMiC7SFBMTfSZMcKRLl/x06XKLGjUus3WrM6VL6050rlbNgaNHu9Ko0TpSUzOYMKG+ztqWUZ9/wWVERkb3rFlzlerVV9C8eUkCA/10IgaFhCRRv/5Nhg9/wIwZhTl1ypnGja00XpilpIhOup035C8AM2aKXOE5v8OraLh8CebMgdatdSMGZYdCAUWKQJs28Oef8OwpDBkMW7eBQ0Hw6SBylZVKbe+j4NdfC9Ozpy316oURGpqsmzcAFCliRfPmJVm06LzO2pSR+ZwICLhLQkIa7duX1VmbCQmZNG58i1y5FBw4UEonYtC1azB0qOg7xo6Duq5wLwL27xMT1LJltRODVMHcXPgo/PQTHDsKsTGwfRu4VIK/dkDRYkL4XrxYTJg1xdnZFH//4hw9Wpo9e2Jxdr7Gjh2vkSTtgquNjQ1YvNiLJUu86Np1J0OHBpCWlqlVmzIyMjK6JjNTSZ8+ezh4MIKgID+dikGSJLFwYRRublcZMMCBXbvKaSUGZWbC5s0iKrVbN2EG/eSJEIf8/L4OMeif2NqKFLKgIFHBrGJFaN4cXF3FBrA2Q5WjownHjlWkWTNrqlW7zIYNz3X34ICLix2BgX4sXHiBH388pvW4KqM5csqYzBdFUlIaAwfuZ9++O/j7t8bDo7jWbb56lc7EiVGsWhXN4MH5GT/eQeNFU3o6HDkCmzbDjh0idLNjBxHK6eys9aN+Em7fFjnJa9YKk7oVy3XzrD/++IhNm15x6VI5nVVhO3HiAS1abCIqahhmZro1r/7ckFMBBN/SOOHh4U+dOoWYOFE3O2WSJOHjc5fo6Az27y+FsbF2e0CvX8OIkSL83ttbRBjWravb1FNd8fw5bN0q+uJz58QOcccOQoDX9NdIqZRYvfolP/zwiIoVTZk/35EyZbSPgrx79zXt22/FwECPzZvb4eSk2913ma8XeZwQfEvjxL+JJEn06bOH4OCHHDvWFQcH3X228fEZ9Op1m1On4ti82RlXV83VmtRUWLtWRASlp8OoUdCjx6fzBJIkiE+Epy/F8eQFvHgtBKmPYWgI+fOCna047G3B/BP+ucbFwZIlYtM5f35RIc3bW7uNmr17o+na9RY+PvmYM6cYxsa6SyG7dSuaBg3W0LOnC1OmNNBZuzICVcYJOUJI5oshKiqemjX/JDIylqtX+2otBkmSxIoVLyhZ8hqRkalcvVqOGTMKayQGJSTA77+LXenefcDWRuxah9+GyZM/XzEIRGrHjBkQcRfq1Iaq1WDKFEhL067dyZMLUry4MT173tOZ6u/qWhhHRyvWrbumk/ZkZD4Xbt58SVDQffr2raKzNv/44zmnTiWwaVNxrcWg7dvBuayoxHLrJqxeJdKzPkcxCMQk+Pvv4eQJuHsHGrjD3HlgZy+imx4+VL9NPT0FPXrkIzy8IuXKmVK58nVGjHhAcrJ2kT3Fi1tz+nRPqld3oHLlZQQG3teqPRkZGRldMH36CQICIjh+vJtOxaCQkESqVLlEXFwGV69W1VgMUiph2TKRVjx3LkycKIyjBw7UjRgkSfDgMWw/BGN/h8a9oLgHmFUBqxrg0hZ6TYTFm+HkZbgY+vEj8DzMWwfdxkL5lmBRDSyqQsmm4NkPJi6A3ceEsKQLLC1F2lhkpIgeGjdOzPW3bNE8YsjLy4YrV6py+XICtWtfISIiRTcPC5QubcOxY91YtOgCK1de0Vm7MqojRwjJfBHcvPkSDw9/PDyKsXixl9ZGc9HR6fTqFcmFC4ksXeqEl5dmO7IvXoiSkAsXCc+eMaOhZctPVyb53+DiRejZSwwaf64QfiCaEh2dTqVK1xk92p7Bgwvo5PlWr77KrFmnCA0doPMqTJ8T8s6v4FsZJwYM2EdSUjpr1rTSSXsXLiTi5naTgIBS1K2r+ef29CkM/F549cyfBx07fr4ikCpcvAizfhXeRz4+MHqUSHHThLCwZHr1iiQuLpONG4tToYKp1s+3cuUVBg06wNq1rWjb9jPeSZD5LJDHCcG3Mk78m2zceJ1+/fZx4kR3nZaWX7v2GQMGhDNmTGHGjSuicWnzkBAhdjx7BrNni+hPPS3DHDIzhbBz+DRceivmxMRD+RJQtRxUcYaSju8jfSwt1B8PJQli4t5GFr2EW/fEfS6FQlgEFLAR96paFjzqQLXy2r+vjAzw9xcikYsLLFokqndqQlqaktGjI1i9+hn+/mXw8rLR7uE+IDDwPp6eG9i1qwMNGxbVWbvfOnKEkMxXwZkzj3B1XYWfXyWWLWuutRh09GgcFSteR6GAa9fKayQGRUaKHQhHJ7h4CXb8BWfPCI+eL1kMAqhaFS5eAJ/2UN8NRo4U1X40wcbGkC1bSjB27CPOnUvUyfN16FCO6Ohkjhy5p5P2ZGT+a2JiUlizJoQhQ2roqL0M2re/y08/OWgsBkkSrFwpooJMTOBmGHTq9GWLQSD6ty2b4fo1MDYSEZEtWsKpU+q35exsSnCwM97e1tSqFcq8ec+0jobs0cOFTZva0q3bThYvvqBVWzIyMjKacPLkQ3r33sOWLe10JgZJksS0aQ8YPPgOO3aUY8IER43EoIQEGDFClIx3d4fQUGjbVnPR5E0q7AuCnj9CgXrQfjg8egZebrD3D0i4AFf+guWToV8HaFATyhQDq9yajYcKBVhbQdkS0Kg2DPKFNb/Ajd0Qfx62/A4NasDNe9CkLxRqAAOnwNEzIh1OEwwMhIfS7dtCCKpQQWQCpKaq31auXHrMnVuCpUtL4eMTxooVTzR7qI/g5ubI4sWetGu3hdBQHYVLyaiEXGVM5rNm165b+PruYObMhgwYoEWoCqKU/KRJj1m8+Dm//16E3r1t1Y4wuXcPfvkF1q4TA9DpU1CpklaP9Tfik+BxNES9fP+akAIKxCDy/wdi8LOzhhIFobgDFLLVnRhlaAjjxwuBq1dvqFAR9uyGMmXUb6t2bQsmTy5I+/Z3CAkpr3W5a2NjA/r1q8q8eedo1EjDLQ4Zmc+IlSuvULmyHZUr22ndliRJ9Ohxj3LlTBg5UrP2EhKgvQ9cvw7r1oryvLpEkuBlLNx5DHcfw/1nkJ4B0tuf/f8BGBmCg404CtqKVxtL7YWpEiVg6VKYNAnmzYNmnkIs+nmSqPqoavsGBgomTSpIw4aW+PreJSAglqVLnbQqUd+8eSkOHeqCl9cGHj9OYPJkd/T0vnAlTkZG5ovg7t3XtGq1id9+a6wTn06AzEzprRAUTVCQCxUrql/vXZJE6vKwYcLv8sIFzaM7E5Jg11HYEwj7gyGvFbRpBH/Ng9ou/93GrrkZuFYRBwgBKPAC7DgCvmMgNQ2au0NzN/CsDybG6rVvZSWig7p1g759RdTQggXCfFtdfHzyUaBALlq1usGTJ2lMmFBEJ1H7XbtWJCLiNc2abeD8+V7kz6/+74qM+sgpYzKfJZmZSiZOPM6CBedZvboVbdpooES8RZIkduyIYejQBxQsmIs//yyqthHo5csizWDHDmjXTiwaimsxTiamwOVwuHAbzt+C65FvxZ9kMDWGgh8sgHK/zUJQfrBIkiTIVArR6E6UWFDp60NROyjhAGWKgFdNqF1W+4FNqYQJE0Rp6aBAkRqnLpIk0bDhLapWNWPmzMLaPRBw714MpUsvJCZmzFdrLi2nAgi+hXHC1XUl3btXomfPylq3deBALL6+EYSHVyBvXkO1r09KgqbNwMgItm0VXgTacush/HUCQiKEAHTnsejr7PMKMdvJTgg/78TuD4XvN+min3snkMckiHPtbaB0IahWGqqVEkd+a82fMTYWfv0VFv0hPN9GjxKl69XZdY6NzWDYsAds3fqa8ePtGT7cDiMjzSNaw8Je0rLlJkqUsMbfvw3W1p/IIVXmi0UeJwTfwjjxbxAX94aaNf/E07MEs2droBJ8hOTkTDp1CuP27RQOHCiPo6P6/ditW9CnD4SHC8/Lbt3U3xRQKuH4OVi9E/46AiUKQ4sG0Po7qFTm849+VSrh3DUhDu06Bs9fgU8T8GsNNSuq//wZGfDHH6JSZ506oiJnoULqP9f164k0bXqNpk3z8scfJTA01D75SJIkfH13EBkZw/Hj3TAykuNXtEGVcUIWhGQ+O16+TKJjx+08fpzAX3+1p0wZW43bio5Op3fvSE6dSmDWrMJ07Wqj8k6rJImKYbN+hdOnoVdPsTPh6Kj+c0S9hP3n4GyYEIHCHkCBPO8XMy7FoXB+IQBZmqnfsadnCFHo3WLr6l3YfRoMDaC1K7SrB/UqgoGG4pAkwdix4L8egoOEgZ+6XL6chKtrGLduVdBq9/wdjo5zWbasOY0bf51RQvJEX/C1jxOJiWnkyTOT8PDvta4ulZkp4eJyne7dbRk2TP3ooJQUaN5CTBT37wNTDS1xJAluRML2YNgWLPolj2pCoC7hIESgYvZgpoG+kfzmvTh0I/K9qB4eJaIkq5WG6qXF/SoUVb8vjY+H5cthzlxR2n7USPD1FQKZqpw6lcDAgfdJT5dYv74YlSpp/vcbG/sGP7+dXL36jO3b21Olir3Gbcl8fcjjhOBrHyf+DTIzlXh5bURPT8Hu3R3Q19d+Yf/yZRrNm18nVy49du4sh7W1epsUSiUsXCjmn/36iYhOCwv1nuHOfVizC9bugtR06OwF3VpCxdLqtfM5IUlCHFqzEzbuh3zW4NcKurSAQmoO/a9ewejRIvpq4ULo3Fn9cTMq6g3Nml3HwcGIrVudMTfXXsBJSUmnfv3VODvbsmpVy6/aM/RTIwtCMl8c9+/H0qjROipVKsDKlS2wsNBcOAgIiKV793vUrm3OsmVOau2WHz8OI0eJSjSDB8GAAZA3r+r3liS4dk+IMrtOCYGmdlmoW+H9braD5jqXSmRkQlCIWJT9dUJEFLV2BT8PqF1O/fYkSQhiO3cJUaiwBoE+vr53MTBQsHq19iJOjx67yJ/fjF9+aah1W58j8kRf8LWPEwcP3qVfv31ERg7Ruq01a14yadJjbt2qoHZkSmoqtG4jytUeDBBiiLrcfwbL98G2IIiKhmbVoW098KwJFtr7LX+U6GTYGw4H7kBZU8gVB2fC4OhlsLWCFrXFUa+CEMhVJS0NNm4UGwIxMfDTROjVS/WIy4wMiWnTHjNr1lN+/rkgw4cX0DjtS5IkZs06xdSpJ9i+vf1XK4LLqI88Tgi+9nHi32DkyEPs33+HM2d6YmmpZi7SR7h7N5mmTa9TubI5a9aUVrtM+aNHonT8nTuwZg3Ur6/e/YMuwKRFcPqKSLPq1hKauApLBF0gSRCTBE/j4EksPI8X8+yPYagPBSzBzhLsrSC3ie4ikt6kigplq3fCkTPg4QqTBkIVNdPpdu8WY1z9+qJkvTprHoC4uAzatr1BTEwG+/aVp0AB7Td+nzxJoFq15QwfXpMRI2pr3d63iirjhByDJfPZEBb2kkaN1tG2bRnmzm2i8eQ5JUXJmDEPWb36JfPmOeLnZ6Oysnz/vhCCDh2CCT8K42hVd8klCU6HwpZAIQJFx4ld6sFtoFkN4Xvxb2KgD99VFseCQeLZtgaBxxiRTvZrPxGRpCoKBcyZIxZKDb4TopC9mpvVU6cWokyZEIYPt9O6Io+7uyMLF8qmqzJfNseOReLu7qh1OykpSn78MYqZMwupLQalp4NPB4iOhsOH1BeDkt/AzE0we4sQgX7pBU2qi/TXT43vDiiZF2oWgi2h0KUC7OoEb9KEKLT7NPhOF/9uVgPa1BUCUU7iUK5cIi2hSxfYtQtGjYYlS0Wltbp1c34uAwMFP/1UEA8PS3x9I9i/P5Y1a4pSqJD6k2SFQsGYMa4ULmxJ69abWb26Jd7eGppnyMjIyPyDDRuus3LlFc6f760TMSgkJJGGDUPo1i0/s2YVU2s+L0mwYQN8/72oHLZ9O6ij8Z25ChPmw4UbMLwbbJsrPII0JSUNrj6EC5Fw8T7ceykEoCexkJoBZkZC5MmfG3JlMa6kpsOzeHFNShqY5gI7K3FdiXxQ1QmqOUKFQlm3kRXGRtC+qTievIA5a6BuFyF+/fw9lFfR5qFFC7hxQ6TmlSsniko0bar6c1haGrB/fwV69bpNzZqXOX68Ek5O2qU529tbsHOnD+7ua6hQIb/sG/oJkSOEZD4Lzp9/TNOm6xk0qDo//VRf49DAq1eT6Nw5AktLfdatK0axYqoNbMnJIi/5t99Fda3p06GAilXSk1Jg/VFYtBMevoD2btCyNjSoDMafob3Nk2gYswx2nITxvjC8HRip8ZxKJfTuDafPQOBxyK9mAYrhwx9w61YK+/drF68bFRWPo+NcXr0arZMJzOeGvPMr+NrHierVlzN4cA18fSto1c6sWU/YvPkVFy6UU2vynZEBnTqLXdhjRyGPGllrkiQiEEcshgLWsHCwSNn6tzh6D7rshKhhoKeAW9HQbx/s6QDvgkvfGVRfvA27TsOmY5CcCn28oK+X8CJShdRUIYhPmw6envDrLNX9FhISMhk27AHbt79myRInfHzU3Hr9gP3779C+/VbmzPGgd+8qGrcj83UgjxOCr32c+JTcufOKKlWWsXFjWzw9NTCJ/J/2knF1vcLgwQUZP76IWte+egX9+4so/eXLoVUr1a+9FAoTF0DwRRjsCyP8RDUvdYl8CYdD4cJ9IQLdeAzWZlDNCao6QqkCQsixtxIRPxZqaB6SBPEp7wWlJ7Fw86kQmi5EQnIaVCgo7lXNETzKgb0GmeRPX8Ivy2D5NmjZQEQMlVbR6kGSYPVqGDJEVBadPVu9TSJJkhg8+C4HDrzi5EkXnUQK/fnnZcaPP0ZISD/ZZFoD5LLzMl8ER4/eo2HDtUycWI9Jk9w0EoOUSonZs59Sp04YPj7WBAc7qyQGSRJs2gSlSsPhI0LgWLlSNTEo/BEMXQgO7WHxbhjUGqI2w9Lh0Kzm5ykGgVgArRsHB2eJaKayPWDvGdWv19ODZcugShVo2EhEFajD+PH2nDqVyIkT8epd+A8KFsxN0aJ5OHHioVbtyMj8V8TFveHSpadaRwglJGQyY8YTZsworJYYlJkJft0hLExEBqkjBoVGQsORMHA+/OwHZxb+u2JQhhJ23gafskIMAohPhccJQgx6V/1doYBMCS4nwWMbmDwG/hwJl8LBqTO0/1mk1uZULd7ICH74AW7fEikHZZxF2d6UlJyf1cJCnxUrirJyZVEGDrxP164RxMdnaPS+mzUrQUCAL6NGHWbmzJMatSEjIyMDkJqaQYcO2+ndu7JOxKDHj1Np1CiErl0LMG6cer4C16+Diwu8eSMiVVQVg8LvQ+tBIirGuRjcOwTThqonBt1+CtP3QpWfodQ42Hge8prBhOYQMQOez4V9Q+HnVtCpJriVhpIF1BODQIxHlqZQxh6+c4YutWF6Wzg0Al4vgNApMLwxmBjCihNQeBTUmQ6/H4QHasy17Wxh/ngI3w+WcIqQEQAAIABJREFU5lCpDXT9AaKeqfaM3btDSIiYG1SvLrInVH+PCubNK06tWpY0aXKN2Nh01S/Ogh49XHB3d6Jr150olf9ZHMtXjSwIyfyn7Nhxk5YtN7FwYTOGDKmpURspKUo6dbrLokXPOXq0NBMnFsTAIOdFUVSUEDSGDYdpU+HUSaimQmX7oBDwGA0VesHLONj/C1xeCr08NTNJBRF2+iwRbr6E049gXzj4X4MF58Wx6QYcuQchz+BxvDhfW+qUg4uLYZQP+M0Ez7Hw8Llq1+rrw+pVogy9p5dII1OVvHkNGTgwPzNnPtXswT/A3d2R48cjtW5HRua/IDj4AcWK5cHBQbsd7WXLXlCqlAkNG6rXzujRcPEiHD0CNipGyqSkwrBFULU/VCoO4WvAr4l61bg+RqYSXiZB2EsIug/bb2bfz0kSHL8PbT8oQLn/Drg7/t3H4WkCTD0BG27Ad06wKgRuZMLe6XBzFTgWgDY/QfmesOqAEMmyw94e1q0VAtqu3VC2HJxUUZdp3dqaa9fK8+RJGq6uYTx8mKrahf/A1bUwgYF+/P77WUaPPoyUk5olIyMj8xF++OEICgU68WJ89Sqdxo1D+O67PMyaVVStzd1jx0Qqbq9eIkVXlcjzzEyRHuXSVgggEQfh11Fga52zwA8Q+hgm7YTyE6DiT3D2HgxuKMSf46Nhhje0rQpFbP6dCmQKBRTPDx1rwm8d4NQ4ePwbdK0NATeg+FioNhlm7IOIF6q1WcgOlv4MYXvE51WuJazeodrn4+QkIrXc3aFWLVFtWVX09BSsXFmKQoWM8fK6TnJyDgNrDigUCpYs8eTu3dfMnn1aq7ZkPo7sISTzn7Fy5RUGDz7Ahg1tadGilEZtvHyZTsuW4QCcP18WW1vV3OK2b4fefaBVS9jxl2r5ydfvwdgVEHwNRnjD2h80K3MckwKXn8KlD46IGPEzU0PIYwzWJuI1j4nouKOT4eXbI/aNONfSCKrai0VOQyeobAfqFoXQ14e+zcG7PoxcAjUGioVSFRU2igwMYO0aqFFTVH6YPl31+w4ZUgBHxytcu5aslZdQgwZOzJhxSuPrZWT+S44fv0+DBk5atZGaquT335/yxx+Oak3ADx2CZcvh8iXV0z6j46Dlj0JwubwUyqiXDfD/SJLo847cg6ORcPIRPE8ECTAzBBtTsDWDuoUhXxazlCcJ8DwJXAuL59HXEwJRr8ri5+8+ivXXRf/5a0OoURCsjGDZZRhRCwrmh9r1IcoGLN/AFH/4bSvM6C2MsLP7OGvVgvPnYP588GgCI4bDxImiX8wOe/tcBASUZvDg+9SoEcqePSWpWlX9EPhKlQpw8mR3GjVax+vXKSxd6qWTqkAyMjLfBnv23GblyqtcutSHXLk0LEH7lsTEDDw9r1GqlClLl5ZUayzy94e+fWHRIvDzU+2auw+g+3iRGhWwFMKTITgS6hkKbx6FQowzH3uMuGRovVAIQM3Kw3gv8KygfrTPv0F+S+jrJo5XibD7Cmy/BJN2QeNyMKoJuJbIWbAqWgjW/wp7jkOfn2D7YVj2sxDSskNfX1QeK1IE3NxgyxZo0kS1Zzc01GPLFmeaNLlGu3ah7NxZjly5NB+jLC2N2bSpLfXrr6ZevSLUrFlQ47Zk/hdZEJL5T1iy5CJjxhxh795OuLk5atTGzZspeHrepnp1M1avLoaxcc4dTWIiDB0K2/+CZUvB2zvn+zx6ARNXwabjwnNi9Rj1DKIT08TO9c7bcO4x3IuBIpZQxU4cPSpB+fxiEaTKmJyeCa9SRETR6UdwJBJmvRXM3R2FQORRDIqrIVZZ54Y/R8FvW8BtGGyaIBZEOWFsDBvWQ/UaYpCoV0+1++XPb0j37rbMmvUEf//iqj/oP3Bzc6RTp7949SqZvHk/URkjGZlPxLFjkYwd66pVG/7+0Vha6tO8uer5XtHR0M0P5s6BEiVUu+buY2j6A1QqBmvHgomatgDRyXAoQghARyJF/1W7IDQsCkNqQGFLsDUVofKq0sBR+AaVtoE9t+FJIjQp9j6FDITY5FUCKr5NA85jApbGcD8WiliJvtjcCP66D1OGQepD6D4LnIvAzD5Q0znr++vpifGkQQPo2EmkHa/3h6I5eDUYGChYtMiREiWMcXe/ydq1xWjdWv3dhRIl8nLyZA8aN15Hly47WLeutSwKycjI5EhUVDx+frtYssST4upMFj9CaqqS1q1DMTfXZ8OGMhgYqNYHSZLw7vzlF9ixAxo3zvkapRL+2Ag//A5+rWHLPGj1BxS0hoQ3sDcEXArDcI+sRZLcJtCxBmwbANY6tKPJVEIWRcbQQ/0N23+S1xy61xXH01iYfwSazxPpZ6OaQEuXnO/R3B1CXWDQNCjbHBb+CB09sxeUFAoRTVyoELRtKzZBevZU7ZlNTPTZvbs87u5X8fO7hb9/GY0LBgFUq+bAlCnudOy4nStX+mJl9fX5h/5XyIKQzL/O0qUXGT36MAEBvtSuraIr5z84cCCWTp3uMnBgfiZPLqhSB3PiBPTqDXZ2cC0kZ0PQRy9gzjZYskeUaw9bBU52qj3fvRix+DlwFw7dg6J5oE1p8KsoInlstNAuDPWhgLk4KhWAAdXe7tg/FYutHbdgxCGoXwQm1oM6KqZxKxQw0geK5AefybBoCHTzyPm6smVh5gzw7QI3w0BVX8uRI+1wdr7G9OmpFC6smelc/vzmlCljQ3DwA1q3LpPzBTIynwmvX6dw7dpzjQVxEOaNs2c/ZcwYe7UmWf0HQO3aoqSvKoRECL8gPw8hkqiTHnY/Fn45CWuvQRkbaFQUlnuJyB5TLcr/FrGCsrbQYpMQhAz1YGgNEVn0jqvPhDjkbAvGBqB8G235IkkIUAZ64GIH3SsK/6FqDuBSVfR749ZDvTlQyR7m+UCtbIShChXg4gUYNQpcKsPsX8WEObvPSaFQMGyYHU5ORnTpEsG4cSlq/z+C8FILDPTDzW01fn67WLWqpcoLMhkZmW8PpVLC1/cvWrUqRceO5bVqKzNTokuXm8TFZXD0aEWVS8tnZMCgQSI9LDgYKlXK+Zp7j6DXRPG6exE0qAmbz0NRW9jYD5JS4UgYLDwKthbCn+djKBTQW80S9gBvMuDqa4hIgCfJ74+HifAwCZ4miyjXj6GnAAdTKGwGhczA3hQc3r6WyA3l86i2IfwOOyv4pR2M84TlwTBkA/ywTaS8daudfbSTtZWIFvrrMPT7GbYdgkUTco4W6thRpEy3agUPH4rMAFUCwSwtDQgIqEDdulcYPPgOCxaU0LhwEMCwYbU4ejSSvn33snlzO43bkfk7siAk868hSRIzZpxk1qzTHDjQWSMxKCNDYsKERyxc+JzFi53w9c3Z+OL1axg5ErZshUk/wbBhIgwyK17FwVR/IQR51oST86CyCilU157D6quwOxwexkGdQtC4GMz4DsqoUd5dE/T1xGKmmgP84Cq8OOafh6YboGZBmFQfVP24vd1EBFTz8ZA3N3jVyvmagQNhzVpYsUJUJlCFokWNqVvXgp07Yxg8WMWSbh+hUqUChIW9lAUhmS+KW7eisbOz0Kpixo0bKTx8mEaHDqpXrbp6Ffbtg8h7qk3m7j+DJmNgWDsY11n1Z3sQC9NOwtoQ8HaGi72gbD7Vr1eFifVFitj+O9DASQjv885B85Liaz2FEIqM3vb30clwNkoIU4Zvv5eaAWcfg75CiEMAuc3Aoz4cSROeba6rIZ8JbPQBtyyEIRMTEVrv6SkEt9VrYOkSUb43O1q1siYoyIh27e5w4kQCa9cWw8ZGPaUsXz4zjh7tioeHP23bbmHTpraYqBNqJSMj882waNF5Hj2KZ9++Tlq3NWLEXUJCEjl1ygULC9WWlMnJ0KEDRETAmTMiHSkn/HcL8cK3OexcABZvhX9zI1GpKyYJ8phBg9Lia/8zoiJYGXvN3lemEm7FwfmXcCFavIa8FinHpS2FkGNvClVtoHURIfQ4mIFRFlr8m0yISoIHSeL1STKceQGPkyEsVvzcxRqq2749bKB47pzHaAsTEQ016DvYfEFEDU3aBRObQz/37EvYt2kEdavA4OkiWsh/JjTLQSirX1945jVtCo8ewdKloshCTuTLl4tDhypSq9ZlChUyZswY9QzHP0RPT8Hq1a1wdl7Etm1htGuXzW6NjMroXBDy9/cnODiYR48eYWpqSvXq1enbty9WVhrU/pP5alAqJUaOPMSGDdcJCvKjQgU1a5UDr19n0KZNONHRGZw/X44yZXJO+D1+HLp0FZULwkKhcDZ90Js0WLgDpq0XaQLn/4DyOYT+RyfDhuuwOkSkLrRzhrke4OYI5v9hlTFbM5jiLnbMfz8LHutFesak+lBLBWHI3UWkxnWcCod/zT5tAsSgNfYHGDJUlAzNpeJ79/S0Yt++WK0EIUdHKyIjYzW+XubfRx4nIDIyBkdH7d7vvn2xNGyYW6V02Xf8MgN69lDNNyg6Thjot3eDsSquHR7EwvSTsCZEGD5f7SsieD4V9hbvfYOUkvBfS3vrX1nCWojzZm/7o21h8DAe+lZ+f/3jBLj9SkRuviMxDW69Ev351AYQ+QL6r4UmI8CvMUzqBgWyyLJo2hRCb8DkycJfbcYv8P332U/sK1c24/LlcvTseQ8Xlxvs2VOSSpXUKyFuZ2dBUJAfXl4badp0Pbt2dcDSUg6nl/lykccJ3XPvXgzjxh1j9+4OmJlpN0ldu/YZ/v7POX++CjY2qrWVkiJEc6VSCAs5VbZMS4Phs2DjPtg2F5rU/fvP8+cGRxu4+lBU/rIwEa9nIoTxchn7rL2E/kliOux9BFsi4cgTUcmyio0QZ0aVF0KNo7nmBtOOFvCxBHGlBHfjheh0PhoWhMGVV2BmAE0LgrcTNHEQUa5ZYWgAvrWgc004cB1Gb4V5R0QFs/bVsn5mW2vYOBs27AWfETCyO0zon310a9myQshr1kyUpd+4MWfvPIAiRYzZt688deteoVIlczw8NE9VzJfPjAULmjJw4H7c3Byx0SbtQgb4BFXGbty4gbe3N0uXLmXq1Kncv3+fyZMn6/o2Ml8Q6emZdO++i507b3HqVA+NxKDIyDfUrh2KlZUB586VzVEMSk+HceOgeQv4cTzs3pW1GKRUwsajULob+B+BLRPhwIysxaBMJewNh7ZbwGEObA2DgdXg2QhY2wq8Sv63YtCH5DWFaQ3g/mDhV9R4Pfhsg2QVqkC2qw+/9AKvcXBLhcrurVqBubkwCFSVZs2sCAyMJylJ8woETk6yIPSlIY8TEBkZi5OT9oKQp6fq3kHh4SJEf+TInM9NShF/+xWLwZwBOU+CJQlmnIRSiyAhDa70gfVtPq0Y9E/0FNClwvt7GhtA+7LQZD203ybS1rpVgHof7EjfjhaVyNwd33/vRZJIvw18AFHx4JQPAkZCyFJ4EQMlusCUdeIz+hhmZjBzJgQcgF9ni3Ho5cvsn93KyoBt20owYEA+6tUL4+BB9fu0PHlMOHTIF1NTQ9zc1vD8eaLabcjIfC7I44RukSSJ3r334OtbHnd37YoZXL+eyIAB4axf70zRoqq5MaelQbt2Il1s//6cxaAnL8C9O5y+Ahe3Qrmy0HcNnAx/f05VJ7Awhq0X4cZj8T1HG+G1GfG2z81u7EpIh40R0OYo2G6AqVehojUENYP4LnDCE36rAT5Fwcni01Qb01NASUvwLQ7za8LZ5pDQBQ40hsLmMOK8eLZOgbDzAaRkU31ToYBmFSDkZ/jRC0ZshhpTIfBW9s/QyQtOb4B1u6HFQIiJy/58BwdRGe7mTejdW6yjVMHFxYJFi0rSuXMYDx++Ue2iLOjQoRw1axZkyJAArdqRESiOHz/+SeuVhoaG8v3337Nnzx7Mzf8eGp+UlISXlxdxcXHkVqXMk8wXR0pKOj4+27h/P5aDB32xs7NQu42LFxPx8grH29uauXOLoK+ffY8cEQGdOoudiE0bwTmb6JZTN0QJ5SevYFpP8G2YdTpZhlJEA007CUlpwg+oW0UooXq2BkoJnqTBnRRRFeHOG/EalQaZkvi5kr+/WhlAGdO/H8VMwECDgelFEnhvFQPKng6gSrbK+D9h/RFRVcg6hz/TNWtg2nThJZRdWt6HlChxld9+K0KLFqovbD/k2LFIevfeQ0TEYI2u/1yJj4/H0tKSvXv3YqaqMdMXyrc4TvTqtRs7O3OmTGmg0fUxMRnY2l4iMrIShQqp5sHVqxdkZMLqVdmfJ0nQeiLEJQlx3DgHgTs9EwbsF55pu3ygigZh+pIEUalwMxluprx9TYYnqWKSq4eYOL971QdsDKGECZQ0eftqCo5GIk3sQx7HQ/BDKJX3fSTQyySwMobNoRD0AJY3f39+QircjBZ+bEEPwLe88Gp7x8nroirjoxcwtQf4Ncl6oRATA337CQ+7NatVM05dvz6aPn0iWbCgCD16qJ9nl56eiZ/fLs6ff8zhw120jkST+XyRxwnB1zpO6JJVq64wcWIgoaEDyJ1bM99GgPj4DKpWvUSnTvmYNEk1YSkzU3jQREQIIcEyh8IswReh/TBoWhf+mAgR0dBkDjhYCc+gmd5Q+O3c+2U8DNoAhayhmiO0qgzus2CAO3TOwvLg5DOYGwb7HkExCxGF4+0IzhpMQ8+SjCOGFODTpOlKkogY2noftkbC8xRoVQSGlwOXHNYfyakiUmjGfqhbAuZ1gmLZDCmx8dDlBwiLgB3zoUIOBaCfPoW6dUW00Lx5qgtmffrc5tq1RIKDXbSqPPbkSQLOzovYvLkdHh6aF6j52lFlnPjkHkJxcXHkypULE5PPsJ6fzCclOTmdZs3Wk5GhJCjIjzx51P8d2Lcvhg4d7jJpUkGGDy+QoxGZvz8MGAjd/cQOrXEWEfOpaTBxNSzaKVIhhrUD0yzOTc8E/+sw7YQwjBvvKnahDVUQPN4o4WQcHIqBY7FigZOihCJG7xcw3+UR/zZU/H3BowcogOgMcV1IEmx6CbeThVhU0gS88kKP/KIdVchnBod8oftuqLUS9nfKeQd/ag9hKjt8sUgjy45OnWDiT7B9O7Rvr9ozeXrmYd++WI0FIScnKx4+jCMzUylX2PlC+RbHicjIWI1N9QEOHoyjbFlTlcWgqCjwXw9XLud87tpDcP4WhK7MWQyKTxUi87MkONsTCqqxFnuVDutfiH7tRhIkZYKT8Xvh2y8/vPOb/6dQngk8fyuuB8bBsmcQkSJ+XtQY6lpC4zzwnRU45IaO//DyWXYZpgSLqmNu//CwsDCC6g7ieBALXpugZSnRDoBreTizELYGCWFoaxCsHP3xNLI8eWDzJli5Etq2g359Ydq07NNqO3e2wd7ekNat7/DwYRo//eSglgmnoaE+69a1ZsiQA9Sps5LAwG6UUGfnQkbmM+RbHCd0RXR0MqNGHWbFihZaiUGSJNGjxy2cnIyZMMFRpWuUShFFEhoKQUHZi0GSBPPWwfh58Nso6OsjvpfwBqa0gupFYWkg/LIPFnQGA32wzQ2TW8HhUCF+/H4IGjn/rxgkSXDwMUwPEX5A/UvD5ZZQRgO9PFWSmCA95ywpKJQKaiblJyPFgEw+3k/nUkAhQyhsCEXevubRU01AUSigso04plcRxtYrw6HOXnCzg3EVwDUL1wVTIxjrCb3rwYQdUPlnWNIFOmZRRdgqN+xaCNOWQu1OsHQSdG7+8XNBFOk5cgRcXSF3bpg6Nef3AzB/fnHq1LnCyJERzJ+vYqnTj2Bvb8H06d8xYMB+btzoL3vnacEnFYTS0tJYu3YtHh4e6KsaLiDzVZCenomPzzaUSolDh7pgqkE5mWXLXjB8+ANWrSqKt3f2k9mkJLELe/AgbNwgcpSzIjQSOk8XRswXFkOZLAzt0jKFIer0k+LcCfWgc3lRmSYrJAluJAsB6FAMBMeBjQE0ygPDC0IlMyhqAmpYfvwPmRJEvoFrSbDxBZS/BDUsoGcBaGcLZjn8qRkZgH9rmHgcaq+EHe2hvmPW5ysUsGQYlO0BPm7QtEbW5xoawqiRwqfE21u1wa5ZM0t69oxEkiSNKg8ULJgbpVIiKiqeIkXknfAvjW91nIiMjNEqZWzfvhg8PVW//rffRL9YJgfv9aevYOgiWDMG8uQQ0BkVD802CB+fE36gyjojU4KjMfDnc9gVDdUsoK1dBhZ5X5Ggn4m5Qo9ZWFOG/1VM1pDAnySSjkR7zBiGWFkcJYUFxFNQkkiToHayOWkvzJn2EDrdzaRQ6RgMzNMojgHb9G0x01Mwvi70dBFRQMsuQ689wv/tZZJItX33XuJSoVge8V4dPhC7FArhrdS4KgycB+V6wPIR0Lru/zw2CoWoOubqCh06wrHjsHVL9uXp3d0tOXnSmWbNbvPgQSrLljlh+M/Qp2zQ01Mwf35TjIwMaNzYn9One2gUoSsj8znwrY4TumLUqMPUqVOYVq1Ka9XO3LlRnDuXwJUrVXKM1gcxJx42TAhBJ06ATTYbkOnp0ONHOH4ejq6EmhXF9xUKqOIIFQsJgaNVZVh5Ambuh/FvxYqSBcTRsQYkp4ky9O9QSrDjgRCCHibBsLKwu6EwiFaFTAlC3kBQMgQnw81UeGaUiIG5BNGFKayvT7gh2BtIGGfxkSQq4XAiPEiHh+kQqwRzPSEMlTOCeqZQ3xScjcSGcFYoFCIqaEEtmFAJ5oaC52GR5jauIng4fHzebWMBi7tC0/LQfaWoxja/M5h95DPQ0xM+QlXLQufRcCkMZo/K2lfI0VGIQvXqgYUFjMlh4xjA2FifbdvKUrnyJWrXzk2HDupbibyjb98qrF0bwtSpwUyb9p3G7XzrfDJBKDMzk+nTpwPQv3//T3Ubmc8QSZLo02cvDx7EEhzcXW0xSKmU+PHHKJYufUFAQGlcXbOfxD57JjwaTE1FOXm7LErDK5Uw/y8YvxKGtBHGoLmyeLTdt2HIQVGdZrIbdCiXvRD0PA1WPYPlz+BZGrhbQTNrmFsMSpvoNu9YXwHFTcTRxgai08H/OcyOgkER0MEW+thB1Ww+Nj2FMEt1tIJmG2GZlxC7sqKgLczuC31+F1EDubOJTO/ZE6ZMhYAAYbCaE/Xr5yYmJoPr11OoUEF9YzhDQ30KFcpNZGSsLAh9YXyr40RGhpJHj+JxctIsKi4zU+LAgTh27VKh/CEQHQ3LlkNQYPbnSRIMmAtNq0OLOtmfe/UZeG6EZsXhj2Y5R0w+egMrnsHq55AmQbf8EFIFSplCR17TCVN8MecgKYwmhr/Ih+EHu62hpPEniazFljzo0Z4XVMaI+hhjgoKp5MFGoccbhURX82h+NzdkNkbcSoXlKSZcemXE5dyJFLwIXWyhrx2UNYf+VcWRlCbMp3fcEpXKXAqI6mgrrgij6qwCXK3MYf142HQMevwKe8/C3IFg8ZGurFQpOHtGlKevURP27IaaWezUApQrZ8rZs2Xx9LyNp+dttm0rQe7cqk/bFAoFs2Y14uXLZJo0WU9QkB9WVrLRtMyXxbc6TuiKwMD7bNsWRmjoAK3aOXUqjh9/jOTo0Yoqm0hPnAjbtgkDaftsUolT08BnODx4Ape2QnwmdFsBprmgTRWoUgSs32YJ1ikO0Qmw4RzsCwHPihBwXZhJW5vDOy1IkmDjPZhyFZIyYGQ56FUKTHPoQjMluJgCh1My2asXx0P9FN7E5KGWwhRXU4m+eRQcM04hr74BY/Lo84A0ElFSFtX71vhMIQw9SIcrb2BnAox+DiZ6QhyqZwpuZlDRKOv1Qz4TmF4VRpeHP25Bl2BR7WxyZfDMIvi4hYvwF+q0DKpNhs39oXzBj5/btJ7wbmrYExKTYclPWYtCpUvD4cPg5iZEoQEq/Ko5OZmwdm1pOne+ScWK5pQpo1nKq76+HkuXelGr1p906lSesrouZ/qN8EkEIaVSycyZM3n48CFz587NMbxz3Lhx5HobP+3h4YGHh8eneCyZf4mxY48SGHifU6d6qD35zMyU6N07ksDAeE6fdqZUqex/d27ehGaeUKcO/LkCjLJQ/KNegt9MiHgCB2eKkP+P8SgOBgcIv4mZ30H3SiI66GMoJZEGtvQp7H4F9SxhphM0z5t16clPgY0hDC0IQxzgYiL8+Qzcr0F7G5hdFPJko8f1qgyFLcF7G9yPhXGuWQ8+vTxhcyCMWQaLh2XdpokJDBsK039RTRAyMtKjYUNL9u+P1UgQAihe3Jq7d1/j5uao0fWfCwcPHuTgwYOA2BH9mvmWx4kHD2JRKKBQIc28Li5cSESplKhRQ7WS9fPni+iUqlWzP29rEJwKhbAcPIYC7oLPdhhbB8bUyV7wzpRg7mP46b5Ij11QHJrmee/zk4CSy6SxAhv0UdAMU34ghigycPrAk2EbSbTAFMe30xZvzNhFEnUxohZGKD4Qj5wwIJx0qmJEaSN9fjMyI4Q0RktJjHOGlU+h6hWobC6EIW+b95XIulQAj2JCGFp4AVwLCbHcIYf/qg4NoE45Mc5U6g3rxkLtj5ScNzIS/x8lSkDDRrB2DbRpk3W79va5CA52xtv7Dm5uNzl8uDR586q+yaKnp2DFiua0br2Zli03ERDQWQ6r/8KRx4ms+ZrGCV2QmppBv357+flnNwoXzsG4JxtevEijfftQZswoSs2aqrUzaxYsWQLBweCUjdXQm1RoOwRevBaRQc+SoMUCGOkBz+Nhw1lxLPcTKWJGhtCgjPD1nHUAeq2GnnWhyQfz+jtx0O+0KB0/pTL4FoNcOWxaRKbByliJNbEKEiUlpfPFIZnHU01Pn9oWSYxRmAIKklESjBIbcjGQx0SRTl70qYEpPlhhRc4RbLn1oZw+lDMGTwv4EbFRcilFRCEdSoKJL6GAAfSwgm6WYJdFt21lJKKDhpaF5behazC4FRAG1Q4f0VgKWsOxUTB1D9ScCr/5QF+3j4/jRQtB8Fpo0F1Eb/05JWt/0IoVhVm4h4coMNO1a44fA82b2zBwoANt24YyvvoWAAAgAElEQVRy/nxlzM01kyUqVizAgAHV6NdvH0FBfuhlF2b1jaDuOKFzU2lJkpg1axbXr19n/vz5WFtnXVZONoH7+pgz5wzTp5/k1KkelCypnmdBZqZEz573OHMmkePHy2Bvn/0ORGAgtG4D3w8UJX6zWpTsOgXdZ0HL2jDv+49Ht2QoYeF5mBgIrUvD7EaidPvHiEkXkUDLngqVv0cB6FVAROx8Ljx4A/3uwNUk+KM4tM7BJ+jac5H60a2iqEqWFZFPoXxP2Dsd3CplfV5cHBQuAnv3CMO5nFi27AXr1kVz4kQO9e2zoH//vVhaGjNjRkONrv8c+ZrNQr/1cSIg4C5DhwZw69b3Gl0/YcIjIiJS2bAhZxPFhATxt7jjL7F7lxXRceDcHRYMAh/3rM8LuAttt8KK5v/ry/NPbiRBj3CIy4AVJYWvzz+5SRp9iOY4dhi8FXWa8YxxWOH6wY5rd17SHFPaIP4WgkhhPvFsIR/6H4hBMWRSm6fsIj8lPxCUzpPKj8RwgPzoo+B1Ovi/EIL+kzTomg++dxDebh+iasnidyiVMHc7TFgFo9rDxK5Z76ru2gW+XWDyzzB0aPb3SU9X0qHDXe7dS+XIEfVEIRCefg0briV/fnO2bvXGILuQV5kvBnmcEHyN44QumDIliL/+usWFC701/pvPzJTw8Aghb15DNm1yVim1f80aGDIEjh8HF5esz0tOgVaDRATKgaVgaQHbLsKmc7BtoDjnygOYfRAK5IbfOry/ds4hmLwbfm4JgxuJ76Vlwqzr8Ms16FECplWB3NksJVKUsDoxgyXSa57ppVEy3YzRhnloYi7xQpGBKXqcIon9JDAHO4zeFuf+iWfcJJWW5KYzeThHMqt4jSum+GKNhMRjErn/f+zdZ3hU5dr28d+kEkoCoSWhhyogKqAIKCoISLEXUFRsWMCCvffesG5FBcSu294VpSlItRd6l95rSEKS98MKGJKZBNj7eZ69X+fPMUcOWPdas2aRuct5X9d52SBZolb2Pmplez4fbmbEBsZupXvFQBzqXSnwHI3EqiyumsrHiwPPoYubRd7YHjeTfs/TviEjz6dihD385asDUaj1frx0f+ll5seM4bjjePvtPdsU3rEjX7duv0hLS/Daa/vtk3UEbNmSo0WLZ9x2Wyfnn996n67x/yt7Mk7822cEQ4YMMWnSJDfffDNYt26ddevWycvb97LSUf47eOmln9x++ziff95vr8Wg3Nx8/fvPM3nyFuPGlS0GDR9Or9488jB33x1+Ip2TG0SznHV/4IHz4vXhxaAxCzh4GM9+H1TIeemE8GLQyhxuWUCDqXy2jvsa8Gc7HmhQthiUp8AMOUbJ8rLNHrTBYGv1tcoRlmtlqUMtc7TlTrBSP6tcaI2rrPW4jabLtsOea7f1yvFZSx5qwAWzOXsmWaV8BVvV5OuzeGY6H5RSnrJBOvddwIBHg6oRkUhJCcxT//HMnt1vz54pJk3abOPGUupplsLOCKEo/x383ceJefPWadQo8uKmLL78cqOePfcsPfL114NolCOOKL3djS/QoUXgixOJxRuDyKCyxKCCAp5YyiE/BqbOP7UOLwbtJLRbfE/hNYr9PV/JCUs+u52XrcBpVhksWeNiAdDFr58az+W1+K0NH7dg3Q72n85ZM/mlSLX20uamBQXBZkJRYmK46lQmPcXrY+h1EysjdE3HH8+Y0TzwIJdcEpRljkR8fIw332ykYcNEnTvPtGLF3kWGlC8f75NPzjB79loXXvix/Pz/0QKzUaL8y/zdx4l/lQUL1rv//gmee673vyQA33vvIkuX5hg2rOkeLdYnTw5Sht55p3QxKGs7xw4MIoS+fCEQg6Be1cAHaPaK4O/71w5MkeevDoyjYcVG/jmNty7+SwyasIKDPgwqcY05JvDZiSQGzc3hkuWkzy7wSMFqdRLyjShfRfXUTZZVWis3VKCWeFXEqiFOvgI/+qtMekcVbJGvSmE0UBtJ0sVZL98m2e71nSdM9a0lPjHHaAvtUKBgL+bx5WLok8KX9ZjTiLZJXLmS2rO5egVLc8OfVyOJV4/gnc4M+Z2On/LT2vBtj2wWpJBt2EanB1i+IXy79OqMG8kvswNfoR2lTNU7d+aFF+jbl1mzyv6ccXEx3nijuXHjNhg2bHnZJ0SgYsUETz/dw7XXfmXduqx9vs7flX+7IPTJJ5/YuHGjgQMHOvnkk3e9Vq9e/e9+qyj/Qbzxxq8GDfrMBx/01bbt3tUc3rYtz4knzvHbb1nGjdtPenpkMSg7m4su4oYbA/+F888P3272EjpcxpfTmPKP8IucpZs44S1O/Cd9W/DLRRwVJqx11jYunE39qUHEzUctGHcAp1UnUrXELPm+s91jNjrdKk39qaeV7rXBZ7IslyddrB6S3CTFcNU8JNXVUpypoq6SHCBBTbF+leNMqzX1p35WedYmv8qRX8bAEgpxVs1gwTNvO51+Zml25PbNqjGkG1eOYnspnf3A49m6PXi2pXHSSYwaVbpwtJPatRNVqRJnzpztZTcOQ2pqkg0b9u3cKP/7/N3HiQ0btktN3beQwoKCAjNmZDnooD1Lr/z8C04+qXRhY90mXv2ae88rvd0NozmuSeliUHZ+EBX0wBJGt+L+BiSVEkGfLs4KOxTtJpbKU7tY2H2aWCvl7ZpQr5BXGOsTkCXfsVbqqbxzVNpNYspXsEtQL6bfCIU4LIVXmvF7WyrFcuhP9PiVMesD0ScS78/koOeZ/GfJY60aMvUZUirQagBfTA1/jYMPZuoUpk3niCNZujTy+8XHx3jjjUYOPLC8jh3/MG/e3vV5qalJRo060zffLHLppZ8pKO3DRYnyf8zffZz4V7nzzvFOOaW5Qw6ptc/X+P33rR54YLHXXttPpUplp/OsXRtUmL3nHo4uJWB7ezYnXh5s3H42lEpFNmErlQte0xawNTtIE2uRQZUKgXcQpKUw/nq6tWR9NgMmcMwo+jdi+vG0ixCQMyeb/ktpOY9t+bxRN0/T5O2eS6qqV2wF16nud9nG+GtXoHZhSfkptu36t4ZoYJUXTTTcT36QZZ5cvSX7wQoJYjysixt1kCrJQhu9ab39zNbZfGdZ4kbLPW2Nr2y2UekT5XoJ3F6d+Y14vRYLc2k0l0HLWRJBGOpai99OpEs6HT7hmqlsCzO3r1aJz64MhLcO9zErgiZTsxpjR/L7XM69ufS5/emnB2u1U09l27bI7XZdu2aCF19s5ppr5lm2rJSFShkce2xTbdpkeOSR7/b5Gn9X/u0eQmPHjv13XzLKfzjvvz/DgAEfe/fd03TuXEqicBjWr9+hd+9Z4uJCxo/fT0pK5F/JtWsD8+jcXL6fTt26JdsUFDDyCy5/mgG9uP8CEhNKthnxE1ePCkoJz7uMamHWVpM38dCSIBqobw2mHUTLUiKy58j1nq2+sd3PcqSK1U6iLpLcpLL9xO9Kidhb8hX4Q64Jtptgu0dsFC/kXBUNkqxiKdpueiJjWjFwTuCb8UFz2kWIqO5/AE9N5fHJ3HBY+DZxsZzfg+c/pWcphqht2gQDxs8/03oPojczMxPNm5etbds980UpSvny8bZtizAqRvmP4+8+TmzblrtPlRdh9eodtmzJ16BB2SVS8vKC1Npbbi693Stf0aYJLUrpvictCcz2Zw6K3GZlDif+wY4Cph9ErT2o4lJZjBYSfGCr01Q0SpY0sbu8gnbSS3m3W+8iQef1si0GShYSslW+M63WTwX9lXTTjxFSRYxyQrsZVRenYRLPNOaOejy9jFNn0KAc19YOKjgWL6rTuwlz1tHlFS5uw91HUfS/tXJF3riFl0dx2l1Bv3n/AMoVG5Pq1WPCtwwcRJu2fPZp5D4zPj7Giy9muvbaxTp2/MOXXzZ1wAF7nipUq1ayMWP669TpRVdfPcqQIX9vj5Uo/7n83ceJf4UZM1Z7883f/PFHKR12GeTnF7jwwlkGDszQunXZFQrz8znrrMCrbvDgyO1ycjjtKjZs4qNnqVjYfeXlB6lNzdI5vAnvfk/1ShzRNCgtX70SC4tEuiTEBZEvJ42mSUogftQvdps/yfKqDX7M3y60sYrvVlfUt2KcXxoWaJIQ8p1sLZWzpXCroKVEjSUYb6vekmXbYY4VtllhsUTs9F/YYX8JvpfsI6t9ItnpUtUWb6YdNsr2m9Wy5FppqzO1VEuKQ1WwVK6ldlgq1xw53rfJAjn2k+hQ5bVX3sHKSwnjRRQTokvF4PXLdu5eTZO5nFuZG6sFpe2LkhTHvW05oyEDJtL+Y97rQsNia4CEuCBl7Jb36Hg/H19O+zAZ6dWqBD5PR/Tnojt4/s7IKdH33sukSVx6KSNGhG9TlO7dU/XuXdXll8/xzjtl5KOXwr33dta580uuuKKdmjX3fj3xdyWaRB7lX2Lq1KXOOut9r712ku7dy/azKMqyZTk6dfpDtWpxvviiWali0J9/cninoILYt9+EF4PWb6bv3dw4jHfuYMjAkmLQwg10e5U7xvP6SUF6WHExaOF2Tv2Drr8GC4S5hzCyaXgxaKU8Q23S1XJdLDdLrrNVNEGGn2V4QTUXqGR/CfssBhEsaFpKcLFkr6phltqGq2aibIda5mVbSk0pS4wJPDyurU3P34LPGPZ9QkHp5fsmsGJL+DZwQU8+m8LSUjbq4uKCNJXRo/fsMzZsWM78+fsW5RMVhKL8N/GvCELz52+XlhavfPmyjSt/+KGwTG0pYfsFBTz/CRf1jtwmvyCIHLyuA7UjiMk5+ZzwOxkJjG+1Z2LQTh6V6iVbdLTMwzYYIlVIyJlW+VmQGtVJOUdL0t4yHSzTSoJjBFFWd9pgkmyv2lIYJbTCO7aCHQp0slxfq02V7QjLDbGx1PupkcBd9VncLqiGdt0C2v7At8VOS4gNTLV/GBBECbUayriFu7cJhejfnR+eY+JvtBvIH8XaEJjxjxjO1VdxVOfAeyMSMTEhjzxS1+DBaY44YoZvv91U6ucpTt26KcaM6e+113711FNT9urcKFGi/Odz++3jnHPOgTIz962SJbzwwnJLl2a788492+h94IEgRWjEiMiRpgUFnH8rf67gsOMZ8ArnDOf7hbv73Fzahf3Sg0pil7/OW1N5Y0pQbWwnr87lsE85vwmfddtdDCoojAp9Nm+DKZviTFmUbkviNmc1XGVEBo0L1wZp4q22wzpB6ExFsVooZ7Udtsn3vtlGW6CeRBstc41fPWONAuUMcIDLNNVGeUOkOk1l8UK6aaCj2p4wzdtmCmGcxVbZopFEnVRwhsquVd0TMoyWabJGLlZVlgL3We0gc/S2wFBrrRE+ZL9VOd6uw7QGrM0LhKFLlvNnmKlwiyqM70mXDNp+xGdLSrYJhbj35MCTqeujfPRj+P/DmtUCUWjcVG4YEr4NxMfz5pt8/DEvllGoYiePPdbImDEbfPjhmj07IQyHHFJLly6Z7r9/wj5f4+9IVBCKss8sXrzRcce94e67j3L88c326tyFC7N17PiHtm0rePfdJpKSIv8qzppFx8M4rCP/fItyYUzPfp4XVHbZksUvw+h+8O7H8wsC0+j9h9Iwld8voWfj3dtszeO2hbSYHqQNzDmYhzOpXWxhs02+N21xqlVaW+orWc5Vya9qG6G6PiqqLy6MK8a/jzghHZXzoRoekuoZm3S2wmhZEXOUQyGuqh2UpT/5j8CwLhyd6tGtIbeWsiCpl8bRrXnxi9Lvs0tnRo/Zs8+0M0JoX6hQISEqCEX5r2Hr1lwVKuybIDRvXraGDfdMbRkzJjCSjlQVBL77nWVrOaUUj6E3fmPpZq7pELnNVfPJLuCVpqWniIUjU7xP1PSNdF9I00IwWx+hulZFjKGvl+JLaT6T5k5VdiWM3aqy39TyuhqeV9Vw1XaJRXFCRqrmXTV8J93zqjnDnkXUVIjlslrMOjhIEe75G31nsLiYbt20Gt+cw+WH0PsNLvmUTcW6ska1mPgUvQ7lkIG8HkYoD4WCkvRPPB5Ew77/fuR7C4VCbrghw8MP19Wjxyyffx7B/CECmZlVfPBBHzfeONrnn8/Zq3OjRInyn8uPPy73ySez3XJLp32+xrJl2a6/fp6hQ5uoUKHsDn3s2CAi5O23qVyKvd3DIxg3jVbd+W05d51AZnX6DmX8LHYUSUO67TguOTIoPf/ZL7w6IEgRy8nj8snB693O3HxgsJlZlPyCkOs2ZPkkO1uzLdX9Wqucf5avZnZsllmyhYTMs94Uc2SZa7LVNhUKLzkKVBNnlSw/WOEQjb2vouVSzbVayGb1lRMrRhUJKom3RCDK5ykQI2SzHCdq6iGdDXaIPPm+Mj/ic6khzrGS3SfNmEKB6DypvrFVB/MMtNS3toa1imhZjrdqM70B6/NoPo/hYdKd42MY0o5n2tNnLHf9GKyNijOoC69cEJSmf25c+PutVTMwAR/2Dq98FPFjqVUr8DG87DJ+/TVyu13PoUaCRx9taNCg2TZt2jdPUbj77qM899z3liwpffMnyl9EBaEo+8TmzdmOPfYNJ5zQzODBpeQNhWHlylxdu87Qs2eKESMyxcVFFk6mTeOwwzmzH889F35hM/oHOg3mwt5B9asaxTZE5q/niJE8NoWP+jC0F8lF1lMFBbyximbT+Gp94A80oilpxaKLNsv3pI3aWuY5m3VWznQZ3lXTGSpKKePrlC3PGtsstslM63xvpW/96UsLfWa+6Vb402a5ZeQSFyVUWKb5G+nOUtEga51mtd9ENhx9rCEJIS6dG/m6Dx3Na7/y04rIbS7szQuflp5H3KUL335bulnqTjIzE82fv2+CUDRCKMp/E/9ahFC2zMwIpUCKMXoMnUupGAbPfczZ3UiKoDFtyw28gx7osns6VFFeWcnrq3h3v8hiUE5ZnmdCYgtfO0koZjcdwnbbLbbWOIt8Zr5xlphplZXW22KLGDmSFeyWRpspXkPxMsVrKl5aKdny39puUbEd2XIx3FiXWW2DvnO/6dy5aHej/tgYLm/HLxczey0tn+XrYvP/+LjAlP/dO7nkcR56M7xH0Tnn8PprnHU2w4aV+tgMGFDD8OGZTj11jgkTNpfeuBjt29cxbNhx+vZ912+/rdqrc6NEifKfya23jnXxxW3VjhTOuQdcccVcvXpVdcwxZReIWbEi8IwZMqR0e4DPxnPXM3zwFBWSuOdEDqgbCD9ntueRL5hbpBtKjKddQx47nRHn0akpy7fR+XO+XcH04+heu+T7zMvhyIV8tD5elaQcz2cUaJBAXQkaSTTVNhtle9dMG2Vrqaop5hpRKNgslS0O62xWR7IEsS6S6n0t9VJFFVm7Iv4rSVBZoj8FfW+skFW2mWe9BoJKCskSJYqVVzgG7slmcQ1xTpLidXWN0kBd8a60zBHme9oaK5Wc77Yox5u1easWt67m2CUsDzMtPr0hE3vz8lyO/5oNYabdJ7bhiyu58d2gkls4GtfnzUe55E6m/hL5s3TtyjXXcMopQdXTsjjnnDSNG5d3yy0Lym4cgVatajrhhGbuumv8Pl/j78a/3UMoyv//5OXlO/30d9WoUcFTT/XYqxKBGzfucMwxMx1ySEVPPVW/1HO//pqTTv6rJG84XvuaC4fw7OBgUVOcUfPo+y5n7M8XXahQTOT5aQuXzWX+dh5swBk1Su40rJNnmM2G2aypBE+r6ijlSu3Ud8i30EazrDfberOss8RmBUgSp7w45cXv+hmDVbKssNUO+apKkqaCNOU1k6qT2iqKbLadIGSASk5TwRM26m2lIVJ3lWjerW0Mbzen9Q8MW84F6SWvl1kl2O2+8kvGnB0+/Ld3ewY+wajp9GgX/r5atKBiRaZMKbv8fMOG5fbaJHUn5cvH27o1KghF+e/gXxGE5s3bLjOz7Aih7GwmTODxxyK3WbeJt8cz/dnIbR75jlqVIhtJ/7yFS+YEfUqDCD7Zf8hxnjU+U1NqGF+EcOyQb5oVfrDSClstt82qwh3S6sqrqYJ4MbbJtc0O2+TKKvyZj+qSNFFFE6maqqKxKpL2YMozWpYRNjteBZdL1rhIhFJGIi83Y+AmLp/HiBU8msnJ1f7qIzOrBBUbn/8hKFpwa6cg1a5oH9r9YMYNoeeNLFnF44NKbnYcd1zgJXTc8axezQ03RE7D6NOnqo0b8/TuPcv48fvtladQ374tzZq1Ru/er5sy5YKo50KUKP/FfPfdEuPHL/Lii8fv8zU++miN0aPXmznzkDLb7tgRiEFHH82FF0ZuN2Mep1/LsLtp04JrPmXU77QtzEa7/XhO+UcgCg07NzA2XriWLvsFvpWxMUxcySlj6JrB0I6UL9adFxTw3HquXcU5KbxXM9aloUSjbXF0obfcgZJMtU0Va+XjYq1ly/eAX4y1yFgJtsl3ixrKy7ZJtkYSZKosR56aKprjr7KR5cSpIsmiImnIVSVJFGeUBWLFmGud2da5SGS1LL8wsigc9SW4QQ1XqW60zd6w0VPWOkcVg1SVXGxM7VGJ38pz2XJazueZtKBaWVFapTLtOM4cz8Ef815n9i9W+PSwJnx7A0c+SHI5BodZY3XryD1XcMJlTH+bjAhm3rfeysSJDBjAG2+UXrwiFAp57rkmDjxwun79amoXyfS0DO6880itWj3ruus6atx47ypf/x2JCkJR9pprr/3KvHnrTZp0vvj4Pc8NyMrKd+yxs2VkJBg5MlNMceWlCG+/zTnnMvTZwKSuOAUFwe7qva/x/p10O7jk8Ucncft4nu3J2QfsfjyvgIeXcNdiBtfi8/2pWOyjrCr0BxppizYSjVRde4kRhaDFNhlriV+sNs8G8WILFyRVnKOFxqqorNxuO+DFyVdgne1W2GqlrZbbapRFnveLjmrpqp5WqkccOFLEuE0VhyvnfGtske/sMCartRN5az96/8YBFTk4jF/gTYfT+Gk+nMUJYTICd5lLfxJZEAqFghKUo0eXLQhlZiZasiRHTk6+hEjl2yIQjRCK8t/Evxoh1KVL2ROkyZNJSWG//SK3efXr0s2kl27ioe/46sySQjmsz+WkP7iuDj1SSx6H72U7w2oXqaTKHgQlL7bJVxYZbbF4MTqqpb0MaSpIV0F15cWVcp0CBbbItaBQkJ9lnY/Ns06WOpI1V1Unte2vWth+9A5V9FfRkzbpYrnuyhsseVcaGxyazOQDg8iogXN5bw3PNmanDV4oxEVtaJseVLH8cQXDj919Q+Kgxkx6mmOu59Q7ee3mklFanToxfhzdjwlEoUceiWzgeeGFNaxdm6t791kmTmyuYcM9iyKD2247wuzZ65xwwlvGjDlbUtK+/W5GiRLl/46CggI33zzG4MHtVK++56JwUTZv3mHQoDkefbShGjUib0Lu5PbbWbky8ImJtMhfv5HjL2XQ6fTtGfzbHcfTfxhdW3Bw4fjzVD8Of4DFa/lxMRUSg3kmvDWf8ybwYFsG7VfyvZbmcv4yfs/m/docXZF8IW2U95HNuwShtpK8Z6NjxVgpy3K50sU7RwNrrNFTeT0EqsZmCfLkWydLpspihVQQL6GIAFNOnHpS/Ga1X6wSL0YTVV3kIG/6w8t+la6iEzRVO8xcfCf/8L0FNmgtTWtpmkoVW2ycSxDSQ7Iekv1uu7utcpT5rlJNH5V38ylNjeW12ryziYuX8/5m/pFG1SKr/iqJfNyVu38KqpB9cHTgMVSUFrWCCmRdHg5Mvfu1L3nvV5zFzzM58TLGv0y5MPtVsbG89lrgZ/jMMwwqw+u8SZPybr65ngEDZvn++zbi4/c+oalJk6r69dvfHXeM99prJ+31+X83oiljUfaK556b7uWXf/bJJ6erXHnPJ5y5ufn69JkjP7/A2283KvXLPXw4550f+AWFE4Py8rjsSR5/l/GPlRSDtuXS732emMr4/iXFoD+zOfoXhq9g/AHc12B3MShHgcdtdIhl5tjhbTW8rYYOYaKC1sjynjkuNdrlxlhmi54aeFoXb+ntXofpr4VDZagqqVQxiMA8upokLVXTRT1nau5xR3ncUSpL9KBpzvel182wUuRajkdJ8qYa7rHB08Ibjh5VmTvrccofrAmjpSQncs9RXPMV2RFSec/pzmdTA0PvSHTpzJg9KBZSq1aC+PiQhQv3Pm2sfPl4OTl5duyIYIwUJcp/EFu3/qsRQmX3vWPGBGJsaTtxr34VfIcjcdMYjmtK+zolj+UXcPYs9ivPLWFM/mGC7U6zyrVSXCUlopi+Va7PLXClsS43xlrbXetgLzrGhVrpKVNrNaWrWKoYRBCOX0mCVqo7VRO3ONTLenhJD2drLk7IA6bq73PD/Wq+DSV81xqI95iqvpOhmhi9rHSpNVYXSeeNCdE/jV/asH4HB3zPxGJ2BW0ymD6A5Zvp+GJQ1KAo9dOY+CQr19P1WtaGsTs44AAmTuDDj4JxsbQU3RtuyNCvX1Vdu860bNke5OnufGahkOHDjxMKcd55H0XL0UeJ8l/I6NEL/PzzCldfXYrZWxnccssCjRolOeectDLbjh/PE08EG7gVIwQW7thB32tolhlEkuzk8MYM6MSgV9lSGBielkKr2oEQ1Lcdxx4Y/Psrczl/Au8cxaXNS45p728KysinxfFrw0AMIphPnyTZN7b4XfAmv8jSUyXVlbdcjgWF9gq1VJKABmLlK1CgQCUJ6kgx3XL5CsSKMc1yjQS+FHnyveo3Q0zxu9X+4XtzrZcjT0UJLnCgexxhkDYOlh5xIxfO0tKxGltpq3tNdKaPPGCSaYXvXZwWynlDHfdJ87x1eltoQmEhhaKcksxvDdmWH0QLjS3WJCbE7QfxTIcgfezzMGbTBzfg3UFc+BJfhPEBCoUYekcg+lx4e/g0aKhRIzCZvu46fv894qPYxbXX1pGfX+DRR8Pc1B5y221HeO+9GX79deU+X+PvQlQQirLHfP31fFddNcr77/fRsGGE7eAw5OcXOP/8BRYtyvHJJ01LrY4zciSDr0yXbT4AACAASURBVAxC5Xv1Knk8KzvYTf36h2B39aBixtCLNnDYiyzZyPQLaFtM7X53Na2+D0oJ/9imZGTMBNt1ttyHtnlbDa+oro3d5e7tdhhloRt961xfmG6F4zXyul5u1E4X9dRWqdTOf2+pL8UArbyshwH2N8d6A3zpaT/aFiaXGA6R6D01PWOTe8MseuDq2sEzOH1GEDVVnPMODHa1n5oa/r4a1uKATN77NvK9d+4cRCtsLTlW7UZMTEiDBvvmI7TToDcrKxolFOU/n23bclUonr+6B2Rl5Vu2LHePTKVHjwnE2EjMXcpP8zgpQuTetKW8MyPwDgrHfYv5Y1tgIh0ueugL25xltftVcUGEndF8BT42z9k+94UFjlbPK3q6zsEOUuPf2odWlaS9DJc40Ct6uFxra213tfEGGu2fZlkra7dzaotzv1QTpdumQEfLvGTzLi8IAq+5T1sGkabdfuX2hewo0pfWqBCkkB1Wl7YvMLaYLULVFL5+hBqV6Xg5C8P4tjVsGJSlnzw5SMvIj6B7h0IhDz9cV6dOlXTvPtP69XtuylmuXJwPPuhr8uQ/3Xln1HchSpT/JgoKCtx002jXXddxrzZrizJ16ibDhi333HNNyrSC2Lw58Dq7777AGiAS1z8aVBR79cHdoxtjYriqOy0yOOx+Rk7g2CeC0vMpRVKPh81i4Hd8eDQ9im1MFBRw32rOXsYLGYysReViy4tGEg1U1dPW6mJ+YbRQRekqqoIWhYkycWLkyLNVrpgi3nXHamSFrZ73o2f9YLNsLQpLz8cIaaGaWx3mNcd7Tg/HarxHqcnFqayco9RztXZedpy7dFJHJU+bbqAvfGJOibl+SEh3lYzSwMmSXWKpC/y5S+TaSVocH9bhjur0Xsyw9SXf/6xGDD+MU8by4aKSx7u2YPi5nPoMU+aVPJ6YwHtPMGYKQ0ZG/pyHHx4YTJ99NrllTNcTEmK88EJTd9+9yNy5kTfAS6NevcoGDGjt1tKq5ERBVBCKsofMmLHaqae+7dlnezn88Hpln1BIQUGBK65YZOLEzb78sqnKlSN3lC+/zKWX8dGH4dOL1m3i6GuC3dSJTwa7q0X5ci5th9GuFqPPpqgVwvpc+s/kgjk81zgwjS4aFbTIDgOs0d9qZ6roK2kOLiYEbZTtdTOc60sfmOtgaV50jPscrqt6yvufD7OPF6ODWm7XwXO6WWaLS43eZWhXnJYSfKSmd231ZJhIoVCIF5uwJJunlpY8PzaGIV2551u2R1hb9DmqdEEoM5P09MBHqCwaNEi0aNHeC0KJicHvVVbWvlcliBLlf4vt23dITNzLUlxYsiRbYmJIzZql9zU5OcH37YhSKod9MIGubUiNkH12+3gGt6NuSsljP27h/iW815wqYW5lsu0uttY/VHWa8FvH2+S63XfeN8etDvWEznrJLNyn/Z8lToyDpbnOwV7Xy6ma+NVq5/vS4763uFhfWUucEap7RjX/sNkxVpjkL7+zmBCDa/Pdgbyzho4/MaPI/DU+lqd7BGb9vd/koYm7V3dJSuTt24P/j/aX8mOYol/p6YwZzTffctFFkUWhmJiQYcMyNWxYTs+es2zevOdFCmrUqOCTT073+OOTvfZaKS6hUaJE+Y/iyy/nWbRoo8suK9v3Jxz5+QUGDpztxhvratKkfJntb7qJBg249NLIbd76nBff58OnSQ4zDCQl8OL5nH84i9dxSCYfXv5Xmtjw2Vw1lU+7lUxlyi3gguU8u55v6weRMJG4UFXXqW6k2j5W3wGSpKmognjfWryrXeAyF2O5LcZZJEeeasq70EGqSlJVkou1VrfQLDpfvjriFFhlikk+86lPfBT29bnPTDHJHHOss05eKcVjYoU0lqqflobppa/mxlrkPJ8Y5icrbNmtfaIYA1Q1Tqaa4vSywD+LbQKHQlxUhc/qcv0qblxZMpKnTyavduKM8Xy0WAn6tuO+k+n1BPPD1CBIqx4Yht/+NGNLme/feWcwR3nkkchtdtK+fYr+/dNccUUpVXDK4KabDvfVV/P9VFqVnChRD6EoZbN+fZbjjnvToEEHO7t4/lUZ3HjjEh98sN633zaXVrxsVxGGDePKqwIx6KgwVXH+XE3362hSm9dv2d1roaCARyZx53j+0ZP+xW7xq/X0n8VBFfm1ze5l5DfL97hNhtvseOVNlF6iAs1SW3xgjq8t1lxV12irtRqlmkpnybLSSqsKXyuttMZqOwqr1xSP1kmQoJba6qqnrroy1BJfhsCUroJ7HOZlv7vaeLc5dNfORVEaiTdSdcdZqaNy2hYTuirF8UADBs3lkgwSi8nEnRtQKZEJizk6s+R9tG/Ow2+VeqsyM1myB1GfFSrEyMra+7Svnf5B+1rKO0qU/0321fMqKytfhQqxZe7erlgRCAb1StHuv59Nhwg7u1tzGL2AJ48Jf/y+xVyQFviPFWeDfAOtdavKegq/sFgry+2+kyzRU7qosAdier58q62y2CKLC/9sLTYx3tknh4RUkaqmmmqouetnsuQS/XaSOJ3V1Vldi23ynjkuM8aBajhZY/urtuucoyXpKNHzNutntSOVc5vK6hfe/wEVmX4Qty+i7Q/cVZ+rav2V4nDeQbSqyanvMG0ZL5/ATrue2FievIza1TnqKj64myMP3P0ZZGQwdgyduwTpY8OHha+8GRcX8uabjRx77Cy9e8/yxRfNJCXt2f5fixY1vPXWKU4++Z8aN67qkENq7dF5UaJE+b/jmWemufjiNvsUeQrvv7/G8uU5rr46TH5wMX7/PZiz//hjZE+zRUu56A5G3kujMvaQLzu65L+9NZ8rJvNZNzoV2/zdms9pf7IklykNyNiDaV+DMBsNJ2hisqVmWWe5LRqp4gA1zLBGnJhdFg8ZKjpJE39aYqZJxlpunbU22CBGjCpSVZWqilSJwkfv5so1xxxrTbbeOiEhlVVRVVUZMjTVTLoMMcXiNOLFOFI9R6hb6Ic3x0BfaivdOfaXUST6tqo490pzjEqutMx3trlHTRWLeB4dUYHv6nPMYpbtYFgG8UWGxBPr8wpOH8dHYTyFLjs6qAR3/FN8dxOVihWSaNuSh6/lrBv45X1SK5d8FomJgY9Qz5707x+Ma6Vx1131ZWZOMXHiRh07htmhKoO0tIrOOKOloUOnGzq0916f/3chKghFKZUdO/L16fOOFi2qu+uuMuoXF+Ppp1cYPny1iRObq18/corDs89y/Q1Bmli4yKCZi+l2Hd3b8uyVf+0eQG4egz7nk9mBX1CbIh1LfgH3LubBJTzRkPPSds89HiPLldbJFOcjNbUqNmDMsNa75phmhcPV9qgjZArTuwkEoNlmmWmGJRbbZJNkyWoULkRaa6O66hIiDBbbZVliicUW+c4E222XoZa66mqhpdrCD9IxQs7RUnXl3WqiK7VxuJJ1OFtJcL0Ul1hjtHTJxQad46py88KgdPS5xQbfUIjuDflyXnhBaP/MIGpr5TpqRsgkzMhg2bLwx4qSkBAjJ2fv/Ss2bcoWGxvaZ1+WKFH+N0lJSbRx495HwuXkFEhIKDuNatkyatYkrpQR/uf59AszEYdxC6mdTKMw3+f5WXy0ljkHlzxWoMA11tpPvPMiRAYtssltJjpAdZdpXVhjMTwbbfCTHy2yyJ+WyJe/Szhv5UApwk8O8+VZa62VVvrTEt+bbp21EiVKL5x8N9dc5UIviJ3UlWywNs7WwsfmucdkaSo4WWOHqS1WSJIYV0hxuooetMGRVrhOiotUCo7H8lAmJ1YLUnEnbGRk078Mp9tmMO0CTnyLI1/io75/RbOGQlx/epA+1vsmXr6Bkzrt/tlq1w6Mpjt34ez+vDQy/P9zuXIxPvigiW7dZjr77HneeqtRqYUcitK9eyN33XWUE098y7RpA2RkRDZDjRIlyv8tixdv9MUXc/3jHz336fy8vAK33bbArbfWk5RUeuRqQQFXXsnFF9MsTLGRnW0uupOTu3JChDGmND5dEhhIv3NUSTFo9Y4g7Skphm/ql0wR2xsOU0ddKX60QneZmggGvP0KN1a32WauOWabZY7ZQkKaaKqZ/VQt/JMspYSIUxZ58my00VprrbPGIotM9qI4cZpoqommGmq0m7gUEtJMVc1UtcY2b5vpcl85UROnaCaxyHL+cBV8poErLXOshZ5SS0t/pRE2TQxEoZ5LOG4xb9ehYpGPcFJ9tuRywteMOob2xSqHPdqHY4Zw9rDAW6i4KHhxHz4eyzUPM+Le8M/g8MMDW5CbbgqsQkqjWrUEgwfXduutC4wZc2DpjSNw8cVtHXnkSx5+uKtKlcpOuf87EhWEopTKtdeOsmzZZpMmnb/Hk0n49NP1rr9+ia++aqZJkwi1iAWGdLffwZdf0D6Me/3UGUFp3ouP5e7zdhd0Nmzn1LdZvY2pFwQLmJ2sz+WsWczcxsQDd9/J3irfHTZ4z1Z3qeIMFXbbNV5hq2F+9aNVempguG6qhdnp3mKLmf7whz8sMF811TXXXDuHqqGm8hF2xyNRVz0dHaZAgXXWWWyRRRYaaYSmmummu5QIglQvmapJ8pBpVstyokYldsIvUslY291mvcftXoIxJsRF6YHRdnFBCLplcu8EHg7z3pXKk5nOL/PpGkEQSk9j+fKyn0FCQmifBKGNG7dLTk4sM3IiSpT/BJKTE23atPeCUHb2ngtC6emRj2dlM2sJrcIIvDBqfvCdD8eLK+mZSt0wNhXv2maKbGOlh42g/MVq95jsOA31s1/EKMscOSb4xkQTNNRQE00craua0sTuYdn6NOlaaLnr77lyrbbKEkvM8IdRvlBTmuaaa66F6v6a9aYqp78WTtPUVxZ50e/eNttFDrB/4WKhhliPqqqvii611peyPKGq+oXTqvbJfN+afjM5+Efebc7+hYV/qpUPfIXO/5h2w/n0dFoUmXSf24OqyZxxL2s3MaDYpmZ6OuPGcnRXzujHa68SH0YLr1Ah1gcfNNG+/e9uummJBx6I4P4dhiuvPNTPP6904olvGT/+HOXKRaeLUaL8J/LCC9/r0aOxOnX2PnoC3nxzlW3b8p13XimDRiEffxxEBr1VSlT4Kx/xyyze3IOUoOKMXU6fsYw8vKRn0IIcui/mwHK8nEG5IkJEXmHcfVwpkfvhqCtZXX8tHnbY4Rc/+9EPllishhqaaOZMZ6ul9l6LP+GIFSu18A+NtdNenjyLLTLLLF/7ytveUl8DbbTVXIvd3rea8i7RWlcNDPWDsRa50EEO8deOeA1xXlbHs9Y61SI3qOFslXeNuenxjK/HiUs4aiGf1qVGkS7+7MZszqXnKMb24MAiS4a4WP55CYfcw/2fcvOxu3++UIjn7qDFcZzei64RPM4feiiogjpwIIeUkel41VW1PfXUUmPGrNe5c5XSG4ehTZsMzZpV8+qrv7jkkjC7WVGiHkJRIjNy5E9efvkXH37Yd68U1Z9+2ur00+caMSJThw6RdxYffpg77+KrUeHFoFHT6HINt57FPefvLgYtWE+HESTG8e05u4tBP26hzY/BL/f01n+JQfkKTLHdUVaYI9cY6fqpuNuiZI0sl/haRfGG6eZ8++8SgwoU2GGHH/1gmOc94kE/+lGmhi5zhUEuc5Qu6muw12JQUUJCqqrqIK2d4CSXGSxGjCc9boyv5RQzjNtJO+nud7h3zPaCX0ukpcUIeViq92w1O4wR9Rk1mLaZ2WG8247O5PdVQbWccBzQkJ/DGM3tJCODZf+DgtCmTdmSk6Oqf5T/DvZVEMrJyd8jQWj58tLDsH9fSHJ56tQIf/zLeUFUYHHyCnhpZXjROEeBB2xwmyqqhRFtvvWn233nfPs7U/OwYlC+fD/7yZMeM8885zrfGc5yqA4y1NpjMSgc8eJlqKWdQ53jPNe50aHaW+pPz/qHJz1mnLG2FanemCTOcRp6QVdHqO0O37nfFKuKtDlYojHSNBOvs+VetmVX31s1PjCcPqM6HX7itSKFThLjeOUEzj0wqEA2qlj/eVxHPn+A657n3ldL+j3UrBmkj82Zw2l9Ak+GcFSvHu/TT5t6/vlVXnghjPFDBEKhkOee6x14T1z0SbTyWJQo/4Hk5uYZNuxHl1zSdp/O37Ej3x13LHTbbfUkJJS+JMzO5uqruftuqkRYk69cw+D7eeZWKpfi6xOO2Rs5cTRPHsqpDXY/NiubDgs5piJv1tpdDFplh36WGGHd3r1hEbJlm2iCxz3qW99oaX9XutpAlzlaV3XULVMMypcnX27YV0EpnkEEIlEDmY7Rw+UGu9QVGmrkS5970uOmmyq32Ly9kSoe0tlp9vOEae42YTd/oVghl6rmpUJh6GJLbSxyH8mxgadQowQ6LmRZsWXBoOZct38gCi0vti5IrRiIQvd+Gt5kuk46D1wVVB3bEqGgTN26XHMNV1wRuTLZTipXjnfNNXXceuuCfR6LLrmkrWefnR4dyyIQ3fKJEpZJk5YYNOgzH33Ud68qii1dmqNXr1luvDFDnz5VI7Z7+mkeeJDRX3PQQSWPvzGaCx7lhas5o1iVm0lLOP4tTm/JkG6B8fFORqzg8rncXJfr6yBU4Hm/OlI9b8o3wmY3qOzCCFXAqknyjKOlC7ZyFxsl23qVHWimZaaYKl6cdjo4TV/J9nLE2wdSpDjZqdo51Oc+873puuqulQNKDFBNVDHEka42Tn3Juqm/2/F64vRV0cM2eqGY31C1+CB1bORK7is2GKcmBakOo+aX9GiibEEoPX1vUsb23kNo06ZsKSn7VlkjSpT/bVJS9lUQKihz0k7wXcsoZbP353nBdzZcQN2iDcxbH3iHFWfMBnLy6RFmMfC6LZKEnBRGDF9kkyG+d4NDtBP+xhZb7HOf2mKzbo6xv1al+rT9q5RX3kFaO0hr2bLNMds0U31rvNba6KCjKoUpBPFinaqpzuoa6XcX+copmjhZY+XEqSDGg1L1kGSwdb6wzRCp0sSJDXFHfdolc+ZMJm1mSCYJMcHzv/2IIDXvxH8G49lFbf66x8NbMf4xul8fpOU+Xiw8v1q1YAztfgz9zuStN8N7ejRtmuT995vo2XOW+vUTde26Z5EE5crFee+9Ptq2fd5jj0121VVhdm6iRInyf8aHH86SlBSnW7cwCv4e8PLLK4VCnHVWzTLbPvkk5cszYEDkNpffx9Htw6eKrdjIuJmBOXFxNudywmgubMp5TXY/tjw3iAw6O4UHauw+bv0pVz+LHSBJv2IpwHnyveEPPTRUVfhMha22muw7U02Rqqqeemtmv1LFn2ybbPanTf60ufC1yZ+2WkmYar4QEqOCdMlqq6T2rp+V1JIQJr26qqoOc7j2OvjVLyb4xhijtdfRwQ5RrjAFLEZIN5kOVcsrfnOZUfpq7iRNd42fhyjvcw1cYZkzLPaKOlILl/+JMbxWi/OW0XMx4+uTUmTf5YZW/LGBU8cwpgcJRY61rsedx3PG8/x0R0k/oYv78Man3PoUj90Q/lledx3Dh/P66/TrF/GRg8svr+Wxx5b44ot1evSIvL6MRJ8+LVx11ZcmTfpThw5le2X93YgKQlFKsHTpJied9E/3399Fly4R8gbCsGVLnt69ZznmmMpuuCHy9vS773LjTUFkUDgx6PlPuPpZ3r2DY4qFEb79B+d+yP1dKFpMISc/MEX+cC0ftqBL4bjwmQU+NNe7VinQ2JcyNBJXajnjdBXskOUnj9pqtS3K2+A9IWl6uUhTzSIOFvlybbXcNitts2K3V5Y1YiVKUEmClMKfyeIlK6+Gmg6VGMETA2qr4wIX+s2vRvnCFJOc4jRViwk7aSq4Slv3maKFamoVG2wGS9bBcr/J0bKYb9K5aVw4m7vrE1vsEXXLDHaxIwlC75ZSaSwj4386ZSwaIRTlv4fk5EQrVmwpu2Ex9thDaDn1SzHy3CkIhWPUfA6tRbiv04srOKsm8cW6vyz5HrPJParsMuLcdc/yPGSa4zUMKwblyPGRD8w0w2EO18FhEsqoNJYnxyrTbbZQjs1ybJJjk9xdP7dKlKK8tGKvmirIEFdMtEqUqKX9tbS/ZZaa4FtPetx+mjvM4TIExspVJblaW71kGupnoyw0QCuHFR4/UpJx0t1knSOs8KhUvQvfq0dqkEJ28h90+jlIIatV+Iz77U/d5EAUmrOWh7oGabzQqiHfPRX46K3fzMjrdzeSTk3l88/oeBhXXcVjj4UX+o44ItnQofWdeuocEyc216LFnkWxZmRU8sEHfR111EtatKiue/dGe3RelChR/ucZOnS6iy5qs1eWDjvJycl3110L3Xdfpri40jcaVq4MIoM+/DC8kT188DVffceMT0oey8/nnOGkVigpCBUUcO63ZCRxX5vdj23Mo8dijihfUgxaKEc/ix2lorvU3G1ev0m2h0223nZHF9sYJfAHGmuMH0xXT319nKGBBmE3IQrkW2e2P31nqUm2Wqmc1F2iTprWGjtORRliI4xdebbbbOkuEWmBr232p2wbVVJHbe3V1kFKsXuIFetAB2nlALPNMsG3vjFOO4fq5MhdY2WyRIO0cbT6HjbZPOtd7mDlCpf5VcQaprYrLHO6JV5VR/XCYzEhXsgI/IROWhJEDe0sLhMK8VxHOn4SVHx7utiewNXd+eI3Ln89qBhXlJgYht1N61Po04NDw6wdKlQIUseuu44TTgj+HolKleLccENdt966wDHHpO61RUSFCgn69z/A0KHTo4JQGKKCUJTdyMrKdcIJb+nZs9Fela/MyyvQt+9cVavGGTq0fsQv6oQJ9D+HN17n0ENLHn/1q0AM+uJBOrbc/dhLPzPoM946mV5FdhA27wgm2et28EPr3auILZNgrZoOlCTVEk3U3dXZ5iuIKAytMs9Sc/ysvkYaO0AnWaZLNEeM5goUhB045nrbbG8or+auRUgVzdRypCQ15MvZtXjZ+cqyymrf+9mTqjtILUdJ177EooUgnWx/rTTVzNdGGWGYc12gWjFRqI2auqvvYdM84ghxRQSsDHHOVtGDNnpF9d3O61aFfEFltmOKBYZ1b8gJ/wzMuovPPQ5oyIxFZOeQGGY83BkhVFAQfrGyk4SEkC1b9i1CKCoIRflvITk50ezZex/evjcpY+3D9K87+Xke/buHPxYpXWzDDt5fy/dhRPyXbFFdjF5hdmFH+l2ckH6alziWI8erXlagwGUGRzSJJgjHX+MnS4213EQJUqRqLkElFdUSr5kEyRKkiFdBtvW2WWGr5db63RKjbbNCniypWqqpnTSHqljMhD9DLafpa711vvOd4V7QRls9/WXk00yqIY40xmJP+9Ekywx0oHgFCmxxva2OUd1ga/0mx3VSxAipXy7wtLt4TpBCNmp/mhZ284fXY/L5dH+NTTkM7fVXP9sgnQlPcMSVXPI4z121ez9arRpffE77DtSpE6R1hOOss6qbNy9br16zTJnSUs2ae2bCf8ghtQwd2kvfvu+aOvUCjRvv/e5slChR/r3Mnr3WhAmLvf76yft0/vDhy1WoEKtPnwi5w0W45Ra6dg1fBRg2bGLg3Tx+IzVLFrv11GhmLufnO0see/AXpq9h+nEU1aWy8wOBIi0uqIZVtM+bK9sZljhOJTcXq/q7yEb3mqi+FDfqrHyxKpYz/OFjH0qX4QIXSldyA7tAnjVm7BKBdtguQzsHGqC6FuKVolxEoII0aXZXvLJtssovlppkjBuUU1lt7dXSQaomuz5XjBjN7KeZ/Syy0FdG+dVTjneiTH9t3DdV1aOO9qBJrjfGTTqqWXivCUKekuEay/Wx2OvqSCt8NvGhwFy680L6/z/27js+qjr/Hv9z0hNaEkhC70UQUBDsBbCgYsGyCNYVO6trR3Fta1/L6rqru4hYQOyuYu9dmiIK0ntPoYQAIX1+f0xIJpMJxc/n+/t89mOOj3mo933v5M5N5l3O+7zOWceLrarHn5Q43jyaA96mfzMu6FJ9/zExTLiY3rfz6gyGRSwbu3Xgtsu56FZ+fCP6+mDEiFDVyIMPhiLpd4VRo1p55JE1Jk/eYOjQjF2fHAWXXdbPAQc85dFHB2va9Ndbe/xfRD0hVI8qBINBl176roSEWE8+OWSv2Ndrr11p2bIiU6bsKz5y+7gS8+dzyqk88jAnn1y7/e3vuOxR3rqrNhn03E9c9WEokSW8lCGvhCFzQxLHL3qHItQJ+f08psBTtjtKhZt18rrFHjFTQ/FO07mqk9yJMjsQb6oppvhANwEXOFk7/ZQrkS3ZSu/LcpAGmkclhTo5UxfDBX6FPVehbGt9ZanXzPY3WQ7UyiCZ+tXadUiQ4ARDxIv3rKdd6CLNIsid39vXNb4wyXwXqJkvfZXGDrTOTMUOCEsyiAtwflbIODaSEDqoNSXlzFpfM80N2jcnJYn5q9g/ygZyixYhj4vNm0M72nUhVDJWVvcJdaCeEKrHfxJ+vYfQXpSM1SHSDAZDBvDRFEJlFXy6jJuimEC+nEvvBvSImAdvV+FxBf6maS2C/Uc5PrLC3wyslSZWrNgLJogR41znR1UFBQVtNs9aX1rrawExWjnKIR6QGjZZ3hsUypFjhhzTLPCcZJmV5NBB0vUUU7Wjmm6Ikww0yDa1zdNiBByjnb4y/dVMV/tATyu0lClPrvY6etdxzrfBQqX+oakGYiTF8GzXUKrj4T/zfk/6V1rtdU4PpWUOeJ5L3+Wpk6on5VnpfPIQh/+R0WN58LKaC6QOHUJJnQMGhn73I0ZE//x33NHKkiVFTjlloS++6C4lZc98mc47bz+zZ+c45ZSXTZt2UX2Jbj3q8T+MsWN/cPrp3WVm7j05UVRU7t57V3rssc5iI+XgEZg1i0mT+OWXus+58WF6deW8U2q3zV7NLW/w8fU0iViDf7yWe37m6xNpFtalVARDxERBBV+0rxmNPl+Rc612tlTXaVZjHJhqrcfMcKquhutRY0zabrv3vGOpJU50kt72qzWGlNhqkcmWmUKizAAAIABJREFU+Qi0crB+/ihTr6qx4b8TiRpr43BtHK5csWyzrDXVN+4UJ1lnQ3R2oriwzZZ22hvpYjNM96KJ9rO/Yw2uKiNrItFdjvS0n1zvUzc7VM/K9UGcgEe08CfZhlllkjbaVI69DWNC5tKHruC6HB7Nqh5j2jfi5QEhj6eeaRwQRvq1SmPc77noWQ7uRNuI/YLrf8+rH3LfWP58Ve1nEAiEAoYGDGDkSNrtQt2ckhJrzJi2br99hVNOabbXyrgePTIcdFArzz33k+uvr8Pt+jeKelPpelThiSe+9/nny73xxjCJiXve8f3979lefnmj997rJjU1+nXr1nH8CfxhFJddVrv9sx8ZcS8vjOHYCG+8Z2aFyKB3IsiglUUc8TMdkni3Z4gMCgoqVOFyG71gm6e10F6i9poYpquf5frW2ioyKCioQpk5nvSde010ozlmGOpMrXWRoFiFcrESpNlHQ23lWwBRFyOxEn4VGQQpmuviLAP8yxEe10Brc431hUtt8HOt8wMCjnGcPvp6xtPy5NVoTxBrtP7essQcG2q0ZYh1sUb+Ykut970wi7c2sCnCYC4uhqM7hBQEte4lEEosmr0s+mdr1Cj02p2P0H8lZaxJk3pCqB7/GWjSJMmWLUV7fd3exM7XRQitzmVrIfu2r902Y23Ik61vFJufZ3JCfUMkxtmqvTjHqEkQbFHsr2a6RC+t1QwXKFZsoufFiHGO86KSQYWyTTXGdLcrV6KfMY7zgp4ulxbmj7C3SJGlg5Md7F7He00PFytTaKYHfOoCS7yu1Paw80MFvXUhXbJr7KOrVZYoV2Y/lxol23qlFvhQlgIVhsixSojsDgRCPm1/asPRs0OKzJ1o3ThECn29kovfCS2MdqJNJp8+zMRPuG9S7Xvp25fXXuXiS/j88+j3GwgEjB/fUUJCjPPPX6qiYs/72wceOEbbtk2MHPl2vTFnPerxP4gdO0o999zPLr/815lJjx27XkZGgtNP37XKYmfM/NVX07EOB4nPpvLy+6Fkqch95B0lIY+ZG47nsC4125ZvZcSX/PNQ+oYRDMFgiJCYWRQiKMIj0ecoMsIqF0pzvYwaiv+XzPWYGa7W39n2rSKDgoLmmO3vHlOhwpWutp/9a4whJbb6xQvec7GNFjrI9U72nAP8QXN96iSDgoJKrbHN5zZ52kZPRn1t8oztvlYqp1bgy07EStTKwQ50rVNM0Ndl1prqPZdY4HWlYWEGMWIc7BCjXGWDDZ7wuEUWVrXHiXG5vs7Ty5994z1Lqn5urID7NDdQA2dZZXlYUE1GHB+15eUtPLyx5v0d24rb9uf0z8jbUbPt9AM4sx/njaM8QuQfH8/4u3no2VD6XDT078/vfsfNdXgNhePSS1vYvLnM66/n7f7kKLj88n7Gjp25V2PfbwH1hFA9wMyZ69x006defvkMzZvXNjirC599tsXNN682eXJXHTpE3zHcsoUThzBoEHfdVbt96lxOu50nr+a0I2q2jfuRqz/i3eEMaF99fPa2kOT+6FRe3CdU7/qRFZ4011CzrVPoQ80dprFkcRbZ7HGzdJGmjUaeNxfk+cEXRllkkVkKZVjnVAfr5gANtZZtmq1WIkTYFNmoonJSX1en/t+Bxtrr7veO9oyOTjXd7Vb6oNZ5AQFHO1YfB5hkQq0UgvaaOE8PY6MQSqM0MkNxrcSxbikhJcB7USpaBrbn29XR77lHu1CUdV1o1oy83fTfMTGh8sO9xcaNO6Sl1e9Y1+M/A2lpSTZu3LH7EyNQURHcZcklocn0xo2h71s0LFwdKkFKiiLdnrKao9rVNOqHtcXM3MrwiMqCoKDxtrpek1oEzcsW6CzV4Cj+De96e5dkUL7FvnKlBpo7xgT7u1Yz+wv8F1LGoiFOshYOtb9rHWeSXkZZ71ufONcvxiqUvUfv84XPdJTpWhf60mpjfCdVljJl0sV6WaZDJBos2zeqicBrWvPPzgydy4thAWCtGvPlBXy3mt9PrjnB7tKajx/kkdd4/N+172XwYJ58gtPP4Ofa3T5ITIzx1ltdzJpV6O671+7RZ4TY2BgvvHCa6dPX+PvfZ+zxdfWoRz3+ezF58kKZmQ0ccUTbvb62rKzCgw+ucued7XersPj005AyaMyYut6LK+/lnqtp36p2+z3v0CCB2yKqAsoqGP4FZ3fkvAhV+VP5vLglREyER6EvVOxcq1ypmSvDbBJKVXjUDJ9b6S8GOTSsDHiHHV7zive962SnGu5sjcI2KMrsMM8r3nOJjRY6wh2OcresKONNUNAOs23yrPXGWOl0i/Wy1FFy3avQDMUWRn0VmiLb7ZY62GL7W2mYbLfabKJitVmSGPFaOsggDznIddaa7gOXWewd5WFz9nTpfm+kowz0mle8Y3KNJOLBOvqzI71snvF+VlG5bokRcKcsJ2lshFXWhr1nx4SQj9DdG5gcIY4d3Yv+GYz8tnYy2KPDWZfPk1E2I/r04I/nctW9dSeK3XtvyKNqzpzo7TuRlBTrllvauu++lb9qY+K00/axeXORb75ZudfX/l9GfclYPWzZUmTYsNfddtuRjjhiF1q9CCxfXuSss5b4xz/aO+SQ6PHyxcWhiWnLljw1tvbuwazFnDiGBy6p7WnxxPfc8jkfnM3hYWPe55s5fR43tuGWNqH3fMYvpsnzk1RtbDRMsgyxCpXKV+QuU52og7N195Nc621XZKtZvjZXA50c6WLHWugfVdHGnZxptset8bmgcqm6qFBaVb4VuQAKKlNiljJLVdiowqawf29SYYtYrcTbV7zu4u0rTmcBdfs4BMTq6DSNdTLDHSqU6uCUiHMCjnaMpRb71tcGqhnLdoIOXjDPUvk6Sa06nibWARJMU6RrxD30acj8KPHzbZuwvg4v3IbJbN/FGreiom4zwp3YsqVckyZ73y0tXbrZsGG1PUrqUY//jejYMc3y5ZuVl1eIjWRfdoHGjWMVFOw6vjYQCBGrFXVYcRUW104D2Yl1W0Pf8UjMK6RjEpEC0KXKbFHh8Ah1UKkKX1htjINq9ZPLLTffPFe5JioZtMk809yqm3N0sntvjKCgcquVmqvMfKXmKrVEQJIY6WI1FSNdTOW/Y7WSoL+YCNVSQKwWDtPCYTaZZ5l/+9zFshysk9OlR/FAghmmW2O1q10nRozHDTLWd2aaKaCFPogXcL90PSU4T56bNXGZRgICzskKJTz+bj7rirm+deh32LIRX57P0RM5900mnlbtr9G7UyiS/tgbQ/3uyBNq3tMFF7B2LSecyNQp0SX4TZvGe+utrg49dK79909x6ql7liaakdHAyy+fafDgFxx2WBsHRNYP16Me9fh/jhdemO2cc3rttbEufPDBJrGxASedtHsvsAcf5KqraFxHoO7EtyktZdTw2m1Lcnj0E74bQ1zE3O/hORSU8lD/mse/38F12SFlUMew4SFbqfOtNlK6i1X3VeWCHjHdets8aJC0sLFok00meFZTzfzBHzUMC1gJKrfUh+Z5WUMtHO5WGSK8KipRYrkCk20xWbk8yQ6UqJtU50vUTYKOYuyZQr3CDiWWVBJFi2zzsVz3StBeY0M1dor4ME+jgIDm+srSx3o/+MUEi0zW0znaGiBQ+U8//XXSyeteM95TzvP7qs/bQzMPGeR2XytT4TJ9qq4bI8M2Fc632pvaaVy5/umbzNMtuGAtP3QMRdMTGpueOox9/83EJZwfpvpqmMTfz2HEWIYfSEbE38wtl9LhWD7+jsGH1342rVpx3nk8/DDPP7/r53jeeVlGj15m5syt+vXbu7TnxMQ4w4b1MGnSHEcd1X6vrv2/jHpC6DeOnb5BXbqkGz36sD2+bvv2ckOHLnb22U1deGHdktNx4ygo4IvPQ7LBcMxfGUpOGXM2o06t2fboNP78FR+dw8Fhnp+v5DJyEU905vfNQ8c+sdIUG32mg3s001lzfzfLiTpoJMEJOjhSmYFCrvLtlWitkedMVC7WcDfIkOpHf5FvkRJb5FukjeN0d5FVPjTHP5TYJsP+Wjoy9OwElVmi2JeKfaXYtwISxNlHjGZipYuVJV53MdIFNFZulVJzbTNOmfmCSsXpKlF/DV0jLsLgdCea6e1g95rmVuWKdfa7Gu0xYpzsVM942n72l656oE8W5zCtfGZVDUIIDpFkqmLnRyyO9knhm9rVZLIakFMHIZScwIaC6G2EdpIi/wYikZ9fLiPj1xBCm3TqtGcLmnrU438a7dunKi8PWrOmQLt2qbu/oBKpqXHy83dNCBH6npXVYcW1o5jkOuauOdvpGcVfdH5hqE+IxNRKD7LECNLnB9mSxOkVYXZfrty73jbAoKgG0hv8bIY7dTdSB1GM5ipRYbtt/qXYZ0rNE1QkTudKor2XZGcIKqlBypeaq8ImZVYot0aCfhIdJdEACfoIhE2H0vWQrodC2ZaZbJo/SddTT5dqqGY6yQ47HObwquTJcsVSLdNUX6/Ikesnl+gtRsA5GtpHvJE2WKLMXypT2QanhzzwTvyFtSU80jHkHdSiUUgpdMxEhr/BS6cTX7mwOqg779zLkDE0SOKsCLPXMWNCpNDxJzDlO9JqJjKDXr1SPPdcJ+efv8zUqUl69Ngzk83DD2/r1luPMGzY63788dJ6P6F61OP/R+TkbPPxx0v94x8n/qrrn356vZEjm++Rd9B33/HSS9Hbi0u48wnuuyb63O6al7jgUPpEENK/bOaun/jiBJLCpntbyxm2hjsyGBBmi1Qq6CrrHC7FH8PmtkFB48yyUr6/GKRxGCmTI9vzntVTL8c7sUYy8A6bzPBXhfL0c6UWDqy1cVEmT4F3FJis2HwNDJDhRg0NEuPX93cxkiXpJUmvqmPlttnmYwXekudhyfpqYqhGhoitHCcDAlrqr4W+VvnGbM9Za7p+rqyKrU+T7kIXedMbxnvK+S6UJtTxN9fQPY4y2ueaSvY73ave925ZRlpjtPX+qVXVsxjWhKk7Qr+T6R2qfZzSE0PJYxd8zdEtaRX2uzq+F0d25U//5qnf1/zsjRsy5hJueYzjDoseMHP99fTuHVILtY6+HAING8YZMSLT+PHZe00IEfLEO/74Fzz++AmSkuqpEOpLxn7zeOqpmb75ZqUJE07bY3OuYDDowguXSUuL9cgju5arjhoVipdvGFGFtiKbY27gilMYHbGz8Og07v6aT8+rTQZdtIjXe1STQfC9gCmam6C5s6TYX6YWGlRJIw/UwkBtFFjuK1eZ5h7vukZbcS71By21UmyzFg4z2Mt6ukKZHdb4XLIM+zhfHzc42D16uVKRr212lRz7yTVQkY8kOFAzb2tugQxva+oZqR7W2BgNXSbF7yQbrKFLpHlMpo+0sEKWKRobrcJ2uQ5V4H4VojMu6Xo41F8s9oqFJtUqWWultf318a53arUdra0vrFampmzgIImmKq51/j4pLIiiEMpqQO72mr4WO5GUEFps1oXS0j0hhMrq9KGqCxUVQWvXbtU2mrShHvX4X4j4+FgtWjS0Zs0uGNQoSEuLk5+/e9P1uLjQ9y0adkcIZUXxJ11QByE0TZGDouyMfmaVQdrUMpmeaooADlHbzDHXTNPdrqfL6ySDgioUekWOgxT5RAO/l+FdLa2U5VvpxmnkGslOlGKohkZq7Eap7pfuKc28rrkfZJkuxTBlFtjkHOt1sdF5Cr0iGFbSlaK5ni5zjOelyPKlUeZ6qobHUFDQEotBkSIve1G6dCc5ymMG+lme20yxTakSJTrY7n1ZpilyuY1KKvveAxoxdX/e3sgfl1bL6jMb8MX5LNvMWW+ESi124qj9eP1ORj7E+9NqPqtAgMcfp0sXRpxNeR084hlnpLvqqixDhy7eo7+tnbjppsN16pTm0kvfrfcTqkc9/n/Eyy//4pBD2mjffs83E3Zi3bpiH3ywyYUXRjGKi8BDD3HhhXWXHz/7bxqmMDwKL/XhHKYs5Z7Tax6vCHLZd1zZg4MiNh9uzKVDPDdECJcelqdAhXs0r0HcvG6Bqda605E1yKBVVnrG0w50sBMMqUEGZfvRJ66WJM0xHtUyQsVaKtt6N1jiEFt9JNVwnX2vtac0duJ/iQyqC7EaauJ0bUzQ2VSNnCDfK5boL8edylWbzAXEameA4/xNuRKfuMbGGt5Bcc7wO5118bSxcuVUtWVq4A5H+LeFPrMi7OcHPKqFnxV5JuxnwQOZlAW5r6YNqVPaclIb/hgx7hAqHXthGrOiVGSNGsHaHN6uw+Oua1dOPJHHHqv7ee3ExRe38OKLObZv3/0mWSQOOqiVzMwG3nmnDlOj3yDqCaHfMGbPznHddR978cUz9iql4C9/WW/69G1ee61LnYliOxETQ2rEmFWwnZNuYejh/Pn3NdsmzeGOL/n4XPqFKdEnbwgpg17vwQnpFCqVY7sH5JsoxgvaOUJSVbx6qQqJldLHFbbYKt9cz8qRbo52ujpAhmwbfI/QxL+tUM1aI22pElQGKtvT8aFch9vsEjHSpPq7lhZr5nWN/FGC3ntlKB0QI04HyYZI90/NvKXYt3IcZLsXBdWu+UjVxWEestzbFng2CvFzrHXWmm9ejeO9ZUgQY2bY4AAHSJCn3Co1O9TuySwpojTiFrIaUh5kYxSyKDlx94RQ3G64nvz8cmlpe+cTsmFDoZKScq1aRS9brEc9/jeidevGe00IpabGys8v3+0CPD6+bkKoqCS6fxBkbyOahdyCQrpHIYSmK3ZIBCFUoNgM2Y5Rc1t4i3xf+txJTqkqy636uab53p/t5+qqfjgSxabKc5wC92viLhk+kGKYeD0F9lCuvxNx2mngfOnGa26BZt6SoJ+t/ibb/grcp9z6qvMTNNbblY70uC2W+MxIq3wkqMIAAyVINNaTXvaiRho51mCpUrXQwCMGSFTiTyYZZ7y3/Ns0b3pLlpXKnC/P9sq+vmMyn/cOkUKjl1eTQk1TQhskizbyh/drejAcfyDPjmb4PfwcYfgfG8sLE1m5kj/9qe7ncdddrXXrluTss5fssYdbTEzAxImn+frrlcaN+3GPrqlHPerxX8fEibOdd17vX3Xt889nGzQoVbt2uyY2Vq7kjTe47rro7cUl3PsUd4yqbQVQXsGNr3L7yTSNGE+eX8ya7dyxf83jH28L+QY907I6WRE+sdUk+Z7UUnLY/PozK7xhgTscUSMxeJGFJnjO0Y41wMAw0+kysz1nigf0coEDXSde9aBWYbs8f7XMIBWKdfS5dl6RakSVSqcGguWULWLHqxT8iU1DyG1PTovor9xObBrK1jsoepOy5VHNdOJkSHeh9iZr7x0lVlrqKJs8rUL1BDtRE4e7VWdDfOVWC/27as0QI8aJTtJPf+ONs9qqqus6SDXGof7lRzPDxrh0cf6hlYfl+VG190NiDM+15C8bmBVhCfHwgXy2ng/X1DzeMZMrBzH6tdofMSWZmy8JKcvqmsbceCNPPRXyn90V+vdvpF27pF9lLh0IBJx3Xm8TJ87e62v/r6KeEPqNYtu2EsOGvWb06EMNCHdr3g3efz/fPfes9dZbXWVkxNf5ha4LZeWcdTetM/jblTUlg58sDUXtvv67mmTQh5s4ewGT9glFoS+0yRjf+INpPvCLW5XoW8nal6mQXbl7myTORPO8ZpFlllltrqBMf3C1A4zU1H5WeEeZwhoJAlsslW+Rhtoos8IWt8nWy3YTNHSl5n7WxF2SHCWgDjOOX4EEfTXzributdXD8hyt2He1zmusg8M9bJVPahlNp0gx2Ak+8J4y1bu9MQIGaetTKyPOj7G/BNPVTDxqmxSKoF8aEYSUEk+jhJCSIBK7I4T2pGRs8+a9VwitWVOgadNkycm7efN61ON/EX4tIVRaGlRYWIdBUCXi4nZRMlYSKu+MhroUQvN3sE9EV7damXXK9YsgY76yRldpWqq5EvjYR3rYV3sdahwvsMJM9+njRq0NqvWzy6yw0UgbDZdsiCxTpTj9V6eMRSIgRoL9NHK1TN9JM1apubIdYJOLFJteRbw31sEh/qK3Ky00ydf+aJO5zjTMiU42zHDDDJckSUXl5DygTA8btBPrRwn2NUSJYvN95w2ZigUNkyu/8vx2SSFSaFIud4R11+nJIT+99xZz19c1P8OwAdw0nJP/xPqIZJjGjXnrTf41lldeif4MYmICXnihk2XLit166y6SASKQldXQiy+e7rrrPjJ7ds7uL6hHPerxX8L8+Xl++SXXmWfuvWdiRUXQ+PHrXXzx7tVBjz7KqafSqVP09vFvkNqIM6Pw9xO+Y3sxV0SUsW4uZvQPPHYQDcKma1vKuXgdD2XRPmxsWq3E9da7T3OdwsaZmdb7lx+NcZiOYTYIs/3sFS8Z6nQHOqjq+HY5vjBGtpmO8YgOjqkaP4LK5XvVMgMV+lZbL2jl7xJEqX4oW0DBzWw4hJzG5PVm+4NU5JB4PE2eJW1y9FeTsSQcRfkKtt5JXldyUtl4ZOj/y1bU/FnBoMSixtpsuVorT9jidcsdp8AHVeNRQIxuTjPAvZb6wLfuUiS/si1goKMNcrTnPWtxpYoVest0tf4eNM0i1ekxB0h2vQxXWmtz2CZx32RGN+WCdYSHAGclc29frppGUcR8Y8wQZq7k47m1H+Nlw8jZyFuf1W6DQw4JlY2NHRu9fScCgYCLL25h3LjdxBfXgXPP7e3DD5fIy4uyoPkNop4Q+g0iGAy64or3tGzZyK23HrnH1y1atMPZZy8xblwHffqEVg3hhE5dJqbhuO5JVuXwym01TeZ+XM8Zr/GvIRwXNgB9vpkz5/FMV4Y2Y5MdnvSzfK2t08lFsiyS7W2hrdE4MeLFaCLB43602GbdbfSBNzW1jyP1kSJFoiYy9ZOkqdU+AVut8ouxfvJXrfWR6Ck5DlVuvaZekuFzDYwQiCYZDZax4yc2/Ivsu8j+c+XrTrLvqHzdxdaPqaibNQkISDFUlimSDbXROfKNrqUEaqiN/V1rvvGK1IwD28/+4sSZp2ZPfLS2pstWoObPP7iybCwcsQG6JtdRNtYwuo9QUgJFdagS2NOSsXKpqXunEFqzpkCrVntfQ1yPevxP4tcQQjsN13fnI7QrhVBdJWOl5SHlX1bEjm5+GdkltUvGpivWS4IGEdOIT6x0TMRkOl++eebWMrwPqjDb49o7WUsREZMo9JpcR4jRSJYZGrl21yR8MEjhj+Q+GNbv3hnWH99F7iNs+5qK2p1bQECSozQ1SZYpYrW00Qh5jlZUOU6EvByOMMg4LRxqqlvM84xWWkiR4j3vWmdtVZnClz6XIN4IR7vAYA/63kaJttmqkRgvydRUrKFy5FROwjsn81lv/rWe+6s3d7Vpwofn8Nj0UAJnOG45h4H7c+qtFEYQ+d26MekFLrqYn36K/uiaNIkzeXJX//xnrldf3Rj9pCgYOLCDG2441LBhr9m2rWT3F9SjHvX41Zg4cbZTT91Haurely59/vlmBQXlTjmljhqwSmzaxNNPh5Qa0VBUzH2V6qCYiFVkYTG3vsn9Z5IYMd+7dSb9mjI0wlPo+hy6JXJpWDVBsQp/sM6pGjtF9fxusU0eNM1V+tlPdc3ZdFO97S0jnKNnmD/PWtN84hqpOjjawxqHecBtN8UKJ9nocZlu19YbkvWteXMVWykcz4bDyNuf8pWk/IGmM2i+jWY/kPo0Da4icSAJB0Z/JR5Dw2tJfZ6Mn0PXNv2K5AspnRUiiDYey46XKMlh2jHMuZJZ52kw713tvaepK+S4zSrD7AhLDk7X1bEeEyfZJ66R55eqtoMc4hRDvWySOarVMIdr4xw93eUb61RHiV0kTS9JrrWuynYDbskIrQvujhDjXL4PjeJ5+Jeax9MahJLlbny1dgx9chI3XxxSCdW1bhw9mr/9LRRMtCuce26WmTO3mTt370mdDh3SHHRQa6+8EoW1+g2inhD6DeL553/20UdLTJp0+h4n3BQUlBk6dJFLL800YkQzc+fy7LNMmhSSlbLrZBt44i1e/oJ376NJ2KJj2WZOeJHbjiRcBfvdFk6dFzKQPquy3y9RIVeZNZK9pY0ztTdYO1OtM1WIJS5V4Ac5ipXpbpkl5rnYH2VpY6M5VVHCSZpKlqG8MqKxxFaJUvTUSLybxWqjuR+kB8dJjEzLKdtEwfusv5WlR/NLGkuOZMsblKygZGXoVbqa0jWUrqV4EatHMrcZK85k03OUhmUNhyEgqWrHusgnCtxRixTKcqAMfcxVk0aPEeMgh5hmao3jrTXSRaqv1NR3HizJNLV73e51+Ag1b0B2NIXQbjyEysr2pGTs1ymEWreuJ4Tq8Z+FECG0dfcnhiEuLqBRo5jder3sylS6rpKxvEKCQp414VhYSGY86RGT+2lRysVWKrBKgSMizPFnmK6rblUGlzuxyod2yNPNebXuZ4f35btBugnS/E2srOgfqKKQLe+w+jLmtWbpALZPDfW5pWsq++BVlX3yCrZ/y8rhzGnCon6s/SObXwq1hUle47TXxN2amy3FcJuMssFwpZaAWIm6OtuRHpdjhm9dZ7v1+ugjqXLTIE+uHXboqZfmWjhSa3/W1xK55ihRLqjIFo+J11uCk+VYUans7J7CJ714aA2PhXXZPTOZfBbXfsTbYfYHgQBPXUdiAhc8UHssHjKEMTcz9DQ2RPhB7ES3bskmTerkoouW+fnnPZ9g33bbkVq0aGTUqPf2+Jp61KMee4eKiqAXXvj15WL//Oc6F13UQkLCruf9//wn/fuHXtHw9Os0TeX0Y2u3PfYJrdIYFnHtzA08u5i/H1JzI/mDrbxWwPiWNY/fK1cQt4aRPutsdZdvnW1fR4ZtOnznW5/7zAUu1Fl17NUKn5nurw4wygFGia0cr4JK5brXWpdqbKgOPtXYSdVz/GCQkm/JH0luC7b/g+QRZK0j7SVSziV+XwL/BTPiQCLx+5NyIemTyVxJ4rFs+BPTWxNcTq8bOHwqm74WWPOSVMNJFcfGAAAgAElEQVR19KUUB1tluI2erCoTi9fAwUbrYZhv3GV9pR0G9Lafs4ww2Zt+Vr0jcIoujtHBHb6xubJKICDgQS0sU+JJ1RsDCYFQ6dgjG5kZVjoWG8OTh3D/bJZHTGdGDWRbEROn1P74lw5jw2be/DT64znppJC69cUXd/0Y09PjDRuW4V//+nUqofqysWrUE0K/MSxevNFVV31g4sTTtGixZ54rwWDQJZcs16pVgvvvb6OwMGRS+f33oQSCe+7lnHNZurT2bsFOfDiD0U/x1l10CFOr5m5n8CRG9OSGQ6qPf781lLjycAcuCDOQTpOkr1SjBTUVkCJeLxkO0sIiy0xzu6UeNdIPmvhSoSKXuEwzGdobYps18sxSbIs4SWIkKLFFUIUkszR0r6DFMn0m1X1itaSictczWEb+v1l6TIjUWXtNaMGROozO39FzM50+oe0z1a824ytfT9PuBbqvptPXJO/HhieZ15LFh5D31+qfE4Y4rTTzhkKv2+bRWu09XSHHDLlm1ji+vz7y5Fqtpvx/kLa+jiCEDpRohTK5ET5C+yRHj57flUKoLkIoGNx9yVgwGPzVCqHWrev9g+rxn4VfoxBiz5LGfo2pdM62UFlSQsTXr66EsWmKHBxBCH1tjQO10ED1F71EiZm+d7BDapxbZLN5xuvlD+IiVJfFvrbZ5dI8KUlE3QGhDmXLmyw7iV+asu5qYpJo+zz7bqDDm6E+t6r/HV/dJ3d4kx5r6b6EjOtD75f3V+Z3ZuG+5P2d8mrzghgNNXSpLNPFaSvXAFv8WUXlrmoj7RzpcWm6+cooFRZVpTzmy5cnT2ttxIhRrFjQJvtKtFKZh0y30kpveMVFVhss2SlyLBH65e3XkI96cedKxobNd49sx4ShnP1vpoR18YkJvHkXPy7m9mdrP7Zbbgkt8oadVTdhOGRImptuaumMMxYrKNgzk+nY2BiTJp3ugw+WePHFOXt0TT3qUY+9w1dfrVBUVGbw4DrquHaBTZtKvffeRpdeuutysaIi/v73XauD7h8XXR2UW8AD7/PQsIjqgSCjpnBDLzqH7d1tLufi9fw1i7Zhc8N3FHhLgSe1lFi5TC1Q7E7fGKSdU3WtOneO2b70uQtcqE0YSbTE+2Z5yuFu1SZMfVom1yrn2O5r7b2jqctqGkWXzmbTQDadTCCFpt+QMYsGVxJTR5JtMEjhcrIns+7V6K+cd6nYhYQ+tgUNR7PhKBIOo8dA8o+l4Gya9gt5FgkZUGe4XjuvyveitS5VLjReBQR0cqIDXW2qB60Js5zoqpsRzvG2tyxVbTZ3vl66a+ou3yiu3IxoItaTWnnCRlPCAhT2S+KWZqHSseKwDYeDMxnRkWum1/xIifHcd0ZIMVYYsTZISgwljtWlEoqJCSWOPfzw7qtPLr+8pQkTsm3btuehCDvxu9/18PPP2RYurGOX5DeEekLoN4TS0nLnnPNvF1/cx+DBnff4urFjc33zzVaTJnUWGxtw222cfBJPPsmdd9KjB6tWccmlzI2ivJu7POQbNO56Du1ZfXxbCSe9RN/m/PW46gFk9jYGz+Gu9lzWsuZ7JYrVQgPz5Vla2Qk2kqClBAETNdZZZxfZJkeWXwwzRINKw7mG2mhtoI1+8bNHLfeOVT7UULw8x9rqr1L9VVOvi9eNdV/ywRC+vpCfzmF2W9ZdR4NB9FhH90W0fY6ml5Hcm8AeEBmBACl9yLqNrjPosYb0S9g0gcX9QuUOEYjTUTOv2epJ24yv0Zakqe5Gmu3vysNUPkmS9NHX9AiV0EFamG+TrarJpyZi9BBfSyW0TwoLIkzkqIyer8NDqKiOioGdi49dEUI7dlQoLQ3+SkKoXiFUj/8s/HpCKHaPFEJ1EkJ1eAjVmTAWxT8oT7klyhwYQQjNsN4hai445vhZY01qeQfNNVYzfTR3cK2fWS5bEw9KNqT2DZXlsfJMVl9Kg8PpOpN9ltLqbzQ6hpg6DJLCEQiQ0I60EbR6nK7f03MLmWPInxQi6ldfxo5qWX6sdKkelOlDJX6Q46DKVLIKsRL08gd93GiOJ8zyiDI7lCuvLFFOVKTIEov9aKY+ervXydbYbrJCRzvOFN853lzDNHCm3CqlUP9GvNeTG5bzfHb1Rzi9Ow8eExpD54fJ+Js1Calw//EWEz6u/bGffYa8PG64oe7Hc8stLXXqlOTSS5fvcYJYy5aNjB9/ilGj3rNyZf4eXVOPetRjzzFx4mzDh/cUH793cyRCSorlyw/WocOufS8nTgylip1wQvT2p14lI42hR9duu/sdBuzDUd1qHh+/iNwixkQIm67NpnciI8NKxZYpMUa2R7TQRqgvrxD0iOnaS3WB6jdZYbnJ3jTMcC21qjq+yFt+MdER7pQZdn6hGZYbIl4r7bwpIXxMqshny5VsOIj4A8lcRZN/EN+n5k0Hg+xYzbrXmX8zU4/lo2Z83pUFt7Hs0eivhXcQ2M2Se9V4NnzKAe+ROp6M5ZQ2YuU/KP+QYPUObZJe2ntXULkVTlFkflVba4c5xGgz/M1KX1Qd76Szk5ziFS/KqayUiBFwlf4Sxfmn6vVHT0lulemP1skN8yO9qRlJAe6MKB17oB/fZPPuqprHh/WnRZOQciwSF5/J5gLe+Lh2G5x7Lhs38sEH0dt34uCDG+vQIcnLL0evuNgV0tKSnXRS13qVkHpC6DeFBx74VmFhqfvvP2aPr5k7t9D116/y4oudq0ykKyrIrFRxZmbSuxdDT2WfbnweESW4cQsn38o1Z3B22ABSVsHwN0LGchOGVqcKrCwKOu6XoOtbc3Wrmu9VXlkydaauygR9blVValaKIhUSbdfLBK/o4HzNdbTGx8rsEKxUv7Q2SHcXStNdgUW6ShLndklOkOU7yU4MyUYXTeC7K8jYTumrrPyCDfvTfSnNbyG+uajYW5ft+OY0HRlakDQ5k6WDQl5EkafZV1Mv2uJ2ZdbWaGvvRLHirY8woO7rAPPNqzI3hWaStdDAwgjfoV4SzFeTzWmbyJooip/GiRTUpQSq42Nuq1QUpURRGuxETk6puLjAXpeMLVu2Wbt2ex+/Wo96/E+ifftU69ZttWPHLnYNoyAjI1529q6vadCg+jsXDdG+pwXFoe92JNYUh0zmw7FQqdZipYelhZUot9QWvWTUOHeuufo6oEbJ7Q4brPOVni6Len8phmlgeO2G8vyQQjNYwT7zyLqZpB41t6N/LWIbkH4eXabR6RuUh9SbS45g8yshhSji9dTM25q4T4F7bXCyssoI3xYONcC/FMr2tSu1kChOrPHGmeh5Cy3QVTf9HChVkvscbrNCz1jrdGdZa43rJRoi2e/kWF85ET+sCZN7MGoJH4R13aP6c0W/UMn1+jC5fvd2vHYHVzzG1IhNmoYNQybTEyaGSr6jIZQg1slXX2317LN7nuByyindDBu2r5Ej366Poq9HPf4bUVERNHnyQsOH99z9yXWgRYvdpzGOHcs110TvUisqeGwif7osujpo3Ffcf0bN48Xl3PEjjxxIctjUbmohrxcwLqxULCjoJusN08SxqlXfn1hura2u1l9M5TiyzTaveMlgJ+gSphha7hPzvOIod2ume9XxAu9Z7QLN/FELfxUTljCm6APy9qVsMRk/0fhBYiJU5+VFrHyar3rxaXsW30PJBlqczsEfcsJWBswOlXhFex05c/ebxsU5dL6JuMqdmWASKwtodS4NV5C7HyVTqtYZsVK1Nl4Tp1tlmO2qa7Na6O8wt5jpSevMqDreR18HO9RLXlRcuQkcL8aNDva99WaolqKeLdUhUvw5LJ04vrJ07LFNLAlbMjRL4u6+jJlZcxkUExP6m3jko9BmVDiSErlxZOhvKhqSkhg1in/9a9ePbae59IQJvy7YYMSInt58c8Gvuvb/EuoJod8I5szJcf/933ruuaGSkvZswV1UVOHss5e65prmBgxoLBAIddx9+zJlaigW8IknePElLrmEM8/ky6+qd6bLyhl2F327cMf5Nd/75k9D3kFvnkViHNMVmVJWYsgvAac1Dbi6Tan7TDfeHBMqzZFjKweCJHFG2leCWK9Z5E5TPGiRVOt8Z4KhTneko+zjXNm+s916gcqFS4VSyZppr6fmXpNsvUzfauyGarPSkhWsvJ/Gy2nRlyPnkTGc1dNZXDmDDlaSLHM/Z+K1THuV0mLWfREik9Z8xuYFlOyhR0ggnua3kzWGZSdQvLzWKYkOlORY2zxZ81KxmjukVtlYhkwVKmy2ucbxZpJtikgVayjGjohlYl1rrMLSmgkRO5GXT7M6hDqrV4fqgRvvQsizeHGRDh0Sxcbu+eIuGAyaMydX7951+IvUox7/S9GqVSONGyeaN2/vIlM7d06yZEnRLs9p0yak2oyGZk3YECXONSU+9N2OhshvZKGgRhHTh02KxAhIjyj/ypWrRYRqKM+PUnWTHEEe7RIVRSw/lfg2tH+VuD28tryYguWs/5Ylr7DgWXKmU7oLj5yUvqGSsx5raXIa2TeH/Ia2heK9dpr/Z5oqXi+5Bir0FkjWzKEe0NIA37neIF0d5nADDHS8Ex3i0Kof01iiex2pWLm/ecc22yVKdLc0h0o0TK6NlZsZg9J4uitnzWdWGNl3z0AOb8vpr1IcJhw7th8PXMxpt7MuQg3fqVMojv7yK1i4UFRkZsZ77rmOrr56pcWLd/33Fo6HHz7OkiWbPPXUzN2fXI961GOPMHt2jtLScgce2Gr3J/9KLF3K7NmccUb09m9/pGAbp9YOg/TMNxzehX0jbm/iEtISaxpJB4Pcksu1TWkdNpf8yDYrlLg+bFzYotjzZrtMn6pS5AoV/u11HXXST7VZUbZZZnnKocZIU10FsdlE2UZr5QlpzqvenKgoIP9i8ofT6C7SPyQuQt5UnMvCO/m0Lcv/RsfrOWELR/3Efk/T/gpS+xO79ybftRAsY+NXof8uL+aHYSQ0o+OdNP2WlEvYdCxbbyJYRMlGATGauVqWO6xxkQLvV71dlv31d7XpHrEpLGVsgIEaa+x971YdayrZ+Xp5yqyq0rGAgNtk+cK2GlH0PZM4pwm3RwhyLupKXhEfRMTQH92D5k147Xu1cO7J/PALi1dEfyQjRvDRR+TvRnQ6dGgzU6ZssWHD3gcbDBzYwYIFG+RE88L4DaGeEPoNoLS03O9/P9k11xysX7+Wu7+gErfcslpCQsCdd9bs4YcN44BKUmjZMh64P7TQj40lJ6eaHb7zOdZv4rmbau4mvDiHp2eFjDFTk1iq1NnBPGeVbZDSYpt7Oxf7U+AbGZL109wM2R4zU46QXLJcULpk5+juBv0M0dFpEuVpppeyqoSBJjpL1c3yyon6D+5TYJXtnpXrBMlO08yb4rShopxty0OJNAt6UIaMm2n6J5K6kpROp2EsfJaiTayaw11H8u+7aN6F9x7hnb+wdjoLxvPNZbzRh2cb82wTXunBe8ez4u1dq4gyRpN6FsuOi2o43cjVCr2gPELhk+EAeX6sYTwdK1YzGXLVZM3TJVUZyO1EsoDCCEIoGIzeQWwvpWE0U9otZNQh1Fm5krZRUjzDsWRJsS5d9m5QXbVqi+3bS3TvvuvUjHrU438bAoGA3r2zzJmzdzLnzp0TLVmy6+iNtrsghDKahMjbSDRMCH23a92n2oqiQhWSI2iiTYqkSazawYUddiiwRWaEIXSemTIi01x2hWA5q84hWBIigwK7qD3d9AufjuD1PjyfydNJvNyFz0Yw51EWT+DDk3mmES935ZPfMfPuUN+8I4I5iUsj4zq6LQiVly0fwsqzQ4bViCmPk7p1lPScq+S73mbXC9ohINY+zrOfq/3gHkmW6qKrFCny5VtqqaWWmOl7X/rIAdaJlWeBFIVKbbfVUHP0UGiEPAWVKs8RmdzShiG/sKqyCw8EGHcSpRVc9WHN27/yNI4/kOF3hzZownHiiVx+WcgPsK4kl8GDU118caZzzlmitHQPYkTRuHGiceNOduONn9SXjtWjHv9N+OKL5Y44op24uP93y7bXXuO440hLi97+/FuMOJGEiPlfeQVjv2LUoNrHH5rD6F7VVQDwyXZmF3ND0+pjpYIelOcazWokVz5vtn1l6K967TLdNBvkOckpVeROvuWm+osDjKpRJrbBP+R5WBsTNBR2g6Xz2NA7lBqWMYeUi2rugm6dx8+X8Gk7Nk+j7ySOmk3bC4mLiOL870LX20Obzd8exoyTiImn+4M06BRSFzUaTaNPWPcG32Xy45ksuhs0caZWnpDtRvlernrLNg7Xw3Dfutv2yrVAjBhn+J0F5tdIHjtWB6mSvKZaLZMpziXS3S+3xvri9gze3MrPYUuJpDiu7sFfImzkAgGuGMiTX6iFpqmcNIDnJ0d/JF260LMnk+to34nWrZP06dPIu+/ueULmTqSnJ+vdO8uXX67Y62v/L+G/YJFej/8UPPTQFEVFZe6446g9vubjj/ONG5frxx97iY+P8e67fPopjRrRujVXXBH6753Yvp0/XMldfw4NFh9M52//ZvoTNAwrWf4pm0vf5dUz6VI5GDweLJCW38CODcmadS5wd6BUlgYuqezU73eEh33vXUudo7ukyj/bOAHNJJtjqkW+d7ZrrTXBAhPsIyRJamZ/hZWdYGdDlLvXDtM186JEh4duYMXbfH8DgTWkNuPQr2i8ngVPs/GKSrPnAGnHE7M21GEX5nPCdfQfGnqP1BZ8+QyDJ3LgmNCxYJDizWxfG3ptmsNXF5Hem0MfpWmUpIhAgJZ/pSwntPjo9AWx1YNPgj4S9LPdOI3dVHU8TXdlCm21QuOwuugsWXLl6K5H1bF0STZGIYSyIwkh0VVC20poEI0QyiezDkJo1SratYvethOLFxfp3Hn3kuZwzJ6do1u3ZhIT67uyevznoVevTLNn753MuUuXJJMm7XrS064d06ZHb8tIJTfKOr1BfOi7HYmA2hz2DkEpUQihaOqgRhpJCZPnB1XIM0t7p+zyM1RfEGTtVRTNo/O3xNRRd7ojl+9vZ9HzdL+MzsNp0IqUViRnEhNb8z0Ls9k0m40/h15LX2bLEvYdFeqfwxGTSOZNpJ3LutEs2IcmVzPzMxq2lpS/QPNWg2w4dK5cg6V7WryuWhkgSYbv3Wm7bK2d6XWvWm2VIx2lVJk4cfaxj4GO9YQFbjXFvQ7XSAO9vP//sXfe0VFV/df/zGTSO2lAEhIghEDoJaH3ptK7gKA0QelIs4CAdEUQUOmI0quASO8t9BpKAqkkpJJep7x/nEmmZCYEn9+71iPP7LWyxHPv3Ln3zsy55+zz3XtTQCs+QsIO3LBBygxviMwXoQuX6oGTDKzNYX9/aLQeGlaATxuqPzsJ/DwRgj6DbzbBolG6l7VgAZxrATNnwo8lMwsAWLTIm6Cgh3z77UsWLPA2vJMeOnWqyoABgYwadZjjx4cg+b+Q9Jlgwv8wzp2Lok2bNwyi/kPs2gWTJxvelpMLe47DGQNm9cceQIEcutfTbT8UDTkKYThcBJUKZifBdBdw1OqSdyIeSgPQDCJDSeYSMaymc3HbK+I5xQmG8gnW6qr+XFK4xDyq0wsfrRCCNPaQyjp82IMlWpU/BTchtQvYfgZ2c3UHuvJseDQFYn8Dz8HQ8gY4vEGmV5ANsdfh5U0oNFJNaWEL3sHg2QhkpYxzG++D5POCBLJWp3Uq5SCVCdla+CaQdASnu+AUBi+SwdIDfEZjRzu82EwMHyPDAzv1vfCnJ9kkcJF5tGMJFtjhiCM96MVB9uONN044I0XCWBowg7O0wQcvtWxvFOXYRhonyaKTuq2SOXzqDHOTYL/WY2FMACy8B9cShdl0ET5qCjP3wu0oaKD3NR7WA8YvgHnjDQcT9e8Pu3fDsGGlfgr07OnKwYPJfPxx6cbphtCmjQ/nzkUyYMA/l2T+22GqEHrH8fBhIt99d4HNm3uUedKcnFzIsGEvWLHCh2rVrHj6FD4dAwEBYvudOyK6tihuXqGAs2ehU0fo3RtiEuGjRWIgWtNX67g50HMXzGoB76uTIVWokMfZkxjlwDEfK+ZKnEilgMukEqquCNpCHv2ozTXiiyPTt/CQ56RzhtNc5xqfMAJvqhPAMCL4kxccJIqjPGMbNnhQwG3y+AQVObhzXpBBSgWcHwxXPwKvZKg1DpKtodAZfLtD8FLwGwRV+kGCD/wyBZ7eFp2ydx2o20UzU/KpB7GPwExr5VoiEZVFLrWhUheoNw0GhoFrAzgQDOdHQ46ByaBECt5bwMwRIvuUSB+zZyJZrEeJprzRDAtcqVNCNuaOB4noViCUw6qEZMwGCTnorgCrKCkVAcguMCwZS0wzXiEUHS2qFkpDWFjeW1cI3b+fYJKLmfCvRZ06Hm9NCBVJxkrzaKlUyXiFkLtTKRVCxgghvbZcVFgbkIyVJIQSSlQHpfMcJYU4o1eabwyJ30H6n1DlOMhcSm5X5MPdZaIKKDcB+t2H5ivAtwe4NQLbCrpkEIi+2bYCeHeGetOh/Tbo/wj6PYBK7xs/F3NP8NkGbhvg2k+geghBw6DXDaRJj3ELH4wVHUiiI9lsR4UKFwJpwQpecZkwVtOLHvjgixQzuvAenehCPerjgStf0wR7zJnPVerQkO70pAEXcOIZI0imABUSCaz2Ax8r6BMKBepuu5KjWGiZckI3eczGSvgJrT4If13TvRwLC9ixHTZugr+MJMZbWUnZvt2PFSteceFC2U3Qv/++E48fJ7Nx450yv8YEE0woCYVCyfnzkbRtW/nNO/9DPHsGoaHQo4fh7QdOgXd5aBhYctvPZ2F0a5Dpce5LHsDkQN3kylPZwnvmc63AriwUrCSZmbghU486FSj5hdv0pybu6mCYAgrYwy5a0BIfBKugQsE1luFOXWrQv/iYOVwjgdl48osuGZR/AVLbg92XQiamTQal3YAL9SHrCbR9CvU2GiaDMl/Bw33w12T4OQjmO8HuIRBzDV6/MPwXcR629YL5jrCuBRybAY8PQ46BxR3X1oIMCp0OWc8EGQTwdLYgh7yGQc3L4DAY7CMhUxMeY0MQFVhEHBPIR+iBJUioxyhscecmq4srfWoSSC1qs5c9xV6jVXGmM5VZq6U4sMOMibiymCTkWqOB6S7wdxbc15pOOFvCpwGwVK9KyNEGBjeBXwxUCb3XUqSfnrtechsIQujkSUhNNby9CD16uHDixGtyckpPYTWEtm0rc/Zs5Fu/7l2CiRB6hyGXK/nkkz+ZMCG4zLpjlUrFyJERNGtmx/DhQse7Ywd8OhrGjIHZs8VqYu9ewpTy+HEhFevYEZYvh0I5DJgHvVrAR520zkVtIt2wAnzZQtO++ZWE7VEWHKsmw9tCQkMsmEslXHBgGiF05hX3KaAWDnxETc4iZjl+OBHLLW4QwieMLJ50OOFPA2aiII94LlOXyZQjhmR6YstwXNiOGa7iaRX3Ayj2QcuPIegF+M4Ah6qQHSs6XafqULkn+PSBjESoURsyLMDaDeycwcJK8zA5/hM07gVWtqVLwiydoOkyMfHISxaTmLtLQK63qiC1BN/9oEiG+Bk6myxoiYzKZLNVp13IxvQJIXcSSkjGSnoI2SAp4SFkjBDKKjAiGUsTchRDiI4pi2QsDz+/tyOEhH+Q+5t3NMGE/0L8E8lY1apWZGcrSzWWLo0QcnMS8k592KolY0q97ksiMSQZK1khlEIu5bDWaTNECCVxC1fqIS1LgXL6IREJX+UYWOh1ICoVvNgHu2tC+DbodAA6HwDHam8+rjE4+YNXxzfv9+gQOL8HrZbC6y1gZgnlWyBRqnBkNuXYTAbzSGMiKgqww5MWrCCXFEJZTH968pJY9rFH57AWyJhFEHkoWMYNPPHGBmtqcIkCohhHCkpUyCSwqwakyWHkM80jp40vLGoHffZAnJ7J9NopMHQxRL3SeUv8/ODnNfDxJxAfb/hya9WyYfFib4YMef7GhLsiODpasX59N6ZOPUF0tIEvnAkmmFAm3L0rfrT16xsJM9GCSqVCqVShULydqfuuXdClCzgaGcP99icM61myajwiCU6FwqhWuu0XE+BpOozS4mJUKpiXBFPKgZ3W7HMdqVTGgo5oquGPEI4CpU7E/HH+xhobWtGmuO0xe8knnQaMKZaPFRBBLGPwYDa2NNe8Ud5ReP0+OPwAdlO0TkwBzxbA5dZQaQQ0OwM2emUsSqUggX5uDEsqwpm5IM+HZhNhShjMiIVB+6DPZsN/H/0JsxJg/ANoOEIQQcemwUI3WN8aXpZMGMatM8Wj8IwHwnTac5DwLMp4CamdILcasBsKrkFBCijycaAH5RhBDMORIzwKpZgRxCRSeEwkp4rfogvvk0MOFzhX3DaIWkSTwUU0KwsD1ZVbu9CsJlU0hxFOsEBPaT0pEI7Gis9fG2PbwrZrkJaj225uDoM+MC4bq1IF6tWD/fsNby9CYKAtFSpYcOrU69J3NIBWrXwIC0slLq6Mvq/vIEyE0DuM77+/QlZWAd9+26bMr1m/PokbN7JYt65ycZl35cpw/ARERoofrq8vDBgAjRoKzTGApboCctZ6yM6Dn8brHnfmKYjPgi09xAMlEQU/ZuQx8VU+mwIV1LQV1UJSJFTCjJU0xBopCsJYg1gVdsMaZ6xQoSKfx9zkhpoM0iUEPGhMNQYSzHeYc4h0FuLCbuwZh6QgGxIvQfQgSP8RGh8Fr5WQ+BC2+sPzBDg8AUJmQIo67Ss1FKL+BnsF2NWACHUUsbxQPOGyXsPz69BiiGgvS3m8ox903g9dDkH4TuE3lKe3UmDmAJW2QsqvwuhaDQkS7JlEFj+j0oqKd6chKTzQiZ/3wINkkpBrxUYarhCSGvQQMlghVGhEMpYO7ka059HRpRNCcrmKFy/e3kPIVCFkwr8ZtWq5k5iY/VZmhtbWUry8LEo1lq5UCV69gjwDu7g5QmYO5OlVAxWRvPqhZ4YrhEp6CL02UCGUQAIeev1zIrdwpxwfT2oAACAASURBVKHRcy+GSgHxM6H8QrCurbdNCacHwaXPod4s6H0LPA04nf7/QOhaeHUZ2v0OrmPBdy+khwl/OXuxgm9FO9w5SyEPSGEQSjKxxJFmuYNxLJByUzGBXnTAEy9eIViYotVYGyyYTh2SecACvscOO/rSj5+py10KWIoYZduZwZFAOJ8Oc6I0pzc+CDpVgT56JtOD2kO/1jBgPhTofcZDhoiY6Y+GinmPIYwb50FgoDVjxpQ9ir5LFz/69KnB6NGHTaljJpjwD3H2bCStWvlgZmZ8ylagLhWUSCRIpRLMzCTk5SlQKARBVNrvT6USiYODBxveHvtKVG8M6VZy29pzQipWUW/st/whfFod7LWqyc/nwMN8GKdVHZSInA2kMhP3YkInhVy284gxNMBcPU0NJ4z73KMP/TBTh8Sk8IQn7CGYL5Cpnz0K0ohlBE70w4kPNW+UuxvS+oHjRrAZqWnPiRBEUOzv0PySSPnSTgNTFMKdrfBTIBydBPU+gq9SYcJ96PEz1BsMzr5lG/dLJOBaDRp+Ar03wOQnMPMV+HfRVRcUwa092FXTnGf2c1C6wNEpsLo+nJsLF8NB1RuSO4pF7lt9ITMUFyZiQyNiGYVSPd63xJHGTOIuG8hUp4lZYEE/+nORC8Sr22wxZzh12cQ9chAPC3MkTMeNH0kmW0tNMMMV/syEx1o+dF620N8XVuolXNarBPUrwW+6gciAkI3tOwFZRrIeBg2C7dvfdHslxbKxt4WTkxX165f/n/YRMhFC7ygeP05i3rzzbN7co8ypYs+e5TJlShRbt1bFxUXTOfXoATUChKnX8+eizdUVpk2D8OealJI/L8O6v0R5urWWRLbIRPpgf7C3BDkq+iuSWFCQhV9gKpGOYjJU9DCQIiETGbeogA/5LOYah3jOKu7ghxOnOcktbhokg4qgooDXfE4u+3HjKJY0gSebYHcAnOkI9y+CzY9g3048DUNvwENbsKwPURIIOQMx6jLMZ7fBvzMMOw0e/vBM3ZvJzEUHH3UXKjcC3/pw4yAcXwWZZTQ2q9gGet8E55pwojco9HMZA8GpL7yap9vMe0ixJRdNnb8tXljiTAoPi9sccUKGjFQ051NECGkbxBk0laYUDyEjKWNGK4TeQAhFR+ejUoGPT9k9hPLy5Dx7lkLt2iZCyIR/J+zsLKhSxfkf+QiVlvzk4SHI+9jYkttc1L9RfdlY0W9a30fIkIeQoQohfcmYClWJCiE5uRRyBUfiUJFLIY9JZzaZ/KQjgQXg9XZQ5UK5ESUv4sY3kHQd+j2EGiNLSsK0IS+EZ1fh0GJY8h5MrAxfB8EPPWDjGNj7LZxeC7cOQVKU8eMUIS9FyMzM1AxaeiycHgMBo6BCS00ksKo8rhwCJKTIu6CMGYxZ5CBqx8UQ9OIaV5VTqI0P5dUJbBIkpJPOfe6xi800xI54XFFSHz/88MCCrbiykUz2IkbNFSzh71qwKg5+U1f+SCTw6weGTaZXfA75hTBzfcnLWrNamP8vW2b4siUSCVu2VOXMmYw3elhpY/nyzjx4kMjmzXfL/BoTTDBBg3PnImnTxrfUfb77Loru3R8weXI4y5fHcOtWJpMmhfPrr3FIpZJSfbzu3IGXL6FrV8Pb/zgM7ZpARb3hdn4hbLwoKj+0EZYukqbG19Rtn5cEk1zAQau7XkEyrbGjoVZ16UbuEkRF6qjH94UUcoRDdKATzjir23IIYTmBDMKZqoAY979kLBZUwY2ZmjfJ2Qjpw8FpD1gP0LTH/gHn64FDHWh1G5y0gg4K8yDkF/jRH87OhxZfwJTn0GwCWBvxRvgnsHOH1rOgfO3S95NnQoYMDk2EtCjovwwCbCGwI4TEgNMaMF8Jzl5wqz+S5LOUZwkSzIjnC1RqEqc89alMJ0L4HqWa7KlARZrSnEP8WSwda4U3ntizHQ2r0xk7fLBgvVaojbc5DHMsWSU0pRZsCYMUvWHK2LZCNqY/pqhXA6p4w76Thi9/wAC4eFF8T0tDjx6uHDmS8tYVcgBt2viaCCET3i0oFEIq9tlnjWnSxKtMr5HLVQwb9oJRo9xp317MGHJyoKBAlJCOGAEnTsKKFXDokKgWOnJERAFWrw4R8fDxElg/Ffy1vGKKTKS399aYSH+qTOF5oiWfZ7nys7kz68nkil7FiidmbMGbNbShBi5kkM8AAnAkkjvcZjgjcTMSWawkkxQ+RM5j3Pgbc6qJCPhHiyAgFVrOAK9x8OR3iL8oRtCPrkH/hTB6A3z0E6Slw2018SO1gsAeYKPOTD+yDGY3FZVBAPvmwN2/YF5rOLEaPPzA3oDXhTFIzaDtVijMgotjS/aUHnMgbTvkPytukiDFmt7kclirTYIbDXRkY1KkuOnJxsphhRwlmWhmfkIyVkYPISMpY8Y8hAoLIS6udEIoPFxEzstkZTcfffw4CTs7C7y9S8myN8GE/3L8/0gak0qNR8/LzODTbrqpLyB8HmTSkkljxjyEbPSGDyl6hFA22eSQg5sWaZ/EXCqSRAG/k84c0piJFCfyuUwGc1GiLtdWFULCt+DxLUj1Optnf8CjNdDlCFgbSRcMvw7758OCDjDKCX7oDs9vQJ0uMHojdJ0Gge3B1hmSo+DGAdj9NUzxg3UGCCgdKCFWPWrdOBoWNIDzDyBaz7dAIkGqsMTl9QQcY19RWHCIQr/NSHx3Y23TncbR4VxmGtnqVdlwwtjIOp7xlEYEMYQPmU5vDhDG34iVmAAsWIcrX5DKdXUlaE1b2FMDPguHm+rbZ20OB/rDwSewVktFbGUhFmw2/g0HLuqerr298BOaNx9CjBiSe3iYs359ZcaPjyQ2tvSkuyI4OVmxbl1Xpkw5/j9djm+CCf8EcrmSCxeiaNvWt9T9QkIyyMtT4uVlSVhYLitXxrJvXzJ79yYxdOhjwsNzjL52+3bh/2ljwK9fpYItB0UFhz723gQXO2gboNu+4hH0rwyetpq2SzlwMw8maFUHhZPPPtKZpjWWv8MrbvOK4dQtbrvAeaywpjFBWvutwxZ3/BHBLipUvOIbFKRTkZVI1FVEZK+CjCng/BdYva+5qKdz4eFEkR5W52eQaV38vR3wfWVBCHVaBJOeQKMRIDMw8AXISIErB2HTTPh1kuG/LV/D9aOQXXYfNh28lkHIJXDMgao5kHUGyjWHVqvA1g2kPaHcVrDfCn7dIfYPpAoVnqwlj7sks6L4ULX5CCVyHqEpuWlNG3LI4SYiG16ChDE04BgveKGWiUmQ8CVurCOFRC3VwUxX2JsBYVqPhHou0NQdftUElgHQtxEkZ8FZvXaJBD7uKb5rhlChArRpAzt3Gt5ehGbNHFCp4OrVt5cpt23r+z/tI2SK5nkHsWrVdVJTc5k/v+2bd1Zj2bI40tLkLFwo2JylS+H8BfGAcHWB0aPFYHHxYti3H77+RvxAN6yH/ALoPw8Gt4cBWm/5Ohd67dY1kX6gKuByJtROdWJOTZBiRVdsiEBOM/XrklDghhmt1SsG/dQa4stc4ho3GcEoXHFDhULT6auh4BUpDESKG64cQoo9KNIhbjzkRELFnVCxD5RLFKbS974H+0CwstesMqcdBxcziHkh9rm6E5CIWHmlEtx8oeNnwkfo5ROxUhzcH9qOBI8qlIpbh8GnLrjqsSPmtkI+tr8xPFgJdSZptln6gfNQeDUHfHYUN1vTnSxWoyQbqdp0z52GPGUb2r5/RUljmtfJsEZGKnk4YKluM1IhZOASDFUI5RcIGYqhlLG4OHV4WsWS24rwnxhKmxJsTPg3o04dd+7de/sKoevXjdRWq+HjY9xH6FcDSTISieGkMWMeQu5vkIwlkIAzzliiqfor4BgFfIgHc4kngHJsxZIg7IFEOqMkWfTZqZtFtLyznoYhIQQujoFO+8G5RsmLKMwXVT839kHd9yGoDwxbCRVrGI4v0UdGEqS+YQmywdfwVy/42gNSc6BNUwheAL+OEnKANsMhOw6ij0L4NiQ5tzB3qEhml5lkSYbhwjYsHfvgkGFGRapxhek0YxmWWNGYYIIILr5nvjgwm6bM5jKOWNOMirTFmtk48TFJHKM8lZDRwRnm+EDvULhVH9wswNsR9vSF93dAXQ8oWhvy84SNX8AnS6FuVaii1S83agRzvxVR9HduG/YT6dGjHD16vGb48BccPx5Qpv73gw/86datOmPH/sXBgwNMfbYJJpQRt2/HI5NJqVu3dP+gw4drM3BgKImJBSxaVJmkpEJOn35N//5upKbKcXc3TGYoFMIndNMmw8e9ehdeJUPP9iW3/XIWxrTRrSRPzYct4XBRz5t/fpIgg5y1huxLSGIAjlRBnJscJeu4wxBq4ax+liSTxBUuMYJRSNWLEDFcIp4bdOInJOq2VDaQzTl8OFg8HibvAGR+CeVOg4WGTOLJLIj5DZpfEOP/IhTmwp9j4ekR6P4LBPYx/NzIy4E7p+DOSbh/HqIegncNCGyuWTjWR8pL+GUCJERA1fpQuzU07Cz+a1GGyvjUF/D+avCQiNj7cs3Aykestls7g5UD0AcktvCkO+TUB6kVMqzxYjNR9MaCKjjSEzMsaMIXnGIqHjTAndqYY05XurGHXdQkEDvs8MaB7lRjLbdZTFskSGiIDa2wZSXJLEB8JytbwCBHWJgMm7XsaqfWghGX4IvaYKn+3K3MYXgL8d1pp/cIH9INZi6HFzGiWkgfgwbBqlUwdarx2ySTSena1YWDB5Np0eLtKrlatvQhIuI1MTHpeHsbkTu8wzBVCL1jiIvL5JtvzrJuXTesrQ3oegzg2bNc5s+PY8uWqlhbSzl9Gn75FX5cDv36Cg+hiZNg82ZYuBB+WgmnT8HW38QAcs4WkCvgh7GaY6pUMOYvqOkqCKEi7IszIzfOji3VQSUR0wx/zIlWs807yWI/JSc6oTziLKcZwlBccUOJnOvMI4qjxfvIiSGJbsiogQvbxcRCngSPW8H5p3DVBnZvgis7RAyxTzcwt4e445CXBa+uw76mkP8Kuu8Ee3eIvANBfcHGEcbtgCX3of4HcP+4eFPPAPjqFAxc+GYyCOD+MVjZT8gY9GHrCW1/gzvfCVNrbbiOF0k7Kk0Vj4wAJFgjJ6y4zYGqZKM7obHDjmy9e2qBGQVaFUGFgJneBC9NDvZ6SozcQkH0udvqtr+IF6vPrgb60EePoGpVkJVCP9+7l0NgoLXxHQzg6tVYGjZ8+3hJE0z4b0KjRhW5ds2AtqsUBAbacO+e8RVfAP9q8PBhqbuUgIcdxOsVcTiYib5AG1KgUI8mKkRZ7PcAkEM2duqI2iIokGOHIMNl+GGmJSeTYE4xBZ1+AFw+A4lep3F3MdSaAN6dMIhdXwoJ79JQmLATOo4Fr8CykUEADm7gW+/N+6VXA4knzL0J/U+AT2NoOVQ8+Aqz4PosSH0gSiYbt0KirITDAxsc+YoUZT+UcaORICOQTylPM64yCzdsaEmrYjJIhQoJEmrhyhc04gduEoaoSh2OPd2xYThJxZWd07wgyB6GPdUYg7f2hW9bw+ADkKm1etu3NQzpAEMWigmhNqZMEf11aYPulSt9ePQol99/L7tXw4oVnbl6NeatyU8TTPhfRkhILE2aeCHVL+nUg4WFlPXrqyOTSfjjjwQcHWU4OsoYO9aTyZO9cHAwPAC7exeys6G9AcIHYP9J6N0BrPXW66JTICQCPmqm2743Auo4QwOt4s2IAjibDRO1qoMiKeA82YxDs2MIcRSi5D21BAzgPOeoQ10qIpgGBfncYyP1GY212l80jyck8wOerMNcLcFFkQBpI8Fxky4ZFPkrRG+CZnpkUG4abOkMKc9g3D2o3a/kcyMlDpYNhf4usE5tSj1kDuxIgHWPYOI6GPW94b+pm2FzOGyNht5TITcLVowUx1r9GWS+IUIrJgQKc8D3U/AaDC/DYFN7UGRDu4kiIS1qA7w4A5k+4PgCVGKMYKmqSkVWksDXFKorUh2oRCCDuMu6YjlZNfyphA9X0Jj89CWAaDJ4omU7MQU39pJOOpqHxxcusCMDMrSeJ128wMoMTuqtsQxvCYfvQrZekam7C3RoKhLtDKFnT7h3Tywyl4YuXcpx9qyBKNU3wMHBktq1Pbh+/Q2LQu8oTITQO4YZM07Rtav/G/XGRVCpVIwdG8mIEW4EBwuH/+vXYdhQ8PcXcX+jRsGXs+D6DVGu5+gIbm7Cp+JaKPx0AP6YBZZaCxDbHsDZSNjUXUgTVKi4lgHLIszY62WFu0xSPJ1wREoKSh5RwGoy6KiXVBPHS/azl970xRMvVCi5y3JySKACLQGQE0UyXbGiDc75C8XkovAlhLWCKDvIqAnt24KXM2ydCFH3wMFXRLxLlOBdC+KioPokaLMJHD3B3g1ex0Hrj+HzP8BTTWc36gmDv/9nH9DgH4Q2ee9sw9s924PUHOIv6LZbBQgZhZ65tJRyKNE46ksxQ4XuCF+OAhkaclCFikwKsEfzgSWgoLxetVVEHlTWGwSEpQq5WEXdeR53wqFOFZE4p49r16BJE8OXW4QrV7Jo1syu9J30cOrUCzp0KAMJZ4IJ/8Vo1cqH589TiYkpe4lzkyZ2hIfnkZRkPGksOBhCjMS4GkOACzzRs4fxtRJ9gTbKY0aCXj9jhzlZaM5HhkzHzB5EpZFU3Rc58h1mlNfaVkAxIZT3CKzr6ryWwiyIOQb+Qwyf/L1jcHY9TNgNLmWTSv8jXN8H5zbBhP3gVh2uTIbk+3BmvagovTFb9OHVhoBPbXB4Dyq0huyX2Ba0xz3KnTzLaPIqdlATPmNwoRZX+ZICNHICiRZB3wxPBhHAPK6SppZXz8MZKyTM5LUgjySwwR8e58ByLX5xalPwcYTJJ3QvY9kYSMmA5bpBZ0ilsH4d7NoNp4wMzB0dZfz0ky9TpkSTnGz8O6gNFxcbnj0bT716b05KMsEEEwQePEikbt2y+SS6uJgzeLAHkZF5TJgQRoUKYoxnY2PcY+3sWWjVyviC3bFL8H6rku1H7kFzPyEZ08b+KOjrq9u2OwM62IGb1nvsJp322OGuJVQ5SjjvURUz9dQ0g3Qe8ZDm6nE+QDhHscQJb3Wb8KqbjzNDsdaSmZExCSzbgXU/TVvKBQidCo32acyaATLiYUNrsHSAT06J8b82FHI4sAJGBYh/r74Nm8Lgs1XQog84GbavMAhXT2j7IUxcC1uj4PuLkBAFI6vDic3GXf07zIdrq+DSctjaDf4aBxZhYH8WotfA04WQeBSQQOAWcPWD9JkQvRHujcLu/h7slG1JQjN38aMrheQQjWa+0YJW3OQ6+WpJsg3mtMOXo2rZMoA/ltTCioNaz6ualhBgIQymiyCVQB9f8Z3QRkAF8HGBk3qm0yAi6I9dMnwLnJ2hfn3xnS0NQUH23L+fTV7e28fP/xMJ/7sCEyH0DuHy5WgOHnzCsmVliM1V448/knnyJJfvvtMMoBs1gr+OCmIIxI+wdWto2gR+2wq5uaI9N1/4Bs0ZCoGVNceMSoPP/4aN3cSKM8BsRTq95Em0q/uaW/YZFKJCph7wNsKCBxQwhVSm4UgVLfIig3S28TutaUtNAlGh4iG/kkooTVmABfYoSCSZvtikBeF4+BaS8yPhVF940gJsm8JTd2jxEbSYBbZp4F8LTqwSrptScyjMFFVAChm8FBGNOJWH2IdQTn1fFHIx2Aex4uz4D42MLaxEpdHxVfDoTMntEin49hRxyjrt5mDpLyZKWpDiglKLuZdghgqljmG0nEJkWg/dXOQoUeGgRwh5lIEQepwMNVxLmk3fDYf6RtKeQ65DcJDhbQBpaXJCQ3Np1sze+E56iIpKIyoqnVatfN68swkm/BfD0dGKxo09OX06osyvKVdORo0a1ly5YtyTJTgYbt0SHl5lRQ1X8RvXRuUyEkIOWOj4khkihNKoi0Rdzm9BPSTqahgFr7DmPaQ4gSIDCmPASs+RNOYY2PuAkwGpWHoC/DIMhv4EFf6D2PmyIO4pdJshpMMAVfrD9m+hUh2o3xzyU6DqQHBrKIj8uJ8h8yFYy+FFF2TKBkid5pPKSPJVl5EgpS6TsaUCIcxGTq7Bt+1NNWriwlJuoECFBRI24MppctmqNuR2kok4+jlREKIeq0sl8FsP2PdYeAoVwdoStsyAb7dCaKTue/n6wuJFMGo0ZBkJwOvd25mmTe2YPj3G8A4G4OT0drJgE0z4X8fbJqnWrGnLrFliXNSjh6i+kcuNkAzAuXPCm8UQYuLhSYSo2tDH4bsiXUwbaflwJh566Q3LdmXAAC0llRwVe0lnAJqS8hh1FUpHNJOJa1zDDz9c1VVEhWTzhL3U5qNiqVg2F8jjIS58rnmDvCOQfwwcVmnacqLgZl+ouRxcNAQTKeGwrjlUqCdKKS30jJQeXYZxDeHoWph9EGZuh0o1ypYq9iZIJOBXH+YdgQnr4Pc58EUriH5cct/ytaHbGjC3Bo9A+PgUtF8NTlXBtRMEH4DG+6HmEuEt5LIZUtdD2DxwbgoyB8qH3CEn/0/yCAXADHMCGcQjthcbTPvggwsu3NHyIn2PqlwhtngxAmAAjuwkTWeuMcBRfNba6O0Df0aD/lewWz3xHdJHlxZw4SZkGymAbtNGfGdLg6+vFY6OZty7V7qs3hDq1HF/65CPdwUmQugdgUKhZNy4v/nyyxZ4eZXNZDclpZApU6JZudIHR0cNYdCsGbRsAXv3iuqOrCywtoZx48S/I9Tzlq83gZMdTO2vdR5KGHoQBgZCt+qibYEqjd25Bfil29HdTsZDChhNMmHqDqgiMqKQ44eCq9wu7mAKKGAbv1MNf1qoVwOesY04LtKUxVjhgpIMUhiAZW5N7E/fQeLbExpNhPSjEA64zAe7chB2BTyCoWp/8LaGh/vh2DB4dUWs3noGCO+Hy3/A75Phu7bgVEFDCJnJhMdQTjYc3w8/zoY1C2DDD/D7Gti9EeR6ugpj8KoJQ36ANUMgw0DJfeU+EHlARx4GiMSx/FCdJinOOhVCRZ5KKi05mBy5DiGUQQFSJNhotb0qKyGUBDUMLIbcCYf6fiXblUphUBocXHJbEa5ezaJqVUvc3csmcQQ4fTqCoCBP7O3Lnkpmggn/rWjfvvJbEUIAzZrZceWK8bj6gACRNPbgQdmPGeAqfuPaKCKEtL3u3THjlR4hZF8GQigXDySUQx9mlMeeyUhxhLzHIHMTf9p4sU/0jfoDcaUSfv0YaraFVsNKv8C8XDh1CA7tgL2bYdsvsOlH+GURrJgDO9dD0qvSjyHPh5daxPyBX0EB9PwKMiPh9VNwDxLkvl0PKKwDSeeg8IyQ/toOxursPsrF9CdFMpRCHiFVqWhYOAILhZIbzCsenGtDgoSJNCCFPP5QD+jLI2M9rswhjZvqFd0gB5jrAwMfa6R+3o7w8/sw8rCuJLBpIHzeQyzsyPUWU8eOFcbkX31l+DZIJBJWr/Zl9+4Uzp//h0apJphgglEolSoePkx8Y5Jqfr6SmzczWLQoiqlTwzl5MpUVK/wYP15UupiZGSYv5HK4cAHaGrEbPXYJmtQFJ70pRWYunHkiJvXaOBIDgU5QRWv/Z/kQmg89tdb7zpGFDGiJxnvgb57TAu9iX8t88rnJdZqh8Zx4ygEc8cWD+oAY5yaxGFfGY1ZELikzIH0sOPwAZupqRHkO3OgFFXoLyVUR4u7A2uYQ2Bt6b9aNfk9LguXD4avO0OZD+Pke1Gtn+Eb9p5BIoHkvWP8YarUQC9CGUP19CB4L7eeBUyUo3xUa7IDwRRC+HBIeQvw9eHkd5E6g7AqWr6HSUKi5BKlVVTziapDE4uJD+tAGKea8QAQlSJDQjBZc5QoK9TPeC3tq4sopIotf9wEORFPIQzS6rwEOcCILUrWeJU3cwUIKF/Qeq93qwZH7JQui/HzAqzycu2H4FrRt++YKIYlEQuPGDly//vbPpdq1TRVCJvzLsX79bTIz85kyxQCVbwQzZsQQHGxHnz66A3RbWxgzBpKSYcVK4R20bRt8/bWQBNWsCZcewK+H4bcZIrWmCN9fhbgs+EFt8ZCJkhN5hWSFO3PAy5qPJHaMV1cBLSOdSPWEYRzWpHCHjlRCggQlSvaxG0us6Ep3JEiI5QzP2U9TFmFLeVTkksJgpHjglDsZiUNV8GsF8X2h2WQw94OwbdCgKzy/LmY0/kOh629g6Qy51jDgkcactK46gcapIrQZAVMOgKM7JCfArg0wqhs0coXvv4RXsRDxDO5dh0sn4Ojut1sxaDca/JrA2k9KpopVaA2KfEi4pttuFWikQkijPdYQQpoeWZ8QyqQAO8x1JAlllYw9ThayEm2oVHAnzDAh9OwZ5OdDnToltxXhypXMt6oOAkEItW9f+c07mmDCvwCCEHqBSr8vKAXNmtmXSghJpRAUZDwxyhACXAxXCOUoQVudZlgyZogQ0iU2VCiRcJcc9qIinwLuk8bXZLIGVVFlTN4jsAzUeR3yPIg+IgghfRxbCS8fw4hfS++DL5+C92rDgimw7Wc4tB3OHYXbVyA8FBJewv7foLkX9G0Kvy6G8Mcl++eu0yA5Gpa8L2LsE8Lhw6XgVQsUeWBbHiwcIOwS7BwHx0LAdQQ0vg+uY6F8a6j/JVYhp3B+3JDchLYoY4dgFtGbxpH3kObH8IA1OiuvRbDBnK8I5hDPCSEegKZYMRNHxpBMunohYIoX1LCBUc80p/9hLehcFUYc1r2keZ9AVh4s26X7XlKpCI3YsBEuX8YgfHwsmTvXizFjIsjPN16FYIIJJrw9nj9PpbBQSfXqpafWTp0aztixYWRnK7CxMePIkRTGjHnG2rXCbMWYifvt20IqVreuwc0cuyQqNvRxMhQqu0I1PZ5qfxT09tVt25UBXezAUWt4uZt0+uJY7FuZi5wzROp4B93hFuVwwQdxwDzSeMYhdXWQeF0GB1GQgRMfaQ6eOQtk/mD9ifh/lQrujQCZLdT6SbNfYihsEg9P1wAAIABJREFUbAstv4D3vtf1Cwo5IiRcWa9h7SMYMBPMjSSM5eXByaMweTTU94Xqbob/GvvBrAlw4Yzxsl0rWxi+GCqXEkGfHiuMpPMzxUK1UwOo8DWc3QBnZ8OeIbCvHxzuBTnOkFsAIQ0h4Qio5Ngqm5HLXbIRuiwJZtRmCKHsRF6UXKlWYzxGswD9HlU5xnMU6ueSLVK6Yc8uNF49VSygnhUc0OJhpBJRMbYvUvcymvtBoQKu662DSSTiO3dMLwWzCC1bipTrmDcUpgYF2XPjxtunWtap48Hz56lkZua/eed3DCZC6B1ASkoOX311hhUrumBpWbbguAsXMti5M4XVq311HhYKhZo38YfNm6B9O0hIgB074fVr2LcXsnNFQsn8T6C6VljWnXiYex7+6KmJJX+eJeV+qozWNTIwM1dghYTqmPMhtihQcZ8CpCgJ5z7N8aQ9otb0JCdIJJGBDEKGjNc84R4racQsHPBFhZxURgEKyrEJiaUHvDwOD1qB6xSosADqfwnPtkLFSiCzFNU/inwRVVy7Byg8xMVu+BQSXogT9gqEbtOgXg9R/dOvOTTzhD2boFELOHwHTj6BJZvg+99g1S5Y+ydsOW7YQMcQIp7BjnWQWREOn4HugfDlaM3KtJk5+HSHiP26r7OqaYAQctYhhKRlJIS0/YOgJCGkUkGkMcmY3sL9y2R4nQW1DPAzISHQsKGoVDCGt/UPUqlUnD5t8g8y4d1B06bevH6dx5MnZTfpbdbMjhs3skqdiAcHle4jpFJBoVzIf5/FiN92Ug6kaJVr25qBu7mubKw8ZiSj1DGWNlQhpCghK7sPHCCTn0hnDul8jRlu5HOWdOYLUig/tKRc7OUpsHIF1/q67ZF3YM/XMG472BpJFElJgqlD4bPe8MkkOPUUdl2ErSdh/WFYvQd++B0WbYDdl+DKS+g/UhBF3RtAh+qweDrERorjWdnB12dEqmTfefDtZSjvJyo6q/SBwmxYWBU294XQ0+BWQ4QZPPweIqdB/mvw+QDarMHq8VWsMtzIsA1BUXk9UqdhNIoOI0F1hQh083cjeIEcOZVwYAL1+YGbxKvDAkZjjz/mfEEqKlRCJlYdrmTA2njNMda8Dw8T4ZebmjYrC7GwM/93ePBC99b5+8Oc2TBipJj3GMLEieWxtJSydGm84R3KCJVKRX6+nDNnIli//hbh4W8wWTXBhHcc16+/pF698pibGx9bRkTkcvLka27caMjMmZWYPt2bpUurMmpURX7/PYGlS41ETSKkN61bG/bcLyyEU1eFp4s+DhmQi2UXwrFYIRHSxs4MGKhVMZSCnLNk0UdLLnaeaDywo7q6elSJkqtcoTktismfMA7jRiAuBKj3ySOJH3DjC6RFSZYFlyF3Cziu0ywOPF8GqZeh0V6Qqse9uWliotJkPLScpndTdsLCATDuZ5h9ADwM2BKkp8He7TCivyB7po0VMoof18Pu44b/FqwUq6NjBkEND/hsKBzZLxy93waOXtD1J5FunJYIf0yAH8bDXQXI6sKgA9CwFjwPB7+F0PoC5DyCuM1gUxmpR19c+IxEFhUrCSrSBGuciUSYxplhRhOacYXLxQsTwVREjpLbaPr5vjhymAzytRQJAx3FZ66N3j5wIEoTdgCikOD92uK7pI/SfIQcHMSc4k2yscaN/xkhVL68HZ6eDty8+Qbn6ncQJkLoHcDs2Wdp0sSLrl39y7R/QYGSMWMimDPHE19fS1JTISwM0tIEp6G9mDBqFHz7LRw5DMuXg4sLfLkRPJxhYm/NfrmFQn47ozkEq1VWWQoVAx/Dh1IbnC1VnCaPRPUEwQ9zWmPFJfL4hQcoUPEpoozkDre5zU2GMBQbbMglkevMJYBhuNMYFUrSmIScKHWamA0QBeVy4JUveMwUJ+DZFhz9IGoHNB0A2z6HFxch/hm8CoPmg4QMrPkgTUJYYSH88TO08xPSsD4fw+VY2HsFPp0BVQP+8ecEwPMn8N1kOPg7SGXQaSgUhIM58NVoeKV2t6/SByL26S7lWgUKOYWWlEyYSr9thVChjn8QlJSMJRaKqgBfLUJIoYRnKcJnRBt3wiDAG2wM2ENcuwZNSpGLyeUqQkKyaN687BVCjx4lkZlZQJOiHGUTTPiXw8pKRosWlTh16sWbd1bD398KOzsz7twxPqBs0kT8Bg0hJhGW7IBes8F7AAyYD/M3gxugz0vp+wi5qfuKJK1+RngIlW4qbUc0UqbjwQVy2I0TC7FnIq7spYBrKMkQpLeVXoVQxH6o3Fv34ZSXDas+hG4zwV8v6gZE37nvN+hcA3Ky4FgoDB33ZuLe1QP6j4B1h+BmMsxYCnHR0KkGLJwKr9WebUG9oWpj+HuFOBczdR8rbwNKV2g9Gqafh9F/QetP4HkhEAB/toK4U/BwOhKkmHusQenUiWTziSgdWmEmsSaocAyP2UIiom5eiZJTnOQQB1GhojXetKMSC7lGPgqkSFiJC9fI4w81SeRmAdsCYOoLeKj+ijhZCT+h6ad0P+PGATC5LwxbLAhCbUyZAnZ2MG+e4dslk0lYu7YyixbFERZmhDUqA7ZuvUeXLtsYOvQAISEvGTJkPzt3vmVMngkmvEMICXlJcLBnqftEReXh4yMGX3Z2MuztZVSsaMkHH7iwdq0/hw4ZX2Q4e9a4f9C1eyIopr6eZZtCCX/dKykXO/4SvG2hphYv/zBPJIx11RreHSKD+ljjox6DqlBxlHDep2ox+fOYUFSoqIl4DhSSw3OOEkDf4uO8ZitmOOJAD9GgyhOpYnbfgkxdaZTxEJ5+C433gaW6nEmphN2DwaUatJ+rexF/b4CVo+Cb/dBmYMmb8ioeRn0IAe6waglUqwGHL8CdSFi4Etp0hLoNDP91+gCWr4WHcbDjL/CoAPNmQnVXmPIppL0u+X7GUK4KHFkLsz+A49vBuzb0mAYPbsKhn0GeAc5VIC1GJKw51QX7p1B9Htj546wahoJUMjgMCJlYAH15ygGU6md2AxqSRCLRCELRDCldqKpjLt0Qa5wx4zSaSuV+DnAuGxK1niOtK0CeAkL05OjdjfgItWkM0fEQHlVyG4jv7JtkY40bO/DkSQ7p6WW08tBCcLAnISH/e0ljJkLoX457916xefNdVqzoXObXLFsWj7m5lEmTyhMVBZ06w5dfQc1A+O47QQ4plZo42iKNp6UlnL8HG4/C5um64+qZp8HBEr7SWk2Y/kKCmzmsKm9JEJbsJZudZHEcsfx8nFxyyeISMXxNMBaYEU8cRzhEfwbigity8rjOXDwIogq9UKEig2/J5wqu7BYmpHmhEPEB1PkScIb7KzQnUbEd2PtC5/HQZgzs+x5+7A0+dYUJqFIJNVqLycPfe6FLIGxdBQvWidXigaPA7f8wFWXpTGjRURz7mxXw9S8wYjoU3IDsLIhUR8h7doC8ZEjR6i0tqwFynaQxY4SQslRCKB87LUJIhaqEqXREHniYg3Y4RWSaSAmq4qx7SXfeZChdCiH04EEOZmYSatYse+T86dMvaNmyEhYWZazIMsGEfwHe1kdIIpG80UcoOBiePhXVndr4cQ/UHQWXHkLfVvDkN7i0EnLywTLhzcbS5khwQaojGyuLh5AIUpept/sjxV1rqwyQlCSEFIUQ+acghLSx5xsh6e35ZckLjwiDjzrA8q9g4Qb4ZT9U+AcEso0tdOoJP+2E/SEQFgptq8LapcKPCET16Wv1amJ4CMQ+gi5fQttZ4FwZos9D/FNw8QbfEVDrc7g0HtKfQ7UPkdi3xlmxBPNsR3JSu6OyqoaTRTvqMpGbLCKTaKRIGciHhBPGTUTJ1whqY44ZvyCeEW6YsQZXZvOap2piro0TTPKEIU+gqJCsbWX4rJFYwCnQKuCa/ZEo4V+0XfcWyGSiWnjFSiExMYTgYDuGD3dj7NiIt5I9gggIaNVqMz/8cJXBg2sTGzuFDRu6M29eW5Ytu/JWxzLBhHcJ16+/mRAKCLDBwcGMPn0ecubMa549yyE2No/ExAJOnHhNhQqGfRYLC+HixdL9gzo3L1k9FPJCVHo0rarbvj9KJEppc/Y7M6CbPdhpHWOvWi5WhCekkEg2rRFyAxUqLnOJJjTDTD0mfc7fOOCNK6JyVEE6KazBnZnF5tJkLQSJDdhOFv+vUsC9kVBlAjg11pzA6TmQEgb9t+le3IEVsH4qzPsLGunNp5RK2LoemqnNpK88FpOhmXOhTv23s4uQSqFxU5izBEKewskbEBcjjn1ob0mJsiHsXAjHNkCjYOgQBNP3Q6eRMHwJXPkLUmxBFQWWaUIqlpYN8kTIWStOQWKNK1NIZhlKtUzMk2ZIkBKD0GpZYUUjGnMFTalORypzj0Ti1QSQBAl9cGQvmoRUb3NoYg17taqEzKXQvRLsj9S9jM614OkriNAjiuxsoWVDOG5EqlwWHyEPDwsqVbLk1q23rxIyEUIm/OugUqkYP/5vJkwIplq10jXGRQgPz2PhwjjWrvXF3FzKp2NgQH/YsxsO7IcrV2HmLLh7VxA+Fy7Ahg3itVlqqdjCkVBNa2x94jlsugt/9AKZ+ht1NBX+SITN1VWYSWAY9nyOAy9R8BtZ9CABCQriuMs0GuOBLbnkspPttKINVfFDhZI7LEOGDXUYhwQJWawihz24shczKkBBNLzoDK6fg++30HAO3J4Hj34RxNCDH8FOrWsbsBRGbYClD6H/d2BhLTrnGxehXzOYOx5GfgFHH0DHHv83KQL6MDMD94q6bT2/gqRIyMuEdDW5I7OCSl1108YMJI390wohbclYJipyUelIxoz5B1Urp/mMi5DwGhoaIIRycuD+/dIj569cyaRpUzuk0rLfa5N/kAnvIjp0qMK5c5GlJsLoQ/gIGR/wuLlBlSqaxEgQ0rCroXB8CRxZCB93AVdHsLWGoZ0gP7XsSWPaxtJ2mJcghJQoS8jGivooJxYhRZtdLgRFtjphTIsQir8AZpbgoeWPl58D5zYK7x6pHjEc/QJ6NQa/mqIqqFNPo/fnrRBQBzb/DWv2wV+7oL0/7N0i/ODKqw3UXoWJc/MLFs+XjFg4Px9y4sBVLT1wbQiWtlCzIdReDC9PI7nwKc5nXmJz8Tk58uuokOOVV5Ha6Z6EMJsCMrDHgf4M5Bh/E0sM5kj5kiCuEc8JtdlnK6wYiT2jSSZXXcY/xwfMJDA7UnMp89uKlf655zVtlmrp2OIdIjVSG7Vrw/RpQjpmzP5iwQIvQkNz2bYtxfAORrBt2wP8/V24f38sI0c2KG6vXt0FHx9HUrT1iyaY8D+C/Hw5d+68Iji4dCK7fHlL1q+vTp06dvz4YyxffRXB4sXRDBgQyvnzaUyb5m3wdbdugZUV1Kpl+LjG/IMO3YEP6uh6hxYo4HC0rn+QSlUyXewx/4+98w6Polzb+G832Wx6byQQElKooYYSUHpXkI6g2EGagAoCigKCgCCIwhEsiEq1AYL03gWkJyEVQhLSe9sk274/3k12stlAON/54+DJzZWLa2be2Z2ZTN5yP/dzP2XcpYLBGCVDB0igD/5YG+aoSSSRRSbt6QCAlgri2EszRlcpiHL4CmtCsaO7+BBdoSA7nL8DmWGue28dqHMhZKHxAiJ3wcUv4MU9YONsvNBtS2D7Elh+DEK7V7/huBh4rhesXgJfb4dvtkOACRv270Img+athGLo4zUi9WzCMEhNqf2c7Adw6zR8tAtCWoCVvaiMpsqH6JPg5gC5Ogh9AWI/hrjvwft5CNgKRXNBKz7biRHIsSefrYCwm2jGCKL5vSqVrAvhxBJDjqGSsRs2dMaHQxiVzCNw4iwlZEqCP2arjfkL0lDKdznZQo+mtVcbO1iLj9BTTwkPocTE2h8T/PtpY507N+TSpZTHDm486agnhJ5gbN9+m4SEPBYs6P7oxggCadq0RF55xZ0uXRwoLBQG0qMMKszOnUVqWFAgPDcMrlwBV1doZ7BtmPsNNPKA6ZL5dUEZvLYXVveDIFfIQ8tFdQWvZqj4MhCCbIwL/aex5iOc+RZ3VuOEktsMJ4iOeKNHz25+wwNPnjZ08rFsp4AEwliAHAUq9lPEGtz4GUuagCYX7vYHx2fByyD99O0NPTdDRT6knoB+v4P/UOMFu0kGV1UpzBwHrw+GHoPhRDyMmyRCog+BtqSE8tR/M7+0XTgc2S2q2ezZCj+ugxXzIFYJygro1s/YtsnImj5CyhaPIITEn7Re0jmblp0XHkJGU590tNggw0FiMv2wkvOm+NdMmDWq5v6rV8HTExo+ZD5z/vzj+Qep1VpOn75f7x9Uj38c2rXzRiaTcfVq3fuWrl3tOX+++KETl86dq6eNabRwJ0mkCUlRVAo7T0D3ThBVS6UxKUwJoZpl50UfI1UJZRGCzEBGW9EOmaGNllRsGIKsPNlQYUzS0STuBv/hompXJa7sFhUgg8zID2e/BMMmwKJ14FC3ipsAmoICKjLrUF2kWx/YcwXmfgrrFsOwMEFCgTCb9msNzt5QUQbpSfBAC+UJoLkF+TGQfBDcWkHFTci/DLc/AVstMj8FNBmG1ZV4igreAksvGmZeJSg7i7/5BB1a/AmgN335mR2UUoo7tsyjExu5yV2Dued7OGGHjMWGbSs5bG0G61PhrCGQq7QUAZy1l+CyJBDaPgTmjDWfOvb++6Iq0apV5h+Lk5MlX37ZmHfeuU9eXt1k+iUlFezfH8e0aR2r7b92LY1Ro34lONgVNzfbWs6uRz3+ubh5MwMHBysCA10e2dbFRcHChf5s3tyUt99uSLduTqxa1YRff21Jp07m+8CTJ2v3D8rMgRvR0L9bzWN/3qqZLnYiDZysoIMkLn29DDI0MEgyvdtFIYNwwN4QFCiknAukVDOTvsh5wuiINWICep8TWOFIAwNBpCaNPH7Ek3nGD5Y7gkc8KAyLldIkiF4Arb8FC4P6PDsOfn8FRv4AnhKPui0L4c9/wcpT0FTSD+n1sHEt9GkPoW3hXCT0G2zmSf4HIJPBqPFCeeTkDF1bwC9bzLd194XcVKgohy5Thdppw2B4rwNseBcc5dB/MXRbDWG7wWkcRN0HZX+wehaKFoivxAIP5pLNOrQI0qQxvamgiDSEyZwTzrSkFRcxSnUGE8gx7qE2jP2+KOiELX9IVEKjHeFCKTyQBA/6+UCGCm6ZWMMNaQP7bta8zYFPw8nLUF5R85i9PXTs+Ggfoc6dHfnrr8evNNahQwMyM0tISfnfqp5ZTwg9oVCp1Myff5xPP+2Lvb3Vo08ADh0q4OrVEj75REQMHB3ByREWSdJo5XL49FOY+AacPi2iB+Hh8HcMbD4Em+ZUH0AWnoambjDRENh7iWyWawuxDchnt1cGpymjBB06iTO9HXKOEo0b1oxDJChf5W9SSWUko5EjJ4sbxPMrnViIEic03CePt3BhHVa0Br0G7j8Pyqbgu766msf/OWg3HwbuBQ9jxLEa8nJESkHGA0EEvfWhSA8wA71OR/G1a6SsWEFE795ccnXlbz8/ogYPJnf/fvRardnzzGLibBg8GvZugz93QvRNsFTAkJHQWAn2kmRrpxBQmdRqlFuDZIGlR4UMI3NTblgEKHA0HNeTTz4OGCcFyRTig3GUvkMFgVhWqzr2dxG0Nnkc55IgzETcVAlzYqrDh4W0szahlVqt4/DhAvr2dTLfwAxOnLiHg4MVbdr8B9P46lGP/wJYWMgZPDiY3buj63xOp072FBdruX69dhVFr55w+Ihxu4W/UMBvPihMhL/eBxOWiRSy2BR4uTf89UAoSCrRxg6uFVc3hQxCQbTEM6gB9jygGK0huqhEiRVW5EuqkKgJRI0ePVrDjw49eizwwYF3kOstQGbCRJekgpOJBDH1DjR9qmbnkpkmzKDf/eRhj60aim/cIH7iRK74+HClQQNutG1L4nvvkX/sGLranJTlchg6Ho5EQ6ceQmEacQ2adoMT38C5bbDtXTjyL/APh/euQ/IB+G0CRJyFC/dhmxVsGgaqW2Ang8bvIm//MxYOXVEX7UZleR6Z31Ya56RgV3CdWEQuV1e64YU3+w3+D23xZDjBrOEqGnQokLEBd36hhAuI629uCx/7w6RYqDD8Xlt5wrxuMOVA9d/1By8I0nDd7uq3bGUF33wNy5bXXuFl5EhX2rSxZfnyupGadnZWhIZ68sMPN9Dp9Ny8mc7EiXuZMmU/AwcG8umn/R79IfWoxz8QUVFZtGrlWWuFsErcv1/Gli3pTJ0ay9Kl94mOLqVtW3vCwhyxsqp9iXfjhlhUm8PfERDcGDyqFyAmvxQiH0DPptX3n02Hvj7Vu+NjJdDXDmwkl3CaYvpL1EHXyaARjjQ0zE/VqIklhvaEVbVJ4iyBDKgKdhayC1u6YI2JtEkumTvf+xI8B4F7D+O+I/Og9XhRYr4Slw/AnrWCDJJW9tLp4KPZ8MVy+P2Y8AdyqN3nUqtS8WDjRv4OC+NSSIjZn2tdu5K+dSu62iSWAG7u8K8f4bufYe50WFcL+95tJGx6DzbMhCidkHR6NYWZn8EHl8EvXNyDlQuEjob8+3D9J3D8CFQ7QSdyyO3oiQIfijkMgAVW+NOXJM5UfVV7OhBFZJW5dCs8UCAnGqMSdCAOnMboZehlCR1s4KTE3tDGEp72grMZ1W+lV3P4K6Fm+fmWQaCwhCgTtWolOnWCm2aIJCk6dHDg5s3aU+prg52dFYGBrkSZRsb+4agnhJ5QrFt3GQ8PO8aPf0h5Qgm0Wj3vvZfERx/54uxsVIt8+ikkJMCAgRApKWDl4iLSx0D8oU7/Et4dDUGSdObbGfD1VVg/SAwES8nHGwv2WrtzV9mAp2RK1lDAbkqRG8iGTRRxiSyOcJ9ZtMcCGbnkcogDDGMkNthQTj7X+JRWvIkjAehRk8skbBmFDUPEl6e9D+oU8NsCssf0kklNgrFPgWcD+PGIMBE1gU6tJnPLFmLGjeOylxcRvXpRdPkybqNH0y4qirCkJOw7d+b+3Lnoyh+jPGF5GYT3hu2nYMNumP8ZzFsJfQaB3uRzNKXG6EbVvkywNPpuaLmPBcYqCMUkY4MnlgaSqIgiVKjwQtyjHj0x5NFUkqpxlQrCMOaZ6/VwpgB6SMwB1Vo4mQj9HkOYc/gIDB5U+/EzZ4qwspLRpUvdFUI7d0YyZkzLx0oxq0c9nhQ8/3xLdu6MqLNU2dpazjPPOLNrV+0VmQYPFilj+UZehvUzhPfXs+/D/r9EhcCfP4QDK0TlDxkgLbLRzl540ERKeKcOKLmKsc9qiANyZCQiompy5HjiRbqkKokDfpRyjHzeJYdRZDOCPCajYr+QqVt6ij5Oev+WtqBVVb+psmJR7csUkdehSdNHKoN0FRVk7djBrW7duN2tG8hktL5wgU4ZGfjOn486J4e4V1/lkosLkQMG8GD1atQ5ZlKhlEpY8LlINX6hF+SqYcbPEHkcbJyg52vw/DLYPBuyQyDDDryHQmBP8GwPFu1AGQ7KZ8B5NDw4gdzCCUd1H0qK30SjVCDzmEWz4oYk6H8lm5vIkPEcw0kgnghuA/A8zdCi53diAWiMJXNx4h1yq1LHZvqCUg6rJNkIc7oKle83Em8gKwWsewsW/wTpJq9VeDgMHw5z52EWMpmMlSv9WL8+g/v36zYuLl7ck8TEAgYM2Mozz2zH0VHJmjX9WbSoJwBabd1TKOtRj38KEhJyCQpyfWibyMgSJk2K4eefM2nTxh4vLyv++quQjz++z86dGQ89Nzoamjc3fywiHkLN2ADcSgYfZ/Aw6V6v5kCYiXr8fCl0k4j78tASRwWdMM5pb5NJG4mP3D3uYo8D7ogPq6CYbKLwwagELWSf0UjaHDSlkLwJAmYY9yVfgrjD0GeRcV9xPqx5Faauh0Ymctk1n8D+XbD/vPD7qQXqnBwSP/6Yvxo3JvWrr/CdOpWQDRvM/ni98AKJixZxKTCQ5DVr0BQ9JJWp7yDYcxLWrxTeRaYYOw9e+hgsrWD0XPjgD3h7B/SaLsxftVrIjoHYQ6L9sG/gwhegbQiKNlD2KyA8gBwZSiF7qz7ah06kc7XKXNqPxlRQQQbpVeeE4sktjGrajthwDVW1qqPdbOC8ybDdwV28K1I08xYph3dNuBeZDFoFi3fRHJo1E+/ww9C8uS2JiWWoVI8RtDcgMNCFhITHMPr+B6BuNcrr8V+FnJxSli07y65dY+u8MP7pp2xKS3VMnuxZbb+HB/yxB1avhoGDYMRwaNMG1q2HHzaLNj8ehrQcmD/eeJ5eD9MOwlsdjWXIvbHA1yAFlclgDs60opR55FGOnvHYkY2GTVznRZrjgz06dOzmd9rSjiCC0KPnBp/jRkv8EGxCIcvRU4YThjInedsh5xsIuQwWdU8JACAmAl4dAH2GwqL1ZivOFJw6xd3p09Gp1XiMG0eDt97CoVMnZCapZH4LF9Loo48eGcGphohr8MdW+Pgr8ZAcDayLpbVY5EihKRWLoWr7qhNCGpKxwJgjXkwS9pLtdNJwxQ0rQ5rGA4opR0sARrbnKuW8LFEMRZWCSgcdJOutK6kizaBtHYU5ubnCgLRPn9rb7NqVy/DhLnV+h8vLNezadYejRyfU7SLqUY8nDP37B1JQUM6lSw/qXEVv5EhXFi5MYelS814Rvr4QHCzk1cMM6b692omfL98S2xVqQQTo9eKndwAcu2esGKmQQzcnQRSHGpSDHbAiCjUl6LBDjgUyQnAhhlwCDf2LN95VE0kAZyKByyiYhQ3iYrSkU8x6yjmHk+U7yPTloCsy9u2WtqIvlKK8BJwb1LzZiKvQshZVKKArKyN52TIyvvkGCwcHvKdOpcWff2LpYiTIPcaOxWPsWPR6PaqYGPKPHCFn925Sli2j8fLleL3+OjLpuCGTwaQ5ovjAm8/B8k3w+kYxWQcozIKre2HIXPjgJBRkwIHPADVM+BosSuD4BEg/BSmnwLkZCrvhuN3dSUmD/tjl6FG6z6CFrBF/EzoPAAAgAElEQVTXWElPNuKAA0N4jr3soTGNccCRWbRnHmcJxwc/HHkDB/ZQymcU8CEuWMpgYzD0uQXPe0CgDVhbwpcDhcH0qObgYfjd9m4PA8JEmviPJuTPiuXQrDmcOye8HEzRrp0do0a58uGHKfz006O9Nry87Pnjj+dJSyvCw8MOS4lJnV6vx8KiPm5Zj/89xMfn0bq150Pb/PZbFs2b27J2bTDl5Tq0Wj0FBRqOHcvjyy8fYGUlZ8QIjxrn6XQQGysW1eYQEScW46a4mQxt/arv0+tFMcbF7arvu6CC+RKS6AqlBGKFq2TZeYtMJmE8MZ44ggmuUquncxUn/LBF3EM5sVRwD3seohx8sB1s/MD1KePFHJ4HXWeBg2QC+8sKCGgNfUzmk1cuwpcrBBnUJMjsV6ju3SNlzRrSvv8ex/Bwmm/Zgkv//g9dC7j06YPP5Mlk79lD0qpVJH78MT6TJ9Nw5kyUDcyMZW3awzc74KXhEN4dgiWyLEsrCO4AjVuBlVL8QlMuw71UaGVQQFnZwc/jYPJFyE8CR18oLwSbl6B0C9hOAsCRIWTxGRpysMQNV4KRoyCbKDxpjSWWNKEJscTijbjOUDw5YfCtAwhBiQIZkZTR1kD4dbOFRSYkTwc32JtUfZ/CElr6iHcryCQ23ypIvIvm0KwZrFxZ6+MGwNvbCkdHC2JiSmnbtu6VjKGSEKo90PZPRP1I+wRi6dIzdO3aiN6962asW1qqZcGCZJYvb2RWQurmJqqL7d4FWdmQkQEfLoCuXSG/GOZ+C2umVi8rvu023M2DDyX2Re7I+YJCrkmixoOwZQ2uXKMcG+R48gBbFAxDdLQXOE8RRfRnIADJHCGfWFozAxkyyjhJCZtw5VuRGlV6DVImQePtwmDZHEryIel2zf1XzsLzT8O4yYKQMSGDyh88IGbcOO4MHYrnq6/SLiICv0WLcOzatQYZVInHIoMAWnWAaSKHt5pXkZ2TWORIoVGB5aMUQklYYhyhi0k2IYTS8cY4CMaQRyDOKAx/+hXouU0FHSQKoTMFEO4ovCcqcfQu9AmAugpzTp0S0SfvWggknU7P7t15jBjx8AiYFIcOxePmZkPHjrXkrdWjHk84lEpLRoxo9ljltgcNcubu3XLu3FHV2qZPbzh+vPq+qWuh0NDlKAxdkUwmzEL7NRF/81J0d4LTEpWRDxZ4YMEtiW9QU1yIwRhV86YB6RJCyIq/SSYceyZiTU+s6Ykdz+PBQco4jl5uBTIr0Eii25Y2oi+UolaF0LWHEkIPPvuMnN9+I/jHH2kfE4Pv229XI4OkkMlk2DZrhs+MGYSePEnwDz+QsmIFt7p0oejSpZonDJ8gDKc/mAhbNoh9Oi04esCqKPh7D3z3JpzcBMnXwPpv0KSAtS8oGsKJP0FjBR0/Bs8XwHE4aEsocw0Ah0H48yyOBBCB+OyWtCKYEPawGz16muLKYAL4gmto0WOBjM9xZRPFVb+jLo7wkhdMizeKsAYHQ4/GMP9E9dv5bDL8fgbOm7yKvr4wfx7MmGmsRGqKJUsa8ttvuVy/XmK+gRmcOpVIaalIp9AZchNlMhmFheVUVGj/5ww+6/G/jYSEXAIDHz4/0mr12BpKwSqVcmxtLWjQQMmECd706ePC9evm02WSkoQfWJNaFN+3YyHUzPT6ZjK0MYk7JJVAfgW0llxqbAUU6aCdZM1wBRUdMQY4syglk1JaYGSN4ogjCCMTlcplGtCparuQvdjTFwtqUZXr9ZC4HvynG/PX4o9C+i14eo6xXVYy/PGlqMolncMXFcLkF2DeEuEbZPrxWi1xM2ZwuVkz1NnZtDt7lrbHjuE6YECd1gIyCws8Ro6k/cWLhO7bR2lUFH8FBJC4eLH5/q1HX3hlMrw5HiokZjpyOURdhPVTjNuWSjj9CZQUQGEOOPtBq9Fw4B3x498dHH3AZiyoL4FGlI9X4IsNbSnigLhG5PjQiVSMlSiCCSEeIzPTGg9iyaHcoCKSI6MjtlzBGLjpagsR5ZAvGSM6uENUPqhMLObaNIIbJkQRCFLydqz5Z9msGdy/D6rapz3IZDKaN7cjKurxCxMEBroSH/+/pRCqJ4SeMNy9m8fGjVf59NO+dT5n7dp0fH2tGD269sFFLoewMNi+DebPhwkG0nzRD9AmEEZIyskXlMGcY/BZP3CQVLQchh1v4sBMcvgJ40DkjQWxqLlGLntJYCbtsUBOBhmc5DgjGIUVVpSSTgQbacs7WOGIlgzymIoTy1EQAtp8SBwBnu+Do8HcrdCkTHOFClYPhb3Lq+8/sgdeGwRzVwq/IEnnrauoIGXVKq41awZyOe2io/F9913kCgX/H5jt4JVK8PIRnfv1v2DvdmEsfeIImEpITRVCer2BEDLS6BqSsJAQQkUk4yAhhDJMCKF48giRpItFUoENcppIojanC6CHia3P0buPly527JhYhNaGS5eKKSvT0aNH3Vn7XbuiGT26xeOTcPWoxxOEMWNasmvXnTovgO3tLRgwwIndu2uPZvXtC8dMCKF+HaDMMMes/JPKyoeoROjpBxeSoVgyB+1hUAhVXpYMGe2x4qqEEArBhXiJZ5AX3tVSxuTYUMb9alUQ9RKZOTK56N80EnPn2hRCSjOebw8hhNQ5OTxYtYrAr77CZcAAZObcVB8C1yFDaBcZicuQIUT07k3cG2+gzjIJgfYYCFuOw1dLYeU8cT86Lbj7weQf4PYROPkdjPsC+q6Cky/BpTlQGAOKMriZC2pHKL6ATFuI0uV78jyjKLOMQabJoX1hC0pVR0g1lAJ+hiGkk8Y1gwnoBFqQRzl/Iib7zbBiCg7MJhet4Tkv84frxfCrpJLc2gGwIwL+kqST+XnB+y+IdHFT4uedd6CgADZvNv+sGjdWMn26F3PmJNX5Pc7PL+P2bUEEyuUy0tKKWL78LDNmHGTs2N8YN+539u2LqdNn1aMeTzoSEvIemTI2ZowH584V8Pbb8Rw7lktERDHR0SVcu1bExYsFhIWZn19FR0NgIJib4mo0cOeueYXQjSRoa0IIXc2Gls7CI6YSF1TQ0VqkqFbiMqXV0sVukUkwLtgaCgvkkks+eTQxGEzrUJPGVXwMhJAePYXsxbHSNsIccs+D6j74GtIZ9Ho4/hH0mAfWkkntlkUQPgyCTcaK96ZBk2CYPKvGR+sqKogaP568Y8foFBVFix07cGhfe/DhYZDJZDg//TShe/fS/q+/SPvuO+Leegu9qZEOwPtLQa+DZQuq728RDuM/NG5XKCBDAe+FwTfvwryecPUsdHsHXjkM4YYUOrk7KAeDamvVqebSxlK5XDU2BxFMEvcpM3jSeWGHCzZESXyEOmLDZYzsjLclBCjgLwlh08gOXJRimJOirR/cNFNYLTSkdoWQt7ewdYqr5Xglmje35c6dxyeEgoJc6xVC9fjvxgcfnGD8+FaEhtb0vTGHrCw1K1aksmqV32MvpG/fha//hC+nVyfRZ52Bph4w1lAZuDLNAGAyDryHM5soYiyZ/Ewxb5PLKGz5nuuMJJgAnNCiZRe/0oWu+OFnKDG/Gl964kVH9OjIYwpKemDLOPEFyW+IcsSeBg17wq+wKwwqDE7wWg2se17IJyd+Z7zgXT/Buy/Cmm3w/MRq91hw+jQ32rQha8sWWuzfT9Nt21D6/GcUKLU+78J82Pw5bNsAZ4/A3WiIj4VbpbDja2M7rao6IaTNB73aRCGU/EiFkFc1Qii/Kp0DhH9QB6yqJLqV/kHdJWNnUblYKPTyg+wCo6/Ew+b5x0+IRWht2LUrj6FDXVAo6tYF6XR6Dh6M45lnalGF1aMe/xD06OFPTo7qsQwNR4xwZdeu2qNZPXuKFIEHkopSz3UDTxcoLYMdx+HVT+HVlfDpTpi8HBwy4ex9Y/uODpCvgTjJBM/URygQF+5TSIWB8PHCi2LDPwB7JtGEaHJZTCm/U8oeSviaDHpgw1Bk2Bp9hCpRV4VQbrbwh2vZDnN48OmnOHTpglPPnrU+p0fBwsYGv48+ol1EBJqcHK6GhJC2YUN10qNNJ/jlvChN//4kQCbSxiKPiwpkLg3gQRQEjYM+v0CT4dD3W3g7AsKdYMcASPkQlCEolH1xLpuK7sHz6FKnYZWxjg4ZGrj/AmXkYYMNwxjJIQ6SRy7WWDKT9vxEFBkGk8+ZOFGEjk2GSjIuCvg8EGYlQIEhUuvvLAympx2sbjD97mgoVsG3+6s/B2trWP0ZvP9BdW8qKebP9+HatRKOHCkw38AEkyeH0amTMCncvz+WqVMPcPduHn36BDBuXCtefLE1U6bsr1IP1aMe/1Tk5anIzVU9ssJYq1b2/PSTyPv6/PMUFi5MZPXqFKZPj+Ppp53p29f8+dHRtaeLJSSL+X6gCfGj0ULEg5opY1ezhfJDClP/oBJ0RFBGJ4lC6DaZhEr8g+KJxY/GKA1q9SwiscQaFwNBVE4EWnKxo2ctTwOhDmr0GlgaggVJFyHzDnSaLGkTCae2w8tLq5/723Y4cQjW/VCj9Jq2tJSIYcNQxcfT9swZbAL/Q2XnAYe2bWl37hy5hw4R/eqr6DQm8hmlUqSObf4KzphEdbwNWSLXjsL2JeDVAVwtoSISXCogLg2s/cDJF+6dghvb4NQySGoKqi1Vk3gHBqPiOmpD8MaTNpSRSxGieoALrrjiyj1DuXnhI+Rh4iNky9+oqgoIgXgHzku4GJlMpI39LQlGQO0KoZZBkJwOBWbslmQyaNq0bj5Cd+7UXalaicBAF+7ezfufUqbWE0JPEK5cecDevTEsXtyrzucsWfKAnj0d6dHj8bx29Hp4ax1Mew6aGzyLk8tg8HX4qRhah4k/SLVO/F/JfciQMQRb9uFFMxRkoGU0djiRhhY9YxGj0FlOo0NHL4SM5B5/oCKTlgjCppgv0ZCMM6sEWZH7DZRcAL8fRNQ15yacfk2UmLdyFBf83STIvAuz94HSMPAc3g0Lp8LXe6FfdSO6tPXriRo8GO8336TttWs4de/OfwLakhLSNm4k6+efAVBnZVF2X7Ky2rAcLp0W1cZmLBQpZK+9Df7AlvWQY1gIakqrp4xpMkUFHrlYCOlRoSOzSiGkoQwVmVWEkBo1OWRX5f3q0HOXAoJM/IOk6WIJZZCjhk6SwNLFFPDQwfLNMGgerPlVpBLWxnclJQmj8h49zB/X6/Xs3i38g+qKa9fSKC/XEh5eN1+VetTjSYW1tSW9evlz8GAtbopmMGSICzdvltZq5OvsLBSg0rSxyjnvjhNw5G/Rz08ZCm8MFpWmFLmw6ZixvVIuUo5OS9b3HbDib8qrIome2GCHgnuGErTWWOOCS5WPkANvkEFnyslAxV5U/I6GBJxZghMLkGFhhhCqo0Io8hr4BRp92aTNHzwgbf16Gi9b9pCnWHdYBwTQfPdumu7YQcqyZcS9/HL14gIBIfDzObhwDJbPBgd3QAZPTYBF56HLGNHOoy006g+encHOH9xmQIU3+HwEXgugPAGbtHNYahwotY1FH3weG/9T2GsU5KU+gx49wQQTSuuq1LE2eNCThnzBdfTosUbGSlxZQQEPDBL/cR7QwhYWJBov2ZzBtNIK1k6DD76HHBNe57nnoHVr+Phj88/IxcWSDz/05b33ktFqHz2plslkKBQWZGWV8OOPN+nTJ4A5c7rx/POtGDOmJc8+G0K7dg04cOARIeF61OMJR0JCHm5uNjg5WT+0nV6vx9/fhs8/D+Lrr0OYPt2XoUPd2L27FQsX+mNnZ77gSnS0WEybQ0QctAisaa8Zkw4Wcgg0sTW6mlO93DzUJISuo8IbS3wNaiA9em6ZEELm0sV86IRMVwCa+xTp/8Se3sh1GlDfAs19UW24EmVpkL4b/KcY911YC2FvgFIyod08DwZNggYSyfv9ezBnCqzdBN7V/Xw0hYXcGjQIbVERbU+cwMrdhP36D8C6cWPanT1L8bVrRI0ZU7NQTXAzWLwapr4EuSauzMnR8NOH0KIrjHoPZh2E51fBs7Oh6wg4vQ12vwIHRkHSeShIgfNHITIN1KJykCXu2NCBYo4YtpV40rZG2lgcxvytUDy5LSGEWmFNGTriJYphU0IIxLtiaizdphEk50KuSYajuwt4u0Pk/9NY+t9RCAUEuFBWpiEt7fGrlD2pqCeEnhDo9XrmzDnKrFmdadiwbuROfHwZ336byYoV5s1GH4ZfTkFMMnz0knHf0iQh63vGCdL18EM6zEiAdxMEWSSFI3IW48IMnBiAnp+JYRbtUSAnkwzOcoZhjMASS4pI4g6bacdsLLGlnMsUsQZXvkWOA6giIPUdaLwNLD2gLAcOD4M274H/UPGFe1dAxDGYdxjsDUTD+WNCGfT5duhqzF/SqdUkTJtG8pIltDx2DJ9Zs2r1CHpc6PV6YsaOpfDMGbJ37iRr504S584l7qWXiHv9dbQlJXB8L6zZCr2fhUYBotpZk+ZgjyC7Mg3lfUxTxir9gwxMjIYUZNggN+Rgl5CCAnuUhpSwLDKxwgonhNwn1VAS2k9S9rNSIVSJ0/nQ2QFsJJOBs0kguwfhLWHVm3DnPry20phGkFsIiUabEI4fFyUhHWt5TePjy0lOrqBfv7qXmz94MI5+/ZqgUDxmRbl61OMJxKBBQY+18HV1tSQ83J7Dh2tXY/TpXTNt7MgVUXb+mS4w6Vnx/9OtoW8H6NURLphYsVWmjVWiNVbkoOOBQREkQ0YgztXSxrzxruYjpKA1Kvrjxo+4sQVnVqFEQsZbeoJa4iFkYVOTEDKnEIq8Bq3MS/iTP/4Yl2efxb5DB/MP59+Ey8CBtLlyBVVMDBG9e1ORKSGyvH3hp2OwbwesXwqDZkLnUeJYhQoy70F2EmTdh9tH4dCXcGk/dHwZHHuI1Ln8n5HJbFDYPI9l0T3Ks0YCYN34ONnWWpJ1QrrTn4HkksNVQ+rYa4SSTCFHEYGIp7HmGWx53+DvJJPBV0GwKR2uGqKvlQbTH5yALElA9Zku0LWFIIWkkMngi7WwYSPcuWP++Uyd6kVhoZatW7PNNzCDX36JRCaT8dpr7QgJcUOhsEClUrNzZwSZmSUEB9fdd64e9XgSURf/IBAkaqWCoWFDa3r1cmHIEHe8vKweel5MTO0KoduxtRtKt24kSKFKVBpKSxVCORqIqYBwSSzzMqXV/IPSKSGfMlogmCQNGu5xl2CEAlyP3kAIdYSy36HsV4pkx3DQdobSLyH/JcgdACVfGr/k/jfg3hfsDEbQeffhzh/QZbrk5s7A7dMwTpJ+pdHAlBdh1AswaGi1e67IzuZmnz5Y2NrS+vBhLJ3qPmd9XCgbNKDt6dOUP3jA7SFDxFpBipcnQbuOMOuN6vL8a0chqD0MmwlejcHNHxqGg8YV4m9B5kWwtIdGnhASCM99BSM2Q6wzlPxQ9TEODKTIUH4eqOEjFGTwEaoM/rTGk3jyKEX4vlkhox02XJb4CHWzgUsqUEsut4O7UJVJ4WIHfm7iHTPFo3yEYh6RRdy8uR1xcSo0mserVmltbYmvr+P/VNpYPSH0hGD//jgiI7OYO9dMWY9a8P77yUyY4E6LFrZmj3//PZw4UXN/sQre3SAW/46GIGyeGg5lAfGw7SmRNnAyH1rZQZYafq4lu0GLni+4xjM0oSmu6NCxh910pgu+NESHluuswp8huBGKjmLymIoDc7GiLehK4f5YcH8H7HuBTgNHx4B7e2j/gfiS6/thzyfw7h/gYkj3unEJpo6AJRuhr7GT1+TnEzV4MIVnztD68mUcw2svKfnvQBUdjSYnh6bbt+PxwgskffAB9h074v/ZZ6DTkbx0qYge7/oR7sVBdgZkpUN8NNyXgYsLOBgGHY3KDCFkTBUUJecbVaV7FRkqjBkrNIh0scrtePLxxwkLw599FlqS0NDOxFC6u8mYdywaZBXCgqlnW9i3DO6lwzFDJHnZNrgm6bCPn3i4f9DRowU89ZRDlRliXXDwYDyDBpmv+FCPevzTMGhQMOfOJVFUVLfS3QD9+ztx9GjthFDfvoKslc4lY1MgtAmM6gHOBn6lRAUnr0NcDGTKoUwShO1uQgjZIacFimppY0E4k1DNR6iBSen5hhRTc+ZXwQ0x2TTnIWRadr42hZAZ/yBVXByZP/6I35IlZp7K/x9W3t60OnUKZaNG3OrcmZIIiQtz40D48YhIEf5pvdh37xosDId5rWHnfKFs/WM5xF6APpMhbLhop82GoqPgPhVZg1XI/fYhKziAumwfVpaN8XReRYR8E6VkYo01Q3iOwxykkALsUDCddnzHbXIMvg6LcOYy5RwwTNhDbOHdhjA1HiqzsAYHQ3czBtNrp8FPR+CqycS8ZUuY+Aa8/Y75FGKlUs6yZQ1ZsCAFlapuE/KSEjU2NpbY2iooLq7g3r08/vgjhv3745g6NYymTf/zEfp61OO/CXXxD6qE1JqgUol3/XoR0dG1p8k8LGUsIl5UdzLFjaSahtKJxVBQAW0ll3pBBSFW4C6JsV5GRUeTcvMhuKE0eFcmcR8lSrwQ89tC7lNOAZ60BvU1NGSiJgW70mjQxIHLb+D6B1ScBtUvoKuA+xuFmXQlLv0Lmj0Lroa0Kr0eNs0VKhpnSeW1NZ9Afh4s/qzavZWnpnKjRw+s/f1p9ccfWNiaX0eJj9YT++efbH/2WTZ3727255eRI0k8ffqhKUgKV1faHDuGXq3m7vvvVz8ok8Ha78DVHcokEXjvJhBjIG6yH0DSHbiwG07tgMAm4G4NHSdB2HzI+Ak0FRB7EJxaQukvoBdjtwMDKOUyGgQB4kNHcomlzDCW++NPMcVkIxZ7HtjiiS1RGNmdjthwReIj1EIJVjK4KbncTh4QmQ8l6uq317ZR7YTQwyqNPUoh5O9vjVwOCQllD29oBkFBrsTH/+8QQvVl558A6HR65s49xsKFPXB0VD76BODy5WIOHMgnNraN2eOZmTBzFuz/s+axFdshoAG8IPGAuVsKGTnwRnfYmw+ZavixmZhItrSFJUkw3hN8TC7vAHfJp5wXaS6ui0uoKKUXoh55Ar+ipZxmvAxAIUuxwAd7DLLPtHlg4QLeC8X2lQWgyoABe4SaJisR/vUCTPwW/A3eEYnxgr145xNR+cWAisxMInr2xLpJE0IvXMDSoXZD49z4eM4sXYrSyQnXoCDcgoNxDQrC2d8f+UPURKVRUSj9/QGwsLPDyseHBlPEvehee42UZctgyQL4fg1cvwiOLlBaDBo1WFjCm29DQ3E+6mIRHa+EJs2k5HyiiaF0EvYYU6rSSKtKFwOII69autjflBOEJU4Ggkivh1MF8K0kOlSmEYuAMYaCC+UVIo1g+jD47TT0aQ+HrsA8g4efTicMpXfuqPURcehQ/mOpg7KzS7l06QG//jq6zufUox5PMpo0cSEgwIWjR+8yYkTzOp3Tv78Tq1enoVbrzHpzde0KubkQFSUW8gADOsKGvXDgL0H+qzVw+x7ciIexPYTn0F8p0NNftO/iCKkVcFcFTQxdUweUXKac5xAETRDO/IIxbOeNN1FEVm3b04hEQ0UTKYpYiSs/ij6u9ILxgKUtqE1MBMpLwMqkAmPUDRj1Wo3PTVmxAo8XXsC2thwJE+j1eorT0siJiyM3Pp7cuDgKkpJo+8orBPbvb/YcCxsbQnbsIHnxYm537UqLgwdx7NZNHGwaCpsOwMv9RGn6QaPgmdnw+yLoMwma9xD+dxYm44omB2QWYN8TAKsKR9QWgeRZLseDQXjJu+PDVW6whnCWE0JTmtGc/exjHC/SmQaE4c1GbvIBXXDDgoU48z559MAaO+TMbwRbM+D7dHjDMFSsHQAtN8Cb7aGjsPQh0Ff4Cc1YB+e+rJ4uvHgxBIfAwYMweHDNZzN2rBurV6ezbl067733aH++mTM707nzd7z44i7c3W3JzVWRlFTAyy+3YcIE8/OZetTjnwShEHp0Sv3t28VoNHrkchl2dnICAkSfePx4HsHBtjRrVtN4v6AA0tNrTxmLjIfXR9TcfysFnjOxZ7uSJaqLWUu6roulosJUJdTouYGKJRiDmRFkEYqRlIk3pItVBi/T+Bsv2mKBEvQllMkLsONp5LossHkeLA2MldwL0ED6PrCwA88BYr+mHK58Cy/+YbyQy/shIxFGvG3cF3ET1q+EAxdAQvhoioq43r07zk8/Tci33z50zp937x6/jBxJUWoqnWfMwNkw/zdFVlQUPw8bhlebNoz+5RfsPD3NtrN0cCD0wAH00qpilXBzh7XfVt/X+Rk4uQ1mdoZGzaG0EEoLILQ7aHOgw+ug8AD3cXB7NkR+C1nR0GE2KKZC+UGwHoYCH6xpQQkncGKUIdk7iHSu4k8fFCjwJ4B44vEwpPq1NqSNhRnWGZ2w5TdpEQkZhNvCRRWEGYZrX1vwsoZrOfC0pApxm4cQQlv3mX/2TZsKhZBeX7uFhYWFjKZNbYmOLqVp09pJPXMQpef/dyqN1RNCTwD++COagoIyJk2qu9x94cIUpk3zwsfHvHR09Wrh8WJqm5NdAGt/h2OfVf8DO3IbvCsgVgGFeWJhUKETpcmdLUGjr0kGlaJmG3d4hw5YY4kKFSc5zijGoECBimxi2UE4y7DACjV3KGErnpxCVilec58JMkvxk3MTbn8BI6+ClYPoBb6dCF3GQtdxon1FBcwaB8+9CC+/VXUt2uJi7jzzDHZt2hCydSsy0wRpA/R6Pbe2bOHA9Om0HDMGuYUFd48c4e+vviI3IQH0epwDAgh94QV6LlxY43xLR0e0xcXcnTWL8sRELFxcUOfmonB1pTQyEqWfH4R1g9AwQQjlZgkWRa6DjF+hg8QfKvsqNJb4HpVcBFtjBLyccyglJTmzuU5jxIxcj544YhjAoKrjV0jnJVpWbR9CRR9J1OZKkTCN7S6x4DicAA0awOv9QFUONkpxuYM6Cd+RBZsgrCm4G/idU6fE8cq1kCny8zUcPlzAqlV+5huYwc6dEYSHN7kcL+8AACAASURBVMTX9/F8sOpRjycZY8a0YNu223UmhMLC7LCzk3PsWCGDBtX00bG2Fgv2nTuhUiwT3FCQu1/tFQqh9FxwsYd+YTC2J8SchF13jISQnQX0cYbfsuE9Q7S4Dza8Ty5L0SNDRmvcWckVslHhjg3+BJBNFvnk44wzLjTnDiso4SiWWGOBLxYE4MZ28YG27SFrtXGW59oKciNAWwEWhvHMwx/S46BJmPEG7R2hpKb7pDY/H4enHq2sjdm3j5MLFpAbH49apcLJzw/XoCBcg4NxatyYX0aOpMObb9L7k0+wVNYMzMhkMvwWLULh5cWdIUMIPX8e2+aG3127LvDZFpjzMrTqAE+9CHau8MNbMHYZtH+25qzWuhkogyBxFDgOhfIYLGUhQBIl+h+xl71OSyZxnFdJ5yIN6MpABrOW1SRyD38CmEgob3CEKHJogRtjsWMzxXxPMW/hiK0FrAiA2XfhRS+wlguD6Rmd4IOTcORF4+XMHQcb98HhKzDQOOzg4iLK0C9aDIMG1ZyYy+Uyli5tyIsvJjBlihcODg9XhiqVlmze/BxXr6ah0+mxs1MwalQLkpMLWb78LOXlWioqtAwcGETPyhezHvX4ByEzs5T27Rs8tM3nnyezf38O8fEq3NwUODhY4OKiYPhwd2bPrn1+lZ4ufIpdauGbUtLBz8xXJ+dCgIk4724RhJhMyxLUECaxPkpHTQV6AiTWBCkU0Rnfqu1MMgmW+Aflk4hr5bbtRCyKJ+BED5A5Q8XfYBECclfQJQtSKHcfeA0WQWKA1OsgtwR/SXnkC3ug94tgLSHJtn4HI8ZDq+pEc/rmzSjc3Wm6adNDq1FmRkSwpX9/WowaRb+VK7G0frjnU7f33uPPN9/k+6eeYsLRozg3bmy2nYWNDdjYmD1mFlO+hNw0yE4RE/D2/UBhBbteh7jjcPYUdOwOJf5w7gto8hz4dQVVb6i4BNbDALChPWVE4oRIbXYlmAISq77GBx8yMaZzN8aJG5LtYJQ8QEM5OpSGNVwzK7gr4bZkMgh2gntF1Qkhf3e4YMYryK8BpGbW3A/g4wMlJVBcLCqO1YaGDZWkpdVdbV0JLy87srIe35D6SUV9yth/OfR6PStWnOftt7tgZVW3FJsLF4o4f76IOXPMDyg5OfDVBvhwQc1ja36Fp0KhSwvjvlwVrLwAX7YV1Um+C4Ega+E/sDVDVCt5w5tq7vIAvxFLYxzpaKhydZYzNMCnyjgumh/wpguutESPngIWYM+rKJDoVZWBYNVYTJbPTYdWM8DFcHGnN0PqHRi/0tj+s/dFtHXeqqpdOrWamDFjsHBwIPiHH2olg8oKCtj1wgscmT2bUTt3MvS77xiwZg3j9u1j2p07fKBSMT02lh4LF3L+00/RmBi/6fV6nPv1w+vVV9EWFeExYQKO4eGkLFtG4vz5ZO/YgcvAgYb7UkJQC1CVQtvO4GED/i3BxtCraSsg/Tz49Kz8cCg+Bvb9xCYVlHMSJULGVUYe+cTiaSCIMsmgiKKqZ51EIZmUEmaI0lSg5wClDJXkdW/PgpHuYlFQiV8iYXwH6NVOkEEgzGh93KGxF6z8GcZL0sO2bIXx48yXMwXYtSuX0FBbmjat+2D3ww83eOWVtnVuX496/BPw8stt+fPPWHJy6maIKJfLGDfOne3ba/dreWkCbN0m5oyVmPIc/LEEFrwI2z+AXxcJPyEne+jqCltPGlOKQChBt0smaD2wpgAd1w1mks5Y0xxX/kJ4odliS2P8iSYKNdGoeJOmxJDPQgr4hCyGkkU/1JUqItuuoqJiucGYxqWFqBqTdcX4pUFdIO6v6jcX1ALiIjGFpbs7muxHe9hc+uILAvr2ZeKVK3xQWsqsxEReOnaMZzdsoO/y5Uy6epXEU6fYFB5O9kOMCxpMmYL3tGlEDRxIeWqq8UD/YTDsRRGwUKuh3WB4ZT3cOgwFGUYmRVMm0qJVmdBwIyibQdkt0BYg81qCg+VyimSfoqMABXY042Ui+QYtFdhhRzee5giH0aPHBWuGE8RmItAbCLv3cWY9hRQgXoLRHqLy2LfGwC5zusKlB3A60bjP3gZmj4HFP9VMD5s8Ge7dgyNHzD+TAQOcCAmxZt26dPMNTNCuXQPeeKM9kyZ14JlnQliy5AzTph2gqKgCuVyGra2C11/fS37+46cB1KMe/+3Iy1Ph4lL7HCklpYwNG1LZurU5iYnhnDrVllWrAunUyYEtWzI4fLj2NJecHHBzM6+oKCuH4lLwMJOtllEInibkz4NS8DURIaWooaFk/peGBi8sscT4hRmU4IXxxDxyccH4pcWkYo9BTWj1FMXW9lhXpIC+CEq/hsLpkNMDrHqDVTgU3gBHyRwx5RI07FT9Jm8ch3Z9jNsaDez5WXgHmSD9p5/wmTjxoWRQyl9/sbl7d8KmTGHgF188kgwCUDo6MmLbNpr068f33bqRFRX1yHPqBCd3CAiFsIFCMaSwgopy6LMccu7ArZ2wdR7klkNDDxi0CpT2oGgFGmOKsxWBVJBQtW2PD0USxY8LruRhVMx4YUcmRsLEHQsUQDrGPPOGCvFOSOFrK94dKTwdxDtmCg8XyKrldXZyEuuRnBzzxyvh5qYgO1v98EZm4OJiQ17e/84YU08I/Zfj0KF47t7N4803wx7d2ICPPkph5kxv3N3Nr8rXroXwcOjcufr+rHxYtxsWvlR9/5qL0N4bhgZBSzuhCurvAntz4Hg+9HYGP68yhpFZZTiWi4o9xPMqrZAho4B8LnGR/gxAhox84kjlDM0REv8yjqDmNg7MNn9TcVuh6B50+FBs56XC1nfhtY1ga5CnnD4EO7+GL3YKwsWAxDlzKE9Jodnu3cjNRHYBki9c4Ou2bVHl5jLl1i2CzWjf5RYWuAQEEDp+PNZOTqRcvFjteGUut+vw4fivXIn7yJF4TZqEpYsLmtxcAj7/HNehQ41uzOeOwNxXYetX8OUn0KCNGMB0OrH4sbQzkl9lEaArAVvxS6vgEjLsURAKQCaXcSIYa4OhdBSRBBOCwlDV4SKptMcLa4Mo8DRlOCKnvSFqo9PDr1kwVpJarVLD3lgYY7gErbb6QmDeOBjTE/p3FNulpfDbbzDBmKVXA9u35zB+vFvtDUwQEZFJZGQWo0e3eHTjetTjH4SgIFc6dvRhx46IRzc2YPx4N3bvzqO0VGv2+KBBUFQE585V329hAc38RBl6Kdp5QUEk7Llp3DfMDaJLIdYwoVMiYxC27JWYSXbFhwuSiWQLWhBFFHlMw55plLCYDIbjySEaEIEDs8ljBnp0IFeCfXcoMpQ4k8kEMZ56UvJwukDCpeoXG9IS4mtOsBXu7qgfQQhpyspIPn+eDhMn4tGihdnJvVtICK9fuECTvn35NiyMa999V6sfhN/HH+PUuzfRw4ahk0r/318NZSpY+5HYbt4dnl8OTsZ0CiythVfepXliu8FS8PkMfNeCTSjW+n4oCKUI4Xnhx0AssOYeewHoSjcKyK9K0xtBMCkUc9lg7N0dJS1R8C/E7Fsug8WNYVkyVL42rjYwO1yohKS3OG0YxKXAIaPXKAB2dvDO27BkqXkvIZlMxpIlDfnsszQKCjQ1GzwEGzf+TUFBGe++G87MmZ1ZtKgnH33Ug759A/j+++uP9Vn1qMeTgPz8MlxcaicYbt0qwddXibe3mM86OFjSsaMj8+c3Zvp0X5YuvV/rubm5ghAyh6xc0d26mQhM1RrIKQYvc4SQSRZOigYaSnJP0lDjg3EtUoqaIiqqCCEdOvLIw9VACOnRU0QqDgZCSK/XkGtbjt5hsSCAHJaA9ThwOw72cwAbKDAhhJIvQSPJAiftLuQ8gFYSxdD1K2KuHS7ZB5TcuUNpZCQeo0aZf0hAwpEjbOnXj15LltDjww+r+Tg9CjK5nMHr19PutdfY3L07Dy5ffvRJdUHUBTi53bidmwoHv4Mx22DOPigEBi8ERwOho9eDZShojJUjrAii3IQQKsYY1HDFlVyM7IwXdmRQUrXukyPDi/9j77zDo6jaNv6bbamb3gmQhB4ggHSkg4BIFQQp0hUQC2BBbCD6YkGKKCVUKYoUpSogSFPpvddAQjqkt90ku/v9cSbZ3WQDgRe/V3Hv6+LSmTkzO3OyO+ec57mf+1YTjzn4EqwS3wlL2AoI+btDsg17eV8vSMsUOZSSUCjAy0t8p+8FHx81KSkPNu4AeHo6/quSDvaA0N8YJpOJDz/cx9tvt8DV9d6uAUXYvz+TY8dymDixbHbQV3Phww9KH/viB2hVV7hJFWFLInx5HaaWcLrv4Amba8OiavBBZRPTSacjjsU1wN9zmYb4U1N+ye/hN2oRThAVMGHiAosIoxfO+GMin0w+RMs7KLChLaPPgMNvQfNZoHYVL7Ll46B+V0G1B7ibLOj4U76BMHNxdMqWLSQvW0bNn36y6RBgLCxk/7RprHrqKZq+/jqDfvkF14CAUu0sIUkSoe3bc9OGIrchJ0fY58ojrtrbm8CXX6ZqZCSuTzwh2ElFDKWQavBkR3hzusiIn70Ny+eIt1z8PrEIKhposneBSxtQiO+Bjt040qG4v5M4QgDNiu/jEhcJtygPO0g8zTHrN2yR2UFF5x/NglwjtLOYCGy7Co5JYJSj9kqlOV4F4OUG304yt9+0CSpVgidsG/2QkJDP/v1Z9O9f/oDQihWnefbZWve1X7XDjscRw4bV59tvT5e7ff36zlSsqGHr1nSbxzUaeL4/rFplvX//GVESCiLwm5wmtMOS08BZDfMsmB9uKnjKE360iLH0kANCRRPDFgRxjjtkyayhmoQTQzQGsnCkC/40I5ljmGR3Mie6YLLINOLaUbzzihDUVrwTi1CtGdw6BQUWLM1qtR+aIXT70CGcvLzwvo/OkFKj4akvvqD/xo3s/fBD1j/3HHk2ZqOSJFFl4UJMhYVET55sPuDgKBIWq76Bg/L4UdItDaDFbLixDhItkw5K+doK3PmYbJZTyA0UKKnNi1xjDflkokFDOzqwi18xYMAZNQOpyXLOY7BgCS0mi2S5/3t5Q5AGFliwhMY3hSspsN2Cxu/qBJOehw+Wlw78jBsn3MZ277bdd+3bu1G3rjNz5pSPJQRw6NBt1q69QJ8+4Tz1VBiBgYJBe+NGKlevphIUdI86ATvs+IciLU2Hh0fZc54qVZyoWNGBZcsSyM+3FmuPidFRqVLZWqNFDCFbuJMGXu6lLefvys7bviV+bnE5EGzBEDKYIL4EQyieQgIt1EmSyMEZFa5ykCibLAwY8JCTmXoyKCQXV1mXpkCKRzIaUBMKTv3BeSg4DwaFt3gJ5UWDIQe0FknD2BIBodO/Qc1m1uVie3ZCm6dKPWzSqlV49+hRpqPY5c2bWdu7N90WLaLJuHE229wPkiTRbto0Wr//Pis7diT6998f6jpWUCjh54Xm7YBQ+GE6pKWCe0XwDwWdH2RdFiYNkgSqOmCILp7kO1CFQuIwyskdLYFkk4hRHic88SKDdAzyth8u6DCQaWE1H4SKhPswhIJdILZEJZafFu5mgaGE94CPnKRKsT2lwdvbzhB6VLAHhP7G+Pnna8TEZPDyy43L1V4EkGKZODEAT0/b8lAzZgh2UElJhYQUmLcZPi6hyTnkMmhDYWG2EJ60TO7pjRCrh+3kEU8ho2Q781iy2E00Q+WARBKJnOMsHeTypiSOkEU0VekPQA7LARUuDLGdXjw+RehIhMmiwkc2wJU/YMgcc5uPX4fGreBZM71JHxPD9WHDqBIZiVPV0rYJBXl5fNe1K+fXrGH4H3/QbPz4e1JELRHaoQM3f7P2cM69cIHzbdtydehQosaPJ3HRIpKWLuVc27bWJ5tMQutIkiA+RuheFMZBvSfh8F7o11Jkw4MszsvaDVqzyreO33CU+9NAPsmcxB8xAKaRyh3uUB2xuLlDLjfIoKlcuqfHxPYS5WI/3oUeXoL9VYTP1oHuBsxYJ2zmv90hNEaKumjmOuvSk5Wr4IXBZYu7rV2bQqtWWipUKF9ws7DQyKpVZxk2zC4kase/E889F87Fi3c4f76MIvoSkCSJgQPvXTb2wguwbj3kWRh3fbkWPlwOV2/DtztF6fCMtbD4Z2gZAWcyrCdqfXzgJ4uPaI0j2Rg5IU8M/XGhMm4ck1kp7rgTSBA6tOSyEg8qYqKQVC5gIp8cfkCBp1k7TtsRsveBSZ7EBbUTJbQGOQDkFwZObiIoVISq4XDzaqlUYnkYQjd/+43QDh3KnekN69iRMWfOYMjPJ7JBA6EvVwIKBwdqrF1L0uLFpG6zcG+oWgve+gzeHQW5ZegTaCtDg8nwx8tglGk7FvemJhwXnieDqQD40RAPanAVoebfgCdQouA4osyuC6HkY+Q32Ya+EQ60wpE5ZBRfelpl+Ow2ZMsfp3WAd1vC+yVKBsf1gri7sPlP61t2c4O33oQPPiybJTRtWjCzZiWSlla+bG1iYjaBga60bRuCJElkZek5cyaRNWvOExHhR9++duaoHY8f7lcyVqOGM336+DJnTizVqx+hTZtTdO16loEDL3LgQAbPPutb5rn3DAilll0u5ukCmhLLipIMoeRCKASC7sEQSiIHP1yKk5GppOGGGyo5aJRNPI54ocIJTCYM+jVUSM9AynoXsr8Ek0wtMRVA3lLIPAOutUApB9By7kBqlCgZK8Lp36C+RbkYwL5foZ21SYDJaCTpu+/wL4Pmrs/MZOuoUfRYupS6AwbYbPMgaDZ+PG2nTmXrqFEYbFFgHgQ15QBYlAWdt04rWPYOjG8G1RtDtbag8YIsmXWs9BUaTIUikaLEFwVa8okCwBl/wESu7CzmhhsKFKTLzmNOqHBDQ5JFMieoJENIDQmFQme2CDZLxtzEOJOSbb3fQQNuriJYaQvlCQgJhtCD96+HhyNpaXn3b/iYwB4Q+pvCZDIxZco+Jk16EheX8i2g9+zJ5Ny5XMaPt81wSUqCb+bBx9NKH5v+nRAKbljdvO/7WMjMgxlVoZEW9qTDyKswO1Yc/zAaDmaZ+JR0JuKOs/x1WslFOlCZYDlA9Cs7aUxTPPHCiIGLLKFublPUOacxGOPJ5Avc+QQJVeloQspZuBQJT34tjmWlwLevwNC54CYPeru3wO87Yeo3xeebCgu5MnAgXs8+i6+NF3ehTsfa3r0pyM3lxWPHCGzQoFSbeyG0Qwfijh5Fn2XmOOpjYshPSsKpWjU0gYHknDlD0vLlFNy5w6VevYj99FP5wwvhm49h02pIToDJwyA6H6JjQK8XbgdJB8UiCISlZs5+kTUHComlkOs40EZ0EedQ44IbYQBc5jIhhOKIGCAPk0AdvHGT7eX3kocnCurL5WImkwgI9bGYQ+QWwJlLMKAjjOsJVSvAbydh9Cz4eJVYPP6wF5zlMTghQVhaDypdjl2MBy0X27nzOmq1kvbtQ8t9jh12PE5wd3fk2WdrsWJF+VlCAwZ4s317BqmpthfdTZpAQABstXDuGNkVlu2AT1bDz4fBBAxoD/Nfh61TQfKEPy0cQHp4w+kciJaTZxq5bGxzqbIxM928JrU4SS/y+IUkniCcC+QwgARqkssPePKN+QMcI0DhBLkynd6jJmjcIVneliSo2hSuW+gIBYcI7YRb1h615Q4ItW9/zzYl4eLry/ObN1OrTx9Wtm9PenTpMg2natUIW7CAa0OHoo+NNR8YNBb8K8BsG1TdItR7UzhNXlxo87CWd9DzBzoOABDOKG6xjRwSUKLkKTqzjz3o0aNGwVDCWc0l9HJ2dzLufEcOMXI2t6sXVHGEr+PMnzG2ESTnwI+XzPucHeG9QYIlZCyRzX31VaEl9PPPth+pTRs3Gjd2YebMBNsNSqB371pcu5bKjBl/Mnv2IRYvPsnkyb9x9mwSgwdHoFIpiInJQK9/8HIAO+z4O0KvLyQvr/CeJWMAPXv6cPZsY3burMf48cF06uRJjRrO/Oc/ofTp818EhGyITSdlCgaHJQxGSMyz1hCKLQQ/JThYrCxtMYTurR+UUFwuhjEWZfYK8h1qgbox6DZBzlz5WBLkLhHlYu6W5WJHwac6OMkPYjTC6T3WAaH0NDh5tFRAKP3AAYx5eXh17myzfw7OnIlPrVrU7t/f5vGHQdPXXgPg1LJlD3aiySSezWg0y1C06A3ffwLbF8N3H4O7L4yeA298C71eF+OmWz3RZ0VQmXWEJCSrsjEFSlzwLy4bU6DAA0/SbJSNFSEQFfEWDKFAFRiBJItXdAUXwS6zhJMGtI5l6wgllxH0KR9DSPWQDCFHO0PIjv89tmy5QlxcJmPGlE87qIgd9Oabgbi722YHff45tG8vFgSWiE6EJb/AR8Os9286C20KYGgIjA6E8RVESdHlXHjqrBChLPDOQYeJQQja+xVSOU4ig6gJQBQ3uE0MbWgLQAw7MGEkKGEb6G+QpZiLQ2EEjhnZEDcR0n4QARCTSRaSHicLSctuLasmiIVA8+fFdlYGfDgW3p0lLH1lxEyZQmFaGmFz55bqB0N+Puufew5dejqDfvkFjasNyv594FG5Mu6VKhEjUz1NJhOeTz9NpWnTyPzjD9xatqTKvHk41ayJe5s2+A0bhrZ5c3GyWg26XPD2E/9fwRsa1oXhE2D6IvjgDVC7iUUQQO5hUGjBsQ4AenajoVFxeV0SR/CnaXHG5QqXqSH3P5RVLmbO0JzJgeR8oQtVhK1XwL86vN0HWkXAq73hzf7wXBuQEAyC0d3M7b//XjjWVaxou7+uXdNx5kwuffrYSD+VgRUrzvDCCxEolfbXlB3/XgwdWo9Vq85SWGi8f2OgalVHGjRw5scfbRfWS5Jg8q20KBvr2hRydfDCU7BuCnz+EvR8UmgKqRTQpxass5Dn8VJDO3drllBPnNlKbrG5QHOCOEFScQCiJrW4SArufEcAp1AzlWz6E8BJfNmEiioWN6kA1w731xG6ZlFSpVBAlVqlysZUvr73LBnTZ2YSd+wYoR06lNmmLEiSRKeZM6nevTsr27cn0zLoI8Nv0CC8evbk6sCBmAoLzff66RJYEwmnSohjJ92AfB0oHUQi5Nj7QmC6BJT4oOUNMngfEwbcCaMCbbnEcgBqUBNvfPgTMUa1IhgPHNgqT/ZroaE7TsywYAl9HAIzYiFTvk1HFXzYGj7YC5ZfvxefgYwcWLfP+p5cXOCdSfDhFNssIYBp04L56qvEck/Qly/vSXx8FrdupXPtWgrDh9dn3brnaNxYuBTt3XuTqVP33fsidtjxD0HRAvReJWOWqFHDmd69fRk/viJTpoRQvfq9rbXvVzJmiyGUnFlaPyhJJ0rEAi2ITCUFpaE0QyiZXKuAUCqpeGKefGZZCkobYjBKOgpdeoDLOPD4FnSbIW8DGNNB0pYhKG1RLnbrPOhzoYbFwuf3PVCtJgSanc5AlIv5Pf88ChuuKNmJiRyaOZOOn3/+QJpB94NCpaLDp5+yf+pU8nNKM0Z1sbFkHj2KQSe+FyajkbyoKAx5eaBQYJIkUfaWnQ1PjRR286d2Q9It6DUeAkIgog24uMPZ/XDXR/RZEdR1ocCsI+RgQ1jaUkfI00ZAKLkEQyjBgiGkliBAZV02VsFZfH9KTmn83SApo3Qf+Xr99wyhhy0ZS0/XYTSWMZg9ZrCvtP6GMBoFO2jy5JY4O5dh11QCO3dmcOWKjldftc0OiouDhZEw7aPSxz5eDc+2gjoWRIzrqbD1NMxvISaKzkrBEhrqD5+GClr5S0EmvlZmMAkPNEiYMLGc8/SkKl44YcTIr+ygFW1wxplCcrnMSmobBiIVJFPg0YAcVuMZZ4C0laBwgfTvRABEkkoLSV/aD8c3wvD5ZibRZ28L7Yg+Q4vvPX33buK/+oqa69ahdLYeHA0FBfw4YABZ8fEM3rEDB7eHtzIP7dCBKLlsTJIkTAYD/sOGUeHNN4mbMYOC1FQMGRn49OuHd69eaC292N+dCa+8D29/Dl4GaPsMRDSCoEqQfsRaPyhrl2AHyduiXKzIbcxEEocJkMvF8sjjFjeLA0KZ6DnP3eKAUB5GdpBHzxLlYs94W7uL/XQZhrUVzCAArTPUqwKDn4LeLcV6ZohFcmXVauFgVBbWrLlL164eZZYylkRqah5btlxh6FB7uZgd/260bx+KWq1k504bnqxl4H5lY4MHC0eoZDnOoFFD9+ZCF0ylFAlHo9G8qO8UDGtPWpeNPetjrSPUCkfyMHFcLhsLwQ0vHDkp29L64YcLrkRxAwVaghhAOB+ioISCaRFcO4p3XxGC2lkHhKo1t2YIgSgbKyEsrfbxoSAlBVNJOouM6AMH8AwLw72saPZ9IEkST8+dS0j79qzs0IGshNLsl7Cvv6bg7l1iplnQc8NqwLj3YfJIwQwtQuRw2CY7Z1bqIp67SGAawJgLmTsBcOVFTOSRy2oAajKUJA6TxmUkJDrThYP8SRaZKJAYRm3WcaVY2+ktPNhCLpfk7Y4eUMcZ5liwhIbXFxP31WfN+xw08OELMOVbKCyhXz5mjGAjb9xou79atNDSsqWWGTPKxxJq2bISs2d34auvnmbBgm4895woRc/JEffco0cNtm27RmysjdSyHXb8w5CersPJSYWDQ/nmSg+Kh2UIlQwI6Q3QuzJYmh+XFJQGwRAqWTJWkiHkZcUQiivWD8KQiBE9GqqCSQ+qquA2B3IXC3aQMsgGQ8iGflDd1oI9WoQ9O6GdNQvIkJfHnQ0byiwX2z9tGlU6daJiUWL3EaJm7964V67M4dmzSx2Lnz+f5LVrUTo6oouO5vbMmVzt/gznqlfh7pD+SMvmYzp9At59Db5fDj1fhbdWwagvoJqFoKfJJHSGth6BdItSawuGEAhhacuAkJZAK6exsoSlixBYQkMISgtLBzqL20ksUY3l72ZbWLpTC/AsY6nm5VU+DaGHKRnz9HTEaDSRnZ1//8aPAewBob8hNm26THJyDi+91LBc7YvYQZMmBaLV2rZUnz4dUZnNGwAAIABJREFUunaF+iXcu6/FwupdMHWo9f739kHfCDCWKGN2VYKHCq7mQUCFbLQo6C0HF06QxE0y6YuoO7vAebLJphniBXqd9bhSAf+CQHCoTobiP2h1XVEUZELIevCbBG494O5c0KVYC0kXFohSsd4fgnewuJnD+2Dr9/CfRcXBkvzERK4OHkzonDk4165tde9Gg4FNQ4aQcu0ag3/9FUePMhYi5URJHaEiO3u31q3xHTyY21OnkrplS/F9WGUdUu9Cyh3oNxKuHASnYDj+J/y5G35ZB24WulHZZv0gE3r0HMARkc3OIho96fhQX+7ja/jiW5xxOUoiobjjJ/+N9qLDFyV1LQboH+8KTZAi5OTDtmvQNQwu2TCrSM2CIU+JRSTA2bNw9So8+6ztfjKZTA9cLvbDD+d54olAatTwuX9jO+x4jKFUKhgyJIIVK87cv7GMfv28+OOPbGJj9TaPh4QILbk1a8z7Zo6FsEAxUVMqRdBXkoTDjEs+ZF+BAxbvg14+cDgTEuSPUCPRFSc2yZNDCYkWBHFIzi5KSNSkJle4XL6H0HYUyQGDvNAPagtJh4QtO0CVJpASKxwni1C9tLC02scHDAYMGTZSj0DUQ5SLlYSkUNA9MpIKTZuyqmNHcu7csTqudHGhxtq1pG7eLDK7RRj1Jjg4wZF95n0DZ8DWzyH5pthuMRturDULTOffglu9QHcZCQfcmUomn2IkEyd8qEIfLrAIEyYqUomqVGMfIpD2BP5UxZP1XAWgMioG4sJnJVhCs2IhTZ4/q5XwUVuYuh8sK7OGdhaaD6tKWM07OcG7k2HK1NIlZUX46KNgvvkmiaSk+0/Si5zczp5NIikpuzhbu3nzFY4ejcPT04m+fWvx+ed/3Osydtjxj8D99IP+W9wrIJR8Dw2hkpbzoVr4qQSp8nYJhlAeRtIw3KdkLM2qZCzLsmRMGUSuxoTG6AOSgwgKaZqC6xuQOxdMGsi7JcqgQLxwYo9aM4TOlCgXM5ls6gelbNmCJjAQbaPSVRkpV69yatkyOkyfXrpzHgEkSeKpL77gzy++KDV25F66hLucTL49cyZ5165Ryd0Bfy8XEk9fIHv/PqRFX8Gun2HbjzC4JxzYDm4l/sgKJdRpCRVqwOETYJJfzkVOY/J71pb1vDVDqLT1vHVASE0c1u/1YLX4bhRBrQB/JxvC0m62S8Y+ehU6tyy9H8rPEMrMNJQSYL8ftFoHFArpX6Mj9JcFhL7//nv69u1Lly5deO+990i9ny+cHYCY/Hz88QEmT26Jk1P52UHR0Xpeftnf5vH4eFi6DD6aWvrY9O9gUEeoFmzetyUWNgAXA+A/MdDtPETGg07+LRWaYFtdEyscMngHd5QyO2glF+lPDVxQY8TIHnbTjvaoUaMngxv8SDgvIjnWxqDMxTn6Z1yzq4OLHHFXuoJDdTAVwpkZ4FnbLCS9bykYCuHp18W2wQAfjIEJnwjtCBlR48bh3q4d/iNHlnrWfVOmkHjmDEN278a5rBHxAVChcWOSzpyhIM/6ZaHQaPDp2xf3jh3xHzUKp+rVS5+8Yi6cPSYWNHei4OhpmPEObFgKP1yAZLlguyAZco+J8glAzx9IaFHJgt0J/IkPDVDK+kAXuUANahV/zO/E0sKiXGwzuXSzcBc7lwM3dUI/oghzdoP6CkxbKLSCnpksBKTjZTZAqwiYbWGusHw59O4N2jIMX44dyyE+Pp9u3WyknmzAZDKxdOkpOzvoXwD7OFE+DB1any1brpCcXIYIcQkEBmpo21bL6tVlz5SGvADLvzWzgIJ94XKMtYybyQRqFXRuDB5GmLXTfCxAA0+6w7oSbmM/k0ehRdnYYRKKy8ZqUIvLXCp2KbknNJVBE2ZmCblXBwdvSBCaOThpoVIEXLBgDVWvC+dPWNUrKVxcUDg7o7Oh8QOQevUqnmFh97+f+0BSKOi5fDn+ERGs7dWrlCW9S9261D91CqWTxWJPrYb1B6G1Rba6alNoPgB+kFlBRQLTh8aL53IMB6+RkPguAI50RUV1spknTuc5sokjWRaU7shTnOJkMc1/OLXZyg3SEIG1CbhzAB1nZJZQGw/BBrZkCT1fG1w18K1FTFKtEomkj1ebJSyKMGoUZGbCTz/Z7qsmTVzp0MGNWbPuzxIqKs9YsOAYp04lolCI7by8AoYM2VjcxsFBVe6ySjv+Wfg3jRMZGXrc3ct2CftvkZYmWBW2kJJe2nIe4E5WaYcxW4gvtBaUTqYQNeCNOVF9l1x8LRjq6aQVO4wB5JCEi2yAYlCHke6kQCNFiIOS3C8OncDjByisAI5BoJHn8+m3oCAHAiLMN3H1GNRqYd6OjYGEOGje2voZf/wR/wEDbJaDHZo9m7oDB+JTs2apY48KlVu3ptKTT3J8wQKr/SaTqdi1OOfcOcI++wzPnb8T2LA+hVlZGAcMhw8+BUcneHYgtO8Me5bAS+FwYB0k3hIXKnJT6zxW1G/lyvtV4WC8CyYxV9AQWiwqDeBKADmYnSFFyZg5IOSLC8kW2oGBqMjCSC7md3GQSnw3LBHkDAk2hKXv2GAI3QvlsZ338hJr6dTUB2MJKRQS7u4O/xrr+b8kILR9+3ZWrVrFa6+9xjfffENOTg4ffWSjVsmOUjh6NI4bN1IZMaL8Isfz5ycxZow/Li622UFLlgjtoBKEGe5mwJo98MZz1vvHXYNGTrAmHCYEC0va39LhjRtwt0A4Ud3W5uCJgs6Iye1FUkkgh66IurNrXCWffOohniOGHXhSEy85WJFe0QelKgJF7hlI/xGS/gMpi+DOLHB5SghpNvrI7HO+fQ70eg9UMu3zt62Qmw2DXy6+79zLl0n9+WdCZs4s9VLPTUnh8Jw59Fy+HBc/v3L37b0QtXs3QY0aoXZywmQ0ort1i+SVK7n+0kvcfOMNJEmi0tSppRYGACTFQUoy/BYJ9bsK3n29JjDySajjA0UvxdTF4NoONKKcIYdluDAQCQkjhUTzC5XpAkAmmVzmEk8gaKIJZHOKO3SkMgDJGPiFXAZYZGe+joNBfoL5BWK98flK6FgPpgwRukF9W8OFW/Cf7yBJfvGq5UE/M1MEG1+5h/vm7NmJDB/ui5NT+V43Bw5Ec/NmGoMGRdy/sR3/WNjHifKjenVv2rYNYf78Y+U+5+WX/Zk3L4mCAtuL5Oefh5gY2L9fbEsSfLQSKj8PW/6EjGyxL1+eQ/VvA9sPQYrFJO6lAJgXb3ahaoUjSuBXRJC8Fl5448R+hCJ1KKGoUHMJ67IuSxjJxVRkY+s1FFIWmG+w+hBhMlCEli/Abxaiyy3aQ2Y6HD1QvEuSJLx69uTOKgvRJAv41q5N4qlTNo89KBRKJd2XLCHl6lVu/PprqeM2XSw1Nkwjer8PxzfB3RixXXc8pF8RZgMg2LSZP4P+JhISWiaSwwpM6FDhTCg9iGITAD74UoOaHOEIANXwJBxvdnBLXAol/XBhGeaZ+KSKMD/BnARSKuCN5vDNMWttoP7txPdj+1Hr23dwEGPCfOu1jRUmTgxk6dI76HTlC+K0bFmJOXPMJYJ9+oTj6qqhU6dVbN9+nX79aqNS2Unvjxv+beOEwWD8S7/HBgOoyqhGMxjNc7tS+20vL6xQaAKNxdS7ABNqpOIEpNhnRG0RIDJgQG3BIDJSiBINmEyYJAWFShWKglOQtwZ0O6DgDBgzwKkfSK1BaaFqXagDlaN5nQCgzwNnC3pTbo4InjhZs7AMWVloAgNtPpcuLQ2fWrVsHnuU8AkPJy/NWiyn0qRJXB42jIRly3CuVYu0XbsoKCiA6XPR5+TgfO4Y+PqDSg0jxsKwMfBkd8jNhNuX4ZM+MDoILhyAvWuE6HSwBoxykEOS+88kqL4KnMzjL6DEAaNFCZgKlVVCR4MCg0XwRyP/rYuSQgAOEhSUWAZpFNbOYyC+YyVLkO8Htbp0QqJ0G3FP92tnCyqVAoPBriH00Ni4cSN9+vShdevWVK1albfffpuzZ89y/Xr5NRD+rYiMPMHgwRHldhaLidGzY0cGo0bZdhUoLIRFi2HsmNLHlm+H5rUhPMTiermQkANf1IbqztBYKwIG71aChHz4Vg4ULyWb4WiLX/TbuMFTVMZRfrEf4TCNaIIKFUYM3GIrofQU90Q0OmkPSr+54NIKtO1BfwPyzoB7X0gygFtVCJA1d87tgtx0aGoRuVo2C4a8Jt4GMuJnzsR3wAAcgsyMmCIcnjOHii1aENy0aaljD4tTy5ZRf8QIANJ37uT6iBGkbtmCS0QECicn7q5bx82JE8m0EJ4uRkAwJMfBnkjo8hoEVQRPH7jwDdRtD3cShK1mygLweU3ut1vo2IsLwwBI5CAKVPgjxPKOcZQqVMULkU3Ywg2eJAgfOWj3Hdk0x5GqcrnY3QJYnQyvW+jq7b4GOXmw/GVoUQea1oKBHeCt/pCcBp9+DzqLctpvv4VatUT5iS3ExOj56afUMp3vbOHLLw8xdmwjXF3L9xuw458J+zjxYHjzzRbMm3eM3NzyZbl69PDEwUFi3Trb6TMXFxj9Enxlobvfrj74esDe09DrQ1iwWZSGpmWBshBC/CDyhLn9c75CT267/BEqJIbiWhxckJDoQRU2cwMTJhQoaEozDmMhBl0CKTxHNuvEhvdLkPMH6OQysPAxEL0NsuRASdsRwnq+yH7ewRGeGwmr51tdM2D0aJK//RajrnSmr8GIEVzauJG8R8Q60Li40GziRA58/LHtZEB54BsCDZ6BXfJzqF2h5otwbo78IRXBrRekCGc2B9qgwJM8NgNQma6kcJYsRD81pTknOU6+PNHvThi/EEWhPJEfjiubyCVFnuh39AA/NXxvoWXdvzbEZcIfMeZ9KiW81A3mby79CMOHw8GDcLmMCsE2bbT4+KjKFD8viUGDIsjM1LN+/QX+/DOGKVP20q1bdb79thfLlvWgfv2Ah+9vO/62sI8T5UNsrI6pU2/+r2/j0UGSoOAsgel3IWch6LdD7kLImgo5X4Lh9n0v8TjAvXlzaq5aRfqBA+RFRRH1zjvc/OADTvV/Hv9Bg1Dl5sC7r5upvQoFtB8MPhWFqPR7a6EgAea9Bnu/g+a9oPpfo09lxz8bjzwglJ+fz40bN2hgYeMdFBREQEAAFy+WnRW0Q4jJ/fDDeUaPLp92EMCSJXd4+ml3Kla0TTHdtk28H7p2td5vNMLCrTC2R4n2F4XG8ddZcDVXZAOdlFDfVWgL/JoGewr0XKOAfjLTJJU8/iSebrLt+V3ucIubNJYDFYkcBBT40wzyTlNw92XcU6ugUjcUE/7ghVBxEQTPA8/BcHEB1HnV/ILbORc6jAa1/Ixnj8OFk/D8i8X3nZ+czJ3Vq6nw5pul+kCXns7Rr7+m9fvvl7tf74fkCxdIOnOGurKlfeKiRfgNG0bNDRvwGzmSCpMmUenjj3GuU4eY998n69gxa9ZSaHXYvxmyHeBSjCgf8wd0qVC9g3BPS/9JUGTdxB8vh2U48TRKuQQsik2E0B0JJYUUcpyjxXpNuRTwK9H0pCogovUryWY4Zke1RQnQwg3qWiRY5h+HGpXgldkQFS++Jw4aqFUZVr0LBy8ITREQ342FkTDOTNIqha++SqRHD09CQ8vnmHH58l12747ilVea3L+xHf9Y2MeJB0eHDqFUqKBl5cryaQkplRITJgQwc2ZCmQvl0aOFRXiROVb35uCpFSWhb/WDXSeg0vPw/MdwLgre6S1YIvlypk2jgHFB1uVFg3DlKHquyjoC7ajIXfI4h6gte4KGJBBPgoUuAYCBfFK5xA0COccKrrIGk8oLPAbA3a9FI21lqPS0mSXk4iFYQju/Nl9owGjYvQmSzNd3a90atZ8fdzdsKNUHPjVrEtSwIecsBZX+SzQZN447Fy4QXUS/ehh0fg32LhYOOQB1xsGtLZAt/7F8X4OUpWDIRkLChVFky9pBjngSRGtusgWAylTGA0/OItxlGhOICgWHZbHQmmh4Ag1rivSfJOEqOifOzAhyVguB6XnHrW9zVFf47ZQYLyzh4wN9+8LChdiEJEmMGePHwoWlHdTKwvTpHdi06QoffLCX7Ox8Bg+OIChIS61avmg0ykfq/mPH/x72caL8SEoqYMGC+Ps3/AdBkTWLfKUKXF4H7XQhKO36NhTehIzXwPT4lg5awqNlSypPnkzgqFFUfOst3Jo0oeby5VSaMRNefgPycqFrL9G4sBAcnaFCNdixGLwDIRD4bCd8uBF6vCKsv+zBcztK4JEHhDIzMzEajXh6WuuFeHh4kJ6e/qg/7rHCd9+dJSLCn3r1ysemKCgwsmRJMmPG2NYOAliwEF560Vw+WoRfj0OuHnpZGF+ZTCL7OykYvNWwMAG2pQqbeRBC0lkG2KjOpj8uaOWvz3Zu0QBfguRgwxEOU5s6uMrbN9lCCN1QGAswxb2KKfcAzslxkLoK7i6A+LchQ04xxu0B3V2o0l9sJ1yD87uhgwXFafls6DMc3M3fseRly9C2bFlKSBrgxOLF+NetS+XWrUsde1icWraMWn36FAtTSwoFChcRWVE6OaHSanEMCSF40iSUWi358SUG6g49oDAe0lzg4G/QoiM4H4ZaL0KvYTDpCyGu7fMKSEqM5JDDd7gwCoAMrpPB9eJysfOcwwknwmTr5l1EUwktNWWxvp3koQA6yWyhfKMo9RhvwQ6KTodfbsLi18BRIwKGm/6AU9fgZoKwGFYpheMYiFKTpCTo1892H2VkFLJ4cTJvvFF+dtDChcfp2zecwMByFKzb8Y+FfZx4cEiSxKuvNmHBguPlZkIMG+bLrVt69u2z7cAUEgKdOsHixWI7PASS0sTivmsz+OED2DgN3h0ECyfAiOZCS2adhW7zSwHwRyacl+WNfFDSA2eWyywhR1R0IYTNiIy+E07Uo74VS0hPOhdZzGlm4UQtvIgnhcPCQt3nNUhbBYUylb72K3BpMRhkNevOr8LBNZApi3FWrgItO1mxhCRJImD0aJIiLcrNLFB/xAhOLV1arj4tDxzc3Gjy6qv8+cUXD3Se1d+1VhvwrAAHvxfb2hCo2MUcDHNuAQ5VRd8AzvSjkCjyERGbUHpym90UkIOERDOZmWXChBKJZwhji4V46Ei0fEsWBpnqP9gP4vWw1+LnOLYRbLwMCRY6D0E+0KM5RG4r/Txjx8CKlZCbW/oYwJAhvhw/ns3582U0KIG2bUNYubIXS5f24IMP2lC1ahliKHY8FrCPE/9uSIXnSNF6gKYRKINBFQKa5uC5GgzXgcdb7Neo15P+xx+k7NiBc40a+PXti/+QIfg92RynOwkoCgvBzx++Xg7vyA6WRfWAz70tzHiKoFKDUgWuskjUPyB4bjLZ41b/n3jkASE7ZffhYDKZiIw88UDsoPXrU3FyUtCpk7vN4zduwL59QuCxJOZvFpk9jbniiv3REJsJYyNEGZFCEkGhmbFQ/4QIIEwKNbCZHIYhFuwFGPiFKLrJgQgdOk5xspipkkEU6VwRgYuMTRhU+WRVaoAUOAeSp4PuHCg9RQZYd0WUTNV8UdQBA/z6DTTpC55ybW/8bdixAYa9bu47o5HERYsIGD3aZr+eWrqURi/fg8bygDDk53N21SoayOViAH4jRnB76lRiZ8wg8+BBcq9cIffyZbKOHUN/+zYudetaXyT+HHhkwVcbYMw70LcX3N4hSiI0Gsg/Dboz4DUcgDw2oKIiGpoBEMVmgumAGldMmDjMIZrSHAUKDJjYwo1idhDAUrIYhhalXOK34S44K6zFpL8+Ct2qwZPVYEx3+bzt8NVPgiHw0+/whUUXL1gIw4eBYxnknyVL7lC3rjPNmpUvuJOXV8CKFWce6Ddgxz8T9nHi4fD883W4dSudo0fj7t8YcHFRMnasPzNnJpbZZuwYWLwECuS545juECcLRWvU0LA6tKkHYUFiTHi9Kcw+Yp6o+WpE8OAri1sagZZ15JAtlyR1I4xjJJEgM1Ca0pxznCWHHNK4zAFeQUcKTfmIerxBAL0IIZNEDpPvXAWcGkKqHLCp0AEcveDGerEdHA41WsKexRY3MBG+XyAypzJ8hwwh+/hxci9Yu5AB1O7Xj5SrV0l4RFpCAA1feomoXbvIuH3v0gbL34IkmTO3JhDlxDvmmju79ji4tEgEwyRJBMvuzgWTEQVanBlIDqIfPKmBG5W5jRDlrks9ssnmJqKspDMhXCONG4iFdRecKAR2y4ssJyWMDrRmf1X1gg6hsNCibBAE03jpL9blxAAtWkDFirB2re1n9/JSMXCgD3Pnlv39LAmlUkFoqCchIf+dS6gdf3/Yx4m/P3IKhDjwnTzIs21q+dAwadoQkH4X8g+BIQGMqWBIgsJrwnyGx/sdEPXuu9z64AOuv/oq8YsXc3PKFK53e5qoZzpROPYFWPMtLJ0Hr42ASa9AlEUZZUgd6FpiTfQPCAJZQpLMMrJ2/PV45IWE7u7uKBQK0koIY6Wnp+NRhs33u+++i0YWVuzcuTOdO3e22e5xxpEjccTEZNC/f51ytTeZTMycmcCECQEolbZ/5JGR0LMnBJQgaEQnwo5jMO916/2zD8OLTwhqeLgavgyDqDy4oRNlAR4q2OKYTWMcqCHr0BwgDmfUNESwlE5zCj/8qYCwLbvFFirQDg1umNJ/IMc9HVfeQ8reK8SSg+UsriEDkpdAzC/Q4iuxLy8LDiyHybvMN7nqG2jTFULMwY70Xbsw5ubi1bNnqT6IPXSInKQkavbqVa5+LQ8ub9qExtWVkLZti/d5PfMMah8fEiMjydy/H6VWi8LFhdzz5/EfNQrHki42O+ZC25FQVf57H5kMlbuBqxCP5u7X4DkMlB6YMJHNYlwZg4SEngzi2EdrRJlELLdJ4S71ZQHvEySix0BLBP3nCgWcIJ/FCAt3kwlmx5qDfgC5BbD0NGyW2T4Nqol/qZlwMRoq+4tSEldZhy8pCTZtgvPnbPeR0Whi/vwkPvusYrn7dcOGiwQGuvLkk+U/53HDzp072blTWDnl5+ffp/U/F/Zx4uHg4qJh8OC6REaeoGnT4PufAIwb509o6GmionSEhZWO3nbpImLQW7fCs8/CsM5CRLgsDK0H7+6Bw7HQXP6pvl4BGp+C6SEiQPQEDlRFzXpyGI4WX5xpTiDbuMGLROCPPxWpxAmOE0giFelMTV4o/gxXRhJHV7wYigY3EfiIfxN8J4CkFIGRC99A9cHihM6vwfKx0O0tkQlt1hYCK8LGVTBQTIrVXl549+tHYmQkYXPnWj2Tg1ZL7X79OBEZSbeyapweEG7BwYR17MiZlStp/d57ZbaTJAldVBRpO3bgVKsWHu3agckkgkMtBsLqt+DUDnjiaQjuCBoPiNoA1QaBR39IeAuyd4O2E66MIIlWGEhESQCh9OQKqwmlB2rUNKQRRzhEGGFo0dCeimzhBhNoiAqJIbiyjGw6yy5ALwdB2FG4lgfV5Hf/+KYweCNMbgmO8gyyXQPwcYcN+2HwU5bPJgKOCxYKTSFbmDAhgMaNz/PJJxXx8yufs+q/HfZxwj5O/K+xNwGWX4XoHMgqgOhsMKhBFQZZ7qB9BD9lo3YixuzNkLsMJFeQtIAO9HvBZQzkudz3Gv9UGPV6Urdvp8nFi+Reu8aZjh0JGDoU77REEvwqcLtRYyovm4eiyZPQ4WnYsxNmfQIfzwJPOdOr9YT88jmT/t2QkwtrfoEnwsW/qNtiPAn2t5KOteMeeNBx4pEHhDQaDVWqVOH06dM0bCgy/QkJCSQmJhIeHm7znOnTp+Pm5mbz2L8FX399lCFD6uHsXL5v+v79Wdy8qWf4cNti0jodLFsO62xk5hb9DF2bQkULs63rqbDjBswvoTUU5iT+ARgwsYJspskWkSZMbOY6PamCAgkjRo5wiLa0ByCfTGLZQ0tmg8mEwbUyue5n8KcvuHqC8xPmDypMguREqNQVtJXEvgMrIKiWsOEFke1duxgWbLS6x8TISPxHjkRh4y1xatky6g4ahLqEo8DDwmQy8fv06TSfOLGUY4y2aVOcIyLQ37yJ7sYNkCRCZ8xAVYLuTEosHN8IM+Qa+EIdXF4MHeWMd0ESpK+F6kLvIZ8/MJCEM30A4djmRThuhACiRK8BDXGQree3EkVXQlHJBMDlZNET52Lrz0OZYoI/zCJQuOY8VHSDVpWtb9XLDVpakJtMJvFSXroU2rSBatVs99OuXRnk5hrp1at8VvNAMUPu36wDYTmBzczMZN68ef/jO/prYB8nHh4vvdSQ5s2XMmtWZzw87q/NFRSkoXt3DxYtSuazzyqVOq5UCnHpBQtFQMj5Ppd01cCwekJvrCggVMcFWrrBokR4T/6IEbgyjyyG4YqERHeqMI1DvEA4jqhoRnN+ZivNSKIaA4qvX4iO6/xODCGEyRo3uPeC+ImQuQXce0P1oXD0XUg+Bn6NoUFXWOUg3qvN+omX1IiJsGC60JqT39WBY8dyoXNnKn3yCaoS36VmEyawpEkT2nz4IVobxgQPgwYjR7J70iRaTZ5s22EMyDpyhJsTJqCpWJGc/XtxvnyMVKUHJoMBn/rhqBW14fMJ8I4nNGgmgmHnvxEBIYUDeI+BO3NB2wkVVXCgNTmswI1JBNGKCywimRP405jGNOUrZhVbPfegKq+zhxHUwR0HBuPKbDK4QQFVUFPBAfr6CDfKuXIO5qkw8HWB789BkRmqJAmW0LzN1gEhgEGD4K234cQJaGiD/FmnjjNt2rgxf34SU6eWL8j5b4d9nLCPE/9LXEyD+ZfA3wkmhUENd6jiBt2vwckLsNsHeoc8gg9SBnNH64Fnfk8wRIMxHRQVwHM8qCpD3p5H8CF/T2SfO4faV17fGY2YDAZCp02D37fi9v0GzvfqRWjiLdhzUkRIej4nIvOPAZ0mJh7e+hJ0ejh6Drq0hNVb4W4aPNkAPp34v77DfwYedJz4S1zGevXqxY8//sjvv//O9evXmTFjBhEREVStWvV6genvAAAgAElEQVT+J/8LEROTwYYNF3n99fI7YM2alXBPq/n164WoY7t21vvz9LBoG7xSgjDz/jGo1hAO6OCWTjjHFFkJJ+dDUr6wEjZCKav5DrKt+Q2uo0dPbQTrJZodeFADd6qAJJHplYGzcigKnEHbGVQWFo+5h+HyUaEPAeKl9uvXQh+iCD+vBb8gaGLWAtLHx5O2bRv+L5oFpouQn53NhbVrrUq7/ltc3baN7MREGowcafO40skJ5/BwvLp3x6tbt9LBIBA2yRGdwV+U2XF9DTj5Q1BbsZ0SCa5twbEmANkswYUXkHAq5diWRSYXOE9TxHcnjmzOcIcuhMrHjawjx0pMek4cjAywtpqfdwz6hcLV25CdJ5zGio4BnLgqLBslSfw3cpFt57oiLFyYzMiRvqjV5XvFXLiQzIkTCbzwQr1ytbfjnw/7OPFwqFcvgIgIf7777my5zxkzxp9ly+6g19ueLI4YAQcOwLVr5bve2Eaw/iLcsUg+vl5BlBXnyx/RExfuYOBPRB1BbbzxxZl9sgV9DWqiQIGSWlxjDRlcJ4pNHOIdsomjPgNxYxcm9CCpwGecCHwAaNyg2hA4L4tJK5TQ6RXBvCxCt+chOxP2by/epW3WDOfatUlabFFeJsO/bl2qdunCwS+/LF8nlAPVu3dHl5FB9IEDZbZJXLQIn/79qbl2LYb4WK78ZyZZhw6R8dMG4l8dCwZXiL0GH42D00dEMCz1HNyR67a8xwiGkF788VwZJVvQ56NATQjduCm7j3ngQQ1qclS2oK+MG+H48ItcRuaHkm44s5zs4vt7vQIsT4J02UxAkgRLaM4Ra32HoZ2F8PixEq5ibm4weBDMtzZ+s8IbbwQyb14SeXn//MWMHY8W9nHi74dFV6CyK3zTHLpWFMEgowlcnKCSJ5x+hFrPJoUCHLuBy3jQTgWXV0Qw6DGHPjoatyZmc5Wqs2ZBQjw4OpFz4QIab2+Y9JGZLpOTA0jg7fO/ueFHiJMXxVp1zZfg7Q7/iYT+T8Pnb8C1GPh8yf/6Dh9P/CUBoa5duzJo0CDmzJnDuHHjcHR0ZMqUKX/FRz0WmDPnMD161KBKlfIJJF65ksevv2bwyiu2xaRNJpg9B159pXTJ6OpdEOgNHSzIOZ/dgvX5UD8IZsTC0CswK1bYkgN8ehuOZcEyshmCKypZh2Yz1+lMCE4y0ewwh8q0mgfwUHyJq/4ZYaeu0ICkAJMR0jdAoT+o/aCCYBdx7lfIzbC2ml89Hwa/bPVQyUuX4tGxI44hIaX64cL69XhWqUKAhUPFfwOTycTvn3xCi7feui/jyGQQNjyZhw6hj7Hw6c3XwW+RosRBXFRYCdeRbSON+SWs5m+jYxcuCL59kWNbgBwAOsYxwqiCt1wOtk22mvdCpPnXkUN11DSQ2UPROticAq9YJMCPxMH5g3DqELR7A9pPhE9Ww5FL4pZuJcLsDWZh8u3bRVCoe3fbzx4bq+fnn9N58UU/2w1sIDLyBM89F46X16Nhctnx94d9nHh4jB7dkMjIE+XW2Gjf3g13dyUbN6bZPO7vD717l+0IVRI1feDJirDUQnKnqxe4KIQ+GYAjEgNxLRaXFiyhMLYRVWxB34RmXAS8qcMNfiKOfYTSg3BG4c8gJNzIZZO4oNcoyD0CeXIgrO5rELUOcmX9mTbDIfo0RMmBEo0GXngFls22uvcKb71F/Jw5GG1QqFu9/z4nIiPJuXOnfB1xH6gcHIh44QVOLVtWZpu8S5eKy51zrkdRoWcXqkRGEty6EVnpOWQMe1dozPm7wK8bwcEdqr8AF+RsnzoQ3PvA3SIL+vZIuJJX7DDWlbucJhvhTtaU5pywsKDvRRV+JooCWe9pBFp+IJscebuJG0S4wDILmZ/BdSEhG36zcLn2cIURT4uxoiRefRW+XyNKjW2hY0c3goI0rFp1994dase/DvZx4u+Hii6QXuL1qZAgMwdy9IIx9EhQpCpcNM6Z5ICxIRHyjz2iD/l7Qtu0KUFjRNbVMSwM7+7dMTk6wjvTyDx8GOfwcHjhRXPfXLsMzs7/wzt+dLgWDRHVwdkJPN2hYW0REGpeX7CFoh8vM72/Df6SgBDAoEGD+PHHH9m5cyfTp0/Hy8vuBmELOTn5LFlykokTm5X7nPnzk+jXz5ugII3N4wcPws2bMGxY6WPzNsP4PtaBoq9vQ51MWB0BJ5+A9yvBkSxodhp+z4CZYVDXu5BD6BgkM03S0XHIwmo+g3SiuEFjGgNwh5OYMBJAczAZIPlzFLeGo0ycA1HPQNx4yN4vgkIurSBGLwSVi25s/3JoN8psNX/zKlw9Dz0HWz3P3fXr8bP1oEDCyZNUaNr0kZUgHZ49m7SbN2lkQ7xaFx2N7tYtcq9cQX/7NpJSCSYTqZs3WzuM7V0Mbn5Qp4PYjt4GuXFQTX6utBWgdAOtcA/LZj6OdEJFRUyYuM56QmWreT16jnHEQsBbz69E00MW+C7AxGKyGIlZ1Hl2HHTzhlCLuMtHO8A1GxaOh/j18NmLkJoFz30EQz+DkABY8qa5/ZyvhHOdqoyC03nzkujUyZ3KlR3K1a/p6TpWrjzDmDGNytXejscH9nHi4dC/fx1u385k375b5WqvUEiMGePPnDllW9C/PFaUGWdklD5mMkFsiRjJK02EBblOZo4oJBgfDDNum+eoQ3FlF3nclC3o21KRZHI5hbAaf4KGxBOHK0/xBG/TijkE0x5n/FCgxJUXyWY+Jgyg8gbPwZD8qbi4Rw2o0BFOy05eLh7Qehhsnm6+yQGj4fRhOGK2f/fq0QOliwvxX31V6jmDGjYktH17tr30EoYile3/EjV69OCGXMdfEkadDrfWrbk1aRJR48cLLby0aBRnj+J65TiFhUY0gYHQaRxcPw5ecglB+FjBLC2QRbN9xkHqCjAVIKHAleHkINzHHPEikJZEswOAEELQ4sYlRMlyIwJwQMkRuTyvERoqoWILZkHu14JgQbz57+qkhtFPiLJBS7z+LGw4AEklGAK1a4sS4yVlZHYlSWLChAC+/rr84tIA8+Yd5ciR2Ac6x45/Hv5N44RCIWEwPLiYtkJBuc4T7co4Jtk+ppCg0IK81z4I0vQw9AAM3g9990DjLbD3GLg4wkCZ/K5EohAhL1EEsc98MQUKCjFYbCsxIgYVSVKDJGGSCsCUC0XXKbwCuh9BUoNBZ3GjaijUg9HiIdQa0Fu4GGocIF8PJRICCkdHClJtU5vcgoNJPHnS5rFHiYzoaDSyW7FjcDBOVURHKtRqlE5OSJ5eFDZshsrNDd//Y++846Oq8vf/npLeeyUEkkBCC4TeO7goRUVAEUSKgKBYKRZCESmKoGBBvxZAqgii9A4ivYYWSCG9955MMvP749xkbiYTCLr723V3nn3xcu+9Z+bOPZm595znPM/zGTMG7Oz0c6bsTHih7tyk5hmhkpREuirQVYi+A6C6/8SAXkcF8jQZLRoU6J0oVVShlFEHlWhRopBtS6eT7dMAhl4WjVafYVrz2iqxz94WbkXDyu/h2Hmo0ECBJFq9EwONZQvaVVU1jvB6Uf27eFi7+l6rNPyg/6X4lxFCJjQMO3feoXFjR7p0aZh3vrJSx9at2bz4Yv2ywA0bYMxosDHIW7t5H+4lwTO99fuyNFBeCMNlWTADnWBvK1GS/Lds8QP9TVdCdyxxl37W50glCCc8ESe5SySN8MMO4d1O4yxedEeJCnJ/hMJj4DIVXKaD63RQWAhrVOEhUNhD8hXwe1x8AJ0O7p6G1rIwgsgICGwBdrW94RWpqVjWIx229/Gh5J+00nvh8885uWgRY/ftw9zWttaxtP/7P+49+ywR3boRNW4c0ZMmcW/8eLKfHoh/t1DsukhkX34G/PQ+PL9S3MQrS+HMLOi4BMysoaoA0t4Dr2WgUKIhimI2Ys88AFI4RSmZ+COkOWc4jTMuBCL+eNu4S0tcCMEFgC0UowSelAJCk8vh61R4XxYjcjUVjl6C7iHg5iicev3CYN0bcG4taCrh4EVRhh5EqflLl8SKrzFkZmpYsyad995reAbH6tXnaNfOi27d/nfDpE0w4VFgbW3G6693YcGCkw1WCU2d6k5MTDkHDhhhfICePaFNG1i9uu6xUxHQfpqwk1ZjeHNwtoJ1sopTEz0gQwO7ssW2H2pGYsNyxDktUTOK5vzALbTosMaarnTnMAdJ4XfuS6qWmutkLFloiGEJsewm23M0FPwGxVLJ+s7L4faXkCNVDnvqfbh1FCIOiW0nF3hjCcybDGXiwytUKoLWrycxPJzC8+frXOvwH34gNzaWXePGoa2srHP8UZFx4waebdsaPaa0tMR93DgsfHywDAjAtU8PEuLyKPn+CzLuJaC0scUqKEhUUSspBzPpb+3cGixdIOOc1FFdxAC/RKyaW/I4FZxHK6mzvOlJOqLPFChoSSsiuSM+Awp64sMZUmqOj8CaPTJCaKgLpFRAhMwiOLY17IuCAllloQAf6BIC20/UvdaJL8KGjfWXER450pnY2HJu3GhYCXqAyMgsvv768sMbmmDC3wT29hYUyH9UDYSTk5q8vEq02gc/DxwdIde4UBRnB8jOq7vf1Ray9S5S2rnA+l7Q1E6ogQZ6wwdhMKk3hDbTt3NHTQU68mQEkCtWZMnuLQ44kI/+pNa4UYyQEirLz+Odl4c273koDIfij6HsAJj3APtlYBsMZYmgkZ5pzk1BZQ4ZskqSAe3gruw+798UHJ3g4tla1+gydCiZ27cb7ZfWY8cSuXs3+XK1/z8ZqVevErVvH+1fegmA0rg40n78kXvTp3NnwgTily4l98QJVOmp+NqosNu5ET5dBgd+g5xs6P8YjBpXN0Mo5Qo4B4CFtDBcHA0owFrESlAZCQoHUApFfwVxmKO35BWRjg16tX8+eTiil4BlUoIremVSGhpsUGItI4RSNeBlEPGaVgqeBoaArCJws4Opo6FvJ/jjKjw7BDxdhW3s1SVwLRJ6yrLocnLAWDKHHDk54jnu5PRosck6nY78/DIcHBq2uP13h4kQ+jdj/frrTJgQ2mAVy7Fj+ajVCnr1Mh6aV1YG23+C8ePrHtt0BIZ3AzuZqrCsFHKzYBuwN7t2+0FOghDSaOE3RQnDZD/6s6TQFf2kP5JImiMyb3ToSOc8HpKticLD4DwB7J8A2x5gPxzc3gSbbpAWDskbwMoN7KVlhexEyE+HJjLFSNQtCGpZ6/PpqqqozMnRB68ZoEn//sQdP462vuWQBuLyN99wdN48xu7fj3eH2iqWkshIUj75hOZbt9IpJYXgXbvwmT0bc00JqYdPUIDsjrdlDrTsB6FC/cO1FWJQHzxZbKcvAcuWYC8CnvKZjw1jMaM5VVRwh+8J5gXUWFJEEX9wmkEMRoGCdErYRywTEH1UipaV5DMXxxqL34cJwtbRVsZnvX8CJgwU6wG7fq/NoHu7QjNfUTkGxED+/fnwxuv134BXrEild2/7Bpeaz80tZdWqcyxc2KdB7U0wwQSBWbM6ExGRzvHjcQ1qb2urYs4cb+bPTzJKIikUsHgRfLJKDLLk6NUG/D1grSzPX6mAD/rAh6ehSFpstVLBO34QHqfPoHsLBw5Qyk3JojSUAPIo53dEPfMe9CSDdPKxwUaqjAiQyVWu8AlFhJHFAfK4RYTZNvK8XoaU14R9wLmlCFn+Y6a4QTl4wDOLYf0roJEmVeNnCmLo0wU1723XuTONFi7k7pgxVObVngFZu7gw7vBhMm7cYPfEiX/5+XH/6FGa9O9f73Hrli3x++ADvF95Be+Vn1Hq2YT7NxLJcWyM16uStVgL+DYCS1mQj1cfSDkubSvBrj8UHgFAjR9qmlKOuHm70Y4S0imS+jyYYKKJolJaz+2GNxdJq7GNDcOGk5TVTOSsVeLZsVPm6Apxg2Yu8Nu92tczdgBsOlr3OocOFZaxi/U4PWxtVQwf7sTmzQ23jU2Y0Jbt229TXPzfW2nLhP8tODlZkZtb+vCGBnBxMaOqCvLzH0xiu7hAdrbxY27OkGmELHK3h/SC2vtu5kJ4O3i/LUxpDoN9IcAaEmU/RRuU2KMkBb3a0gMbMtAzy044k4v+pLZ4U0QKlHyPomQ9WqU7lWo7sYisuQqFb0DhfNCVgoUbWHpDgWQjVqrApwMkygig0H5wTRY+rVBAn0FwvLZq023kSEru3KH41i0M4dWuHSFPPsmJf6FV8ei8eXScMQMHPz/K4uOJmj6djC1bsG3XDtvWrSlPTiZ1zlukDR0Ed2+jcHGD5ETYuQVWL4UUSSk5uw9c2Kd/48Tz0EiWT5t/Dexag1IiRzQ3QN26RmlUQQzmkssAoIgUbGVzvRxycUKv0MugBA/06oNUKvFCjUJGCCVVgq+Mi6nUQmop+Bg43NILxHcN4KVRsH4pvDAClr0BDrYituLrhdBNlgKSkyO+0w9CVpYGW1sVlpbGM3frQ1FRBVVVOpyc/jeiLEyE0L8R8fF5nDoVz9ixbRr8ms2bsxkzxqXeUvN79ogw6S4GDjStFrYcg+cMxqU7bkNfBczwgQXxMDACvk2Fm8UQHg/DXCBFWcktKhgikRslaLhKJt2km0Q55dwnlmCJECogFg3FuCCVp7LpKtRAJRdAWy4Gr2bu4DpT5B9kHgbvvnrpY9RZ8AsFS5nEKeoWBNWuKlGZmwtaLep67gZeYWHodDrSrl41erwhuLZ+PYfeeIPn9uyhUdeudY4XX7+OZUAAFn5+6KqqsPDxwbFLZ/wTL+D2/DgSv1wnGt48Chd2wPNSnkVBLFxfDj0+Fw+x8hhRat57FSgUlHGcCi5gx2wA4tiDCgv8EKqpExyjKQE0liqN/chteuBLU0Qp1u8pwgMVT0h/s/gy+C4dFsqy+M4kwsl4WPIYPNYJXv8Ces6CldshJQuikuC3s/CsFOt05AjcugWvvWa8r9LSKvjii3QWLvQx3sAIPvnkLB07etOr139/SKAJJvwz4eBgyVtvdSU8/ESDVUIvv+xOYmIFv/1mZBkY6NULOnUCw1xlhQI+mAgrtkG+bKX4iWbQxBE+k42/J3tCfhVsl8SZ3qiZgC1LpVVgC1Q8TwgbuIUGLZZY0pu+HOU0LohQ+TyiSOAQDgTQjJn44UwAWgJ4mhgXB9CkQN5mcYL24ZB3F2K2iu0B08HCRm8dU6lg6bewYQ1E6D1OPm++iXVICNFTptTpPxt3d8YdOULSuXPsmToV3Z+s3KKtrCTuxAma9OtX51jJ7dtk796NJisLlZT9YB4YRMD6DXjPe4egXbtxmzodUhJEHtKIkVAUp38Dn76QckK/bTtAhEtLsKQ/ZRwGQI01LrQhXQqT9sQLCyyJk8Kkg3DCCjURiD+aP2paYs4B2Ur+067wswFXM6oFbDeYP43sBVeiICa59n4rK3hmpFAw14fnnnNhy5bsh6ocqhEW5kXjxg7s2hX58MYmmPA3gJOTJcXFGjSaRyOibW1VmJsryM5+sNX1gYSQE2QacU15GCGEvrkLcUKAWDP19zWDZAM+yhszUmWEkDs2pMsIIWecyUH/gezwopAUKN8PFoMpsR9KoW07sPsAnLaC223QnIeyveIF9m2h4Jr+hI061yaE2vaHiOO1vXB9B8PxQ7U+p9reHpfhw0nbuNFo3/RdvJibW7eSfuOG0eN/BbFHj5J07hw95wk3QPaePahdXGizdy+eEybgPWMG/vPn45qVSKq1C2nNw2DqazB3Ecx8W9jFwt+G1AS4fQaayoqzJJ4HXxkhVHANHGSK1cqbYNaqZrOcGCzQuy4EIaQvAJRDNs4yQiid4lqEUAoavKktB0rSiO9GzWtKxYKRtyEhlC++awBJabBlL3y6EfafEgTRqrkQYFAoNTv74YRQdrYGF5dHL6qem1uGQiFUe/8LMBFC/0Zs3BjBoEEBeHraPrwxUFqqZefOHJ57rn672MYfRUUPQ8HRmVtQWAqDO9bev/22GNS96gM7WsCTrvBFKrwRA82txGrvb5TQC0ucJLvYRdLxwRYfKU8omiicca4JNk7nPO6EoULyGTlPETlBOeshdxMUn4GSS1B2G0ouQ2qivsIWCEIoyIDRirpdRyGkycpCaW1dM5g2hFKlwr9PH+4f+3OlKW9u3cq+GTMY/csvNO7Vy2gby8aNUdnYkHvggMgNAvh4HjQOROMfjEWjRlBWDN9MgdEfgptEfPwxCwKfB3epikDqbJGPYRWKjkryeR973kaFCxqKuMdmWjIZBSqyyOIKlxmIKCd4n3x+J4lxhABQgJbPKOAdHGq8vR8kwJMu0FK6b+t08M4xeL2zKCE8dShc/wYmDIaT16H1ZJi9Dh7vIixk1eqgt98SVWOMYfnyVAYOdKBDh4Z9n7OzS/j00/MmdZAJJvxJvPJKZ27fzuTIkdgGtbe2VjF3rhfz5yfVO+levAg+WwOGbtsB7aFN09qhwQoFfNgPVpyB6kVtC6WwpS6Ih0rpFK9gzznKOSflFfSnMWYoOSAREh3phIYKrnMdHVXEsBNzbGnEQJwIxpUlFLKOfG5goXBF67UUUudCVTGY20HXlXD2TagoAJUaXvoW9nwECdLKcbOWMG0uzJsEUjaQQqkkaP16Cs+cIW3dujr9YOflxQvHjhF3/Dj7Zs5sMOkmR+qVKyiUSqOFDe6/+SZxb71FzMsvEztrFgVnz5L24hiyX5+OU3EaqvPHhVV68hOQFAeBXcSzsRrefSHjvD4jwm6AsNJVCcbOgoGUcawmv8OTzjWEkAIFzWleYxtToKArXjW2MYBhWLNbRgg97gzRpXBX5uga1RIOxEC+LMbDxQEe6wibjTx2x42DrdvqxHfUYNAgBwoLtZw9W2S8gQEUCgUTJrTlhx+uPbyxCSb8DeDoKAqC5OWVPaRlbSgUClxczMjK+guEUD0KIQ97yDAghD7qJMKlxbnFfz2VkGjgdvNCTSp6lsjDgBCqqxDyoYhUoQDSlWBBABVEG1ysGSilgah9W6F6qYZvZ0iSEUKBUgWdGNnCcJ+BcOMqZNV+yHmOG0fGpk1GFwCcmjYl7KWXOPbOO3WO/RXotFqOzJlDj3nzsJKysbQVFajthMpeaW6OytISc3t73L3ccB83joKrV8HWFpxdoE07+Hw9XD4HURfBOxBcpUVZnU70haFCyF5OCEkKIQkVRNdSCBWSip1MIZRroBAyJIRSqcRblkFUqYNUA4VQcgm4W4K5gWAnoxDszOHd1TBuLtyJFVlC3+yAGYth237qoCGEUFaWBldXswc3MoLc3FIcHCxNGUIm/Guh0+kku5jxbAFj2LMnFy8vc8LCjBMgmZmiAtS4cXWPbT4Ko3qDuew3kZAPF1PgSSHsobElvOwNl8PgpxawyB8c1PArte1i50ihq4wxviuziwE1djEdOqp0qVQob1Du2pUqcyd0Bb9A5seQsQISp4DzK5B2VQxuqxF9HoJkahyNBuLu1SGEKrOyMHN9cInFJv37c/+oEf36A6CtrOR4eDi/TprEqB07aPoAub9dly44DhpE9EsvcTkggFtdOxO56iuiKl0ounAB56FDRW6QkxcMnCFeFPcbpJ+BTtIKduExYavzXAxAMRvQUYENEwG4x1YcCMQNYVc7wiHa0g43hFXuB24yhKY1N+UvKCAEM3pLlcZiSmFjOoTLRDhHYiEiHd6UdbODLUwaAr8ugbQd8PksWCSKm7FvH8TGwsyZxvshObmCdesyWLCg4eqglSvP0qWLL927+z28sQkmmFAH9vYWj6wSmjrVg8xMDb/8YjxIoksX6NMHli+vvV+hgMUvwic7IFsWQ9SvCXTwho9lXMUED9DoYLPIjsYFFS9jzxLy0aFDhYIJtGQLkZSgQY2aAQziGEfIJ4UysmjNDCylPDQd/pQxkEJO48cglI5jwawRZCwTJwgYI0KmLy8S2/7t4LHX4OtJUCVNRqbOFVLZdfoLM3Nzo9mmTcS9+SbFERF1+9fXl/HHjhG1bx/bnnySkqxHq4IVe/Qo/n37olTVlap7TJyITWgoTkOGoLSyIm3NGhI2biP3xEkKDh5Au2M9rA6HxFhY/Bp88x0k3oQyiSyxawLWnuJZAmDuD+aNoViUuLegMzoKqJTCo93pTDY30UiTseYEc5fIGsKoK96cIwWttD0Ua36njBwp8NVOLWzkcpVQMxdo4Qa/GrONHambF9Sjh8hB3W9kYA9gbq7kmWec2bSp4f08dmxrTp2KJz7euOrNBBP+TrCyMsPCQkVu7qMRQgCurmZkZ/8Fy1h9CiGHugohZwtQKeFSFrxzCUYfh6XnIC0ONsWI0GkQCqFkA8uYISGUg/6kdtWWMdv3ofww9rnbsCo6AqWboWwPFH0iQpFVoqANDkYUQhm3RDgqCIVomz5wTTYPcHOHlqFwUq+oBHAaNAhteTl5J04Y7Z9e771H3MmTxB45YvT4n0HEpk0UpaXRudoeDLgOG0ZpbCx3p00j+8ABiiIiKL57l8I2HcldsgA7FXDnJiTEQdRdkSNkZw+3TglFVDVyYkU/eMnmmYYKIc1NUOsVQnLLmI4qikmtsYxp0ZJLTh2FkLtsfpiCBi+ZQii9UjievWVzz+Ri8DHIuC3XQF4JpKfCqUvw0yqYMwk+fA0+fhse7w2r1sO6bbVf13CF0J8hhMpwcrJ85Nf9XWEihP5NOHMmkezsEoYObfbwxhI2b87muedc6s0b2rZNyP2bNq29X1MpQh6N2sX8hULEEA4SmxuHhttU8Jj0g9dQxQXSauxiVVRxl0hCEHauMnLJ4x4uuJHFk6QrepDL6+SZLSPdfRtZTXRoPJ4Hj/ch4AhoQsWg1k4KONOUQ9wVsRpajbgoserr61/7urKyUD+MEOrXj/jff6eyvGEhfbn37/N9r17c2bGDSWfPEvjYYw99jcfEiXRMSKDZt/+HW14s1n0HYNY0EL8PP8Q52A2OfgVTvhUBPdVB0p0+BCtXUWY+eSZ4LgQzD7TkU8hyHFiEAlytygUAACAASURBVHNKSCOOX2nJFBQoSCCBaKLoi7AgRJDJLbIZTXMAMqhiHYW8i2ONh3dRPIxxh+bSPVung3ePw5zu4FDPvc5MLTKEqtvPD4e5c8SihDEsXZrCkCEOtG1r5MtkBFlZJaxZc8GkDjLBhL+ImTM7ERWVw8GDMQ1qb2Wl5J13vAkPr18ltGghfPElpKbW3t+zDXRrCR8ZDMqW9IVPz0O6xFWYKWG+HyyMFxl0AFOxIwYNRySVUGe88MaWXdLqb0taYYstEcRSRRkJHKKAODK5Riy7SMceS+IwIwWNooRi34WQuRLKowVb1X2tKMVeEzA9H0oLYZ9k0zU3h+XfwZcfwg19ELFDnz74vP02d0ePpqqorjLFsXFjXrp8GYVCwVehoY+kOL1/9KhRuxiA84gRmHt7U5mVhf+yZbiOHQu2dlhYm5N87S662ctFlTQHZ3j+ZXjqRXDyhljJ9qZQiIWU6hwhECqhQmETU2CBBT0pQ0xebPDEFh8yEdfelADKKCNVUgW1xhUNWu5KkzM/1LTCnP3o80yeaqBtbGhXSM6Cq1G19yuVQsG88cf6++y551zYvj0HjaZhNj0vLzsGDgxg48a6hJ4JJvwd8VdyhP4VCiF3OxEqXSlzXel0sDseFl4FlQIGeMOEAFCoYN09WHJdtPN+iELIGWfyyaNKIp5t8aKETKrMQ8H2bRSqlqgqU9GVbhXZQRWnwOErUEu2Jvu2UHgTtNJ123uDvQ8ky0ogtu1fmxAC6DsITtS2jSnNzHB/9lnS67GN2bi5MfiTT9j21FPEPuJCszHc2r6dvdOmMeTzzzGz0ufUWAUEELx+PWpHR5LXrCEuPJyktWuJunYXm85dcc1OguXhsPIDWLEAvvwE5i4W19hW9rxJOi/IILVkeSpLg/I0sJdiSrS5oE2qsYxVkkMVOTWEUAlZ6NBigwcARRRRRRWOiBDRcqrIpcxohlDNR9CApxrMZNPW5JK6+UGZEn+XlSmqiPl6gqcbuDpB00Ywfji8OxX2nar9un+lQigvr+x/Jj8ITITQvw0//HCNZ59thYVFw3yNubmV7NuXx7PP1v/N37ARxhtRBx2USkF2b1V7f7Vd7EHYTQm9scRR+qpcIxNbzAiQsmriuI8aNT6IKmkZXMCBIEp4D2vG4E0MHrqTeOhO4k0Utkwh1+oLdFatQGkFqSdr5wfFXwNLO/DQSxaJvg0BIXVqBmoaoBBya9ECSwcHko1UkzHEjS1bWNe2LZ7t2jHl0iU82jQ82wmdDrtdX+PeuT1+O/fhv3Qp1k39xQr1iPfAR1JQGQZJZ30qnqCuQnpTyErMaIWlZAe7w/d40RMHAtCh4xAH6Ep37LBHh47vuMlImuGAuOF/RgE9saSDtB1ZAtsyxeSsGrvvCnXYTAP7YH347TdITobp040fT0go59tvM1iwoGGV8gA+/vgMPXr40bWrqbKYCSb8FdjZWfD2290eSSU0ebI7+flV/PST8TK7YWEweDCsWFH32OIXYc0vtUuLd/aF/k1g6R/6fWM9QK2A9aJgDLYomYU9S8lDiw4FCl6kFTuJIo8ylCgZxD/4nZM0Yypp/MF1VpPIIcrIogXTCeIFCpmPhiJuWP1OuevzkPyqmJ0YBkybWwrr2M4FkCoxE206woz3YNYYKCqs+ayN3n8fMw8PoiZNMmoXsHZxYdTOnfSaP58tw4ZxZO5cqurzPUmoLCsj8Y8/6g2UVpqZ0Sg8nPxjxyi8eJGy6Ggchw7H/8MPadS5DaqMJPBpDO5e0HMQ/GMkBHYWCtpqeD8sR2hADSEE4EFn0iTbmBo1zWjObQSbo0JJZwPb2HCsa5WfH+YiKo3dl81Vn2kBh2JB7nCxtoQnexgPlx43TjxT6qt01KOHHVZWSg4fLjDewAgmTAhl/frrf8rWZ4IJ/2lwcrL80wqhhxFCzs71E0LuzqLKmOEtsDroN1N/yyS9FNbchpH+MCMEJgTBqCbg7Q/LesNWycXsZZAh5IENRWgolvbZY48SZU2lMUucUWFJEWlg3g2V/aekOrihcfoE3K6A8y+glpVFtgkQFrIiWY6Yr5EcoVunRbn5avQdDMcO1pExeowbR+aOHVSVGK92GDZ5MkPWrmXr8OHc2bnTeEc2AJfWrWP3xIk889NPBA8fXuuYTqfDwtOTgGXLCP7uO3zfeAOXYcNo+fPPNP11L2bLPoNJM6F7H3h+kvBSde4EiXcgVOa2SDwPvp302wXXwSYQ1FLRl8pboPQGpVD8VBCDGg9UiONFpGCNO0qJ4MklB3vsUUvbGRRjjhIn9CvLqWjwkSmEDAOlAZKKwddg7Ti9AFxsoW0wJKTCnJVwPRKS0yEtUyjXTl8BfwMTQna2+E4/CNnZf94yZlIImfAvRUmJhm3bbj2SXWznzhzatLGmWTPjbGVkJEREwDPP1D22+agIBpbzKXF5cDlVbxerD79SwnAj1cWq1Se3uUUILVBKX6V0zuNJF7TkYM0zIs9AoQC0oKvCSjcUHYVQfg/K7orVTa8++hNGnRODXrkKykiFMYDKzMyHKoQUCgVN+vXj1k8/UVLPU7C8sJBfXniB/a+8wpMbN/K4AVsvR1VpPas2O76Hc8fh4/X6jv5lCajN4Ym3xbZhkHRFEqQvAp/PQWFGJTEU8R0OLEaBghxuk8Y5QhC+rbtEkk0WPegJwBlSyKSEEVIAXCKVbKSIubKSkAvjYbwHNJUup0orKou91xNszB/YdYB4Vi7+QGQH1dMlLFmSwogRzrRqZdzKaIjs7BLWrr3AggW9G9TeBBNMeDBmzOjI/fu5DVYJWVgoee89HxYsSKKqyvgk+r134etvICOj9v6OwdCvLXxsUKF3cV9Rgj5BspOpFbCgMSxOgHJpgvECduShrcmmaYkLobixlbsANKUpfjTmKvG05U268iEhTKQdb+FEc2x4iUqy0XEcOxoT6RkoSq0X7BYnMAyYbt4d+kyCbybrZzlT54C3H4TPqPnsCpWK5tu3U3z5MnGzZxvtD4VCQYepU5ly4QLRBw7wXffuZEdFGW1bUVzMnZ07sXRywjW47kO2mrgwc3HB/6OPyNy4keSPP8Zj8mQUT4zG9qlRsGujsLdZSvdVrVYoZ6PP6d/Iuw9kXgCNpGyy7Sey+TRpAFgwgAouokWQKx50IYOL6KTV+BBacFuylIGwjZ0lpcZGNhRrTlNGttTe2Qz6O8J2mUoo0BlaucMvBrnOYwfA1mO1s1wBmjWDdu2gngrPKJUKnn3W5ZGqjQ0d2pzs7BLOnEls8GtMMOE/FY6Olo+cIQTg4qL+a6HSzuI2k5Nfe7+5GpxsaucI2ZnBrTx4IQg8rYUqFMBLCfuSINBeVJPyQk2KTCFkizk2mNVUGlOixBHHGtuYAgW2eAnbGKDADHNFEyoU9fy2FUqwDxVkRzUMg6UbBYONI9yR+Zo7dYPSErhau+yhXfv2WPj6krV7t/HzAaHjx/P05s3sGj+eK99+W287Y9DpdPz+4YccmTOH5w8cIGjIkLqXpFDULEyYe3jg2LMnrkOHYuHlJeZGvn7Qsy+Meh56DwALC7h+DJq2BTsZO2KYH1RwvXZ+kOYGmMnzg2IemB+UQ45BhbFi3LGpmQ/q0JFCZS3LmGGgNBhXCGUUiKyqDq1g5WwoKBKl5t//DD76Dp55HeKS4SXZHFena1iVsezsyj9tGavO9PpfgIkQ+jfgl18iadTIgQ4dvB/eWEK1Xaw+bNwoyroalgMvKoXdZ8TgTI6fbosVXZcHzOFj0HAPTY1drAod50itsYtp0RLJnRq7WBUVZHAFDzqj0DmgyZqK7v4QdHeaoUuahi5vAyVVG1DiCgV7oOgPMZj1kTHaMedr28XAaIUxaJhCCCD0hRe4vX07H7m6stzZmW86dWLn2LEcDw/n8tdfs65dOwqSk5keEUHzYcPqfZ+CM2e40qxZnTLFxETC4lnw8QZwFdJKEiJg78cw9TtQm4k7l2GQdMqb4PAk2IrA6nwWYs1ozGiBDi23WEcgz2CFK1VUcYiD9KEfFlhQiZYfuMVzhGApsfUfk8/jWNFCCvO+WQy/ZMN7MnXQtltQUA5Twh7abQAcPAhxcTBtmvHj9++XsX59JuHhDc8O+vzzi3Tu7Evnzg1XFJlgggn1w8bGnFdf7czy5X88vLGECRNcKSvTsWWL8dlB+/YiS2jlyrrHwl+AL36FDJnKo42HWGBYJJN0j3YDOxV8K/gJLFHwJg4sJx+NRDpMoCUHuE8KgtQYxGAucoEiKlFjjQIVOul/FZRRyNMU8AEhjCFXGUeB7zxIngXakroB0yDC/LPi4agUHK1SwcqNcGo/7NSXvDJ3d6fFgQNkbthA8qpV9fabW4sWTD53jkY9evB1WBh/fPQRp5cv59fJk/mhd28+8fFhqa0te6ZOpcO0aUYt3gqFgtKYGDSZmVi3bIl1mzZYNWuGQ3Xxgn5PwJzlUF4GvSXbsk6nJ4SqV7Xt/MHGF9KkHCG1M1iFQZGQ5qjxRU0g5QhbmTPB6NCSi2BvgmhGHrlkIli/MNzJpox4iUDyRU1bzNkrs4095w5bDEjCUS2E4liO/mFiQnjyOnUwfpxQNNeH555z4ZdfcikublilJUtLNc8+28oULm3CfwX+rGWsIQqhBxFC1lbin7EcIXe72jlCNmbQygneugC/JcCFTDiUDBXpsOUOTA8GpUJkCKWhoQr9woNhpTERLC3PEZIqjUnwYzM20kKoUTjUEyxdfZ9UKKTy8zLJooUFDH0admyq9VYKhQKP8eNJfQjR03zYMJ7bu5dDb7zB6eXLG1SJUltZyaG33uL8Z58x4eRJ/Hr0qNOmerFAIVvBr37voogIim/J/LmVEtF26iic3Vc7P6iyHFKu1q0wVidQWl5hLBrzOhXG5IHSOTihn2QaBkpnU0UFutqWscqGEULykvMdW8OKt2DeFHiiD4QEwPI3YPNH0FImDisoEF3wrwyVNimETPiXYuvWmzz/fOt6s4AMkZ2t4cSJAkaNqv9bv+NneHZM3f0HL0JjD2htkCv02z14ymDhMrJElAKsxmFK6Ykl9tLXJI58NGhpKQV9ZpBBOeX4I/J/8olChQX2NMUlfxiK3J1k+SaT62dPidkxKrJnYh71Ms5ZnVC4vQmVIWDuJAa11Ui9B74G5E92Jji71bk2hbk55YkPXxEMGDSIt9LTmZufz/gjR+j65pu4tmhBfnw8ET/+SIdp0xh36BB23vUTdDm//cbtxx7D9513UDs66g9kpIoqMONmClk/QEkBrBkDQ94Q4aYAt76AzIv6IOm8HVB0CLyEJ6OUfZTzB/bMlfp6L2XkEMBIAM5xFh06OiB8Xr8QjRIFg6Wy89coZzclzJbUQTodvBULUzzBT7qflWhEdtCC3iB3Ku44CS8sq3vNVVXw7nvw1ptgU0800MKFyTzzjDPBwQ3z2ebmlvLpp+eZN6/ug9AEE0z485gxoyOXL6dw8mRcg9qbmyuZP1+ohCoqjA9mw+eLLCFDe0+H5jAgDBasr71/YW/YdEME1oOYECz2F0rFPGnsOhob1MC3CP+BH/b0w4+vuI4OHR540oZQ9rGHPKKJZjsK6X+WuJDEfbLxI41wLHGm0mGwCJhOkZSYAWPAuTWcnCxuhJa2MOUb2DIb4iV2wsMbPtoA4S/DBT2DZRUYSMjevSQuWEBCeHi9FiS1pSWPrVrFMz/9RNSePaRduYKNhwdtX3yRkdu382ZaGnMLCug9f36d16Z+9RW3n3iCxPBw7o0dS/RLL2HTti2tjh4FhQLduRPw03dw4xK8+wlMfEM6qVo8G/PSRDZSNdw7Q7asgo5NDyjWq4gs6E05gjBSoMKNMLK4Lh2zwJ8mREs5TpaoaYsbV9AzPkOw5rCMEBrhArdKatvGng4RhQpKZHNRtUqUoN/5e93+Gz0azp+HlJS6xwBCQ63x8THn4MF84w2MYNy4UH766TaVlQ3LHjLBhP9UuLlZk5FR/PCGBvD0NCcl5cF5mR4eUFoK+fX8tLzdICm97n5fJ0gwIIpWdBT3+J/uw3uX4cPrUFkELQNgdFNxzBM1CiBRZhvzwZYE9OySG26kkVazbU9j8tBXzlTjjoIHxGs4dYXMQ3oCyKc9lOUJQqQanZ+AE5tBI7P6PjcRNn8PcbWrdHpNmUJxRASx7733QBuqf+/evHD8OBfWrOGr0FCurV9P/KlTRv9d+uor1jZvTtSePUw8fRrP0FCj76lQKCi8epX8s2cpvHKFkrt30Ukyy7xjxyi6cB6SEyE7SzwTALZ8B+f3QqfH9W8UfQSsXcBFIni0FZB1HJxkC+4Vp8GsQ81mGRFYygoE5RGLA/oV5TTScEU/F0ugAG/JXgZwnwrcUGEloxbulYO/ARcTUwCNDfJIE3PAR5paRcbCht3wx1WwMIfeHQRJZFibIS0NLC3rr3xcjdTUcjw8GmCJMEBmZgmurg1zPvw3oGEBNib801BeXsnRo/dZssR40KQxHD1aQKtWYoBkDImJEBMDxqIKjl8VA3c5yirhfDL831D9vvgyaHUJ8rqDrfSju0wFnaQsGoAocgnEEZX0Y08jFQ88UUnl6AtJwB5/FChQ5Z9B5RiOs+VoqkgGGx0qfFHln4fcjWAXC1WlYK63NwFgZimCpeVo3hru3qhzbV4zZ3IlKIiiy5exbd/eaN/IYWFvj1dYGF5hDZTHINj6lJUrSViwgKAffsB15Ej9wbwcUac9rBu8uUTs02rhy/Hg7AtPLxD7Uk7C+dnw+CERJF0RB4mTodF3YOZJFZnk8SaOLEOFG0Ukc5tv6cQC1FiSTTbHOcrzvIAKFckUsYk7fEAP1CipRMfb5DADO/wlqebOLLhSBFtkpN+y0+BuDS/InkPFpfDGlyIXxBDffy8mgrNmGe+b69eL2b49h9u3G561tHTpacLCvOjfv0mDX2OCCSY8HE5OVsyd24O33z7MuXOTG1Qqddw4V1auTGXdugxeecWzzvFOneDSxbrKU4CPp0HoFJjyOLSTVu2CXOCVjjBjH5yaIBZmR7jAV6nwXhysDQQ1CpbjzDgyeQJrfFHzIq2YxmGOk0g//BjEY6xhNQkUk8dNMriIu0SGN2YIGZwmlUu40wsnRTD4bYR77USossOT0O9H2NkRri6FsHeg9UB4YjZ8MgIWXwR7V+jzD3hvNbw0DH48Bq3Ec8GuY0fanDnD7aFDKYmMJOiHH1DV45cNfOyxBhUeqEZpdDSpq1fTdO1aFGZm6CoqKDhzhuRly3Bs2wrPokQUxYVgYyeeL5oKCAiG56aDf6D+2Wgu+zxm9qCRTR7NvIWNToKaprVyhOzxp5CEmm1vfEiXTcaa4Uw0ehVsJyz4nAJ0Uu6TvRo62sGpfGgifYwAJ1Gc4nwS9JXd2geEwXvf1e0HFxeRU3X0qPGqqAqFgn/8w5HDh/N56qmHBERUf85OPpiZqTh3LokePUyVK034+6JpUydiYuoJ2XoAmje3ZvXqpAe2cXYGV1e4dw86GsmRbBEgSn0P7FZ7f2tfiJCtv+p00M5F/LtfKIKlva1hdxEsyoRijSCErNRKWmPFRUrwl9TrLXDjPMmMIkRcLwHsY0/NPcaL9kTxK1oqa/Jr6kCnBSpAYQmeT8HNVyHnNLj0BHMbaPcCnP0MRv4g2vccCZsXw/6vYZhULrdzdxg9HqaNhT2/1xAs5q6utD15kusDB1JVUEDg6tW1FDtyeIWF8Wp0NNd++IFzn3xCeYHx7DNrNzf6LFpEq9GjUarrn3onfPQRuUePUhodjdrBAZWtLWpbW1wDGuN77TTk5cIvG8HRCfyawIhR0Nkf7rSF1r30b3T2U+g0XR+/kboLVDbgKjkyNNehKgYsngCgkkxKuYw3awCooJAs7tCJ16XjldwntqagDcANMhmLPs7jAqV0kEWM6HRwthTmyIwc6aWQWAztDcwd1xOhg7+wiB04DX06QnmFyA3SaqF3R2EXM5ORS3fvCgvyg7QVWq2OyMgSgoMfndiJicll1MOCdv+LYFII/X/GqVPxODlZ0qqVe4Nfc+hQPoMGOdR7/OhRcWN3MNLkxHXoaxBVdDEZHC0hSDbOOpUP7e30ZBDAFcppLyOEoskjEL06Jo00PNFPIopIxBYRElxoG4WuIgqVzgNz2mNOB1Q6N3AYDtoyKDoOlSWgNhhoW9pCucHKSMswuHWlzrVZ+PjgNXMm8e+8U0/P/DVoKyqInjKF5E8+odWJE7XJoOIimPw4NGoCy77V5wbtCIfEG/DKVlEZrTABDj8DXVeBZ3fQaSD+WXB6DhyfkuT7M7GgG1aMREcVV/kYPwbhRlt06NjNLtrSDn/80aLjU64wGP8apda3FFKMjlcldVBRFbwWAx81ASfp5hmdI8pCfz5EPKSrsXQz+LrCuIG1rz0vD955F1Z+LBh4Y5gzJ5GXX3bH39/CeAMDxMfnsXbtBVasGNBgdZwJJpjQcLz2WhdSUgr56adbD28MqNUKli9vxKJFyeTnGy9X3Ly58dcG+cJrT8PMz2rncr7fC+7nCaUQiMHa2kD4Lg0uS8KW7lgyFGvmkYsOHXaY8zJtWUcEuZRhjTVPMIx97KExz3CPLVRSRja3yOQKgYylPaNx4Re05IJFE2j0DSROgop4sHKDwb/A1Q8hfq846Yh3wT8MPhulJ1ZGTxYh0y8OFtZfCdYtWxJ6/jwVycnc7N2bCsNya38SeQcPYt+rF44DBuDQuzeOAwfiPWsWbuPGkbZmDTmZRTB1Lry2COZ/Kv5bXAQLX4G4aPFsVJsLG3I11FbiWVqz7QGVeoWPmkZUoZ/J2dKIItm2J56kob++QByJkRFCrTGnAC3x6O1bvRzgpExhoFBATz/4Xc8ziXZt4E5CbWthNQb0h6MPKNg2aJADhw41XCGkVCoYPDiAffuM5zqZYMLfBQEBTkRHGw/8fxBCQqy5f7+MsrIHWy2bNxe5o8bQuhncNPITausH12SEkHwI18QO/GxBrYRuVhBRCntTYLMkvOmEFRdlKsM2uHOHbDTSPaUJTSmkkGyEl82JQFSYk8UDnmN5z0PxWvH/1dbgNwni1uqPd5sFN7ZCoUR2q9QwcRlsWgTFMtJmwUeiwMBHi2q9vU1ICO1OnyZ7717uTpqEttL48xGEYrTDtGlMu36dWffvG/035cIF2owd+0AyqCI9nZR16wjZsIEu0dG0++MPgj77DMem/mRs+pGsZ6fCqQgIXwGPPyXcE0vmweZVMGmF/o+SfgvifodOU/VvHrcW/GeIzCWA0g1g+TQohVSniCNYEYqZVFEslcs40BhrSRGUSCJmmOEhzflyKSOJAlrJFEMXKaEj+jlddAUUaKG9bA5xMROaOYCDgb7hWiK4qmHPCTj4NcyZDIteEXlC44bBz4dhuYGLLzKy/vFJNZKSyikr0xIU9OjVwqKjcwgMbNiCxH8DTITQ/2fs3x/NP/4R2OAJsVarY//+PAYPrp8QOnIU+hsRHGXkisFYLwMBx+8JYvAm/win8qG37BRpVJJMFe3Q/2qjyaupLgaQ/gBCyMJhBZTdg9u+kPwGFP8hqmmVRYpAafvHRQl2tQFra2EDZQalf1u3h9tX65Y+AHzmzKHw3DnyT5ww3jl/EqUxMdwaOJDiK1cIvXABuw56WSXl5fDyU2BhBZ9t01PWhz6HI1/AW7+BrTNoSuDQCGjyFLR4SbRJmw/aYvAWwRxFfEEl0TiyCgUKotlBBQWEMBGAS1wklxwGSlXH9nOfDEp4QWLlk6lkOfl8hDMWUrDbgnhoYinCpEFM1mYdgPGhII+tik6GT3bA2lfrFHBj8WJo0wZGjDDeP4cP53P+fBHvvNPw7KD33z/OyJEtaNfOq8GvMcEEExoOa2szFi/uy7x5Rykvr38AK8eQIY60amXFihWPTnq8OxYSMuDHw/p9dhawchC8fQTypVzUICt4yxemRUF1hnU4jlymvKaseXd8CMWNryQ7Uwta0hh/LpCKI0FcIJwoNmNHY9zpiBPT0dCa+0wlhd8pcOwADs9A/FjQVYJrW+j9f3BsrAiaViph+nrxfPliHGilSdOUt2D0SzB+ICTH11yHmZsbrY4exSokhOudOpH3COXm64NVSAhFly6R9fPPVEoryWpHR1yGD8fV0YwCKxehVPL0EcHXrduLZM2iAshKF5/dwsC/q7Y2IITcaxFCKhpTRUJNUHQ1IaRDPE898SSDjJqyzwE4kkQhpVIQrCUKWmHOZfTK3d4OYswghzFCyMUB2jQVC1OG6N8fjhypU+RHf47ediQnVxAZ2fAslX/8I5D9+6Mb3N4EE/4TERDgTEzMoxNCPj4W2NiouHfvwb+Z4GChrjCGVkFw417d/aGNhIpD/ntNLBKVxuTwUENjNZzKhY+lRYFOWHNRVq2wEXZYo+aelBtkjjmN8ScacWIFSrzoSAoX6r8Ii8egVBZE1ng6pP0Cpcli2y0YmvaDC1/p23R+QgRM75QF41lZwbrN8OVKOFvb32rl70+733+n4OJFbo8Zg7b8wXa8v4qi69cx9/TE3F0IBlSWltiGhtKoXUt8e3QlYcOPQhkU1lEESn+xAVSFUOYBzWVyrzOfQuhzYCsJD/KvQf4VaDRBbOsqoXQTWI2veUkhB7BFr3ZN4QLe6CuURXOPQIJqCgjdJBN/HLGXRANV6LhMKZ1kCqE/SqGDJVjI5heXs6GDgTqosBRiMsAWEWzu7CjKzTvag48HDO0Lq+fCfgP7cWSk+C4/CHfulBAQYIW5+aPRHRUVVSQk5BMQYCKETPgXYf/+aIYMCXp4QwkXLhRRUqKld287o8d1OqEQGjCg7rGT16F1EzEok+OURAjVapsvVv2qcYUKgjHDVvqKVKLlPvkGCqFUPNBP7gtJxE4ihMzVfVAEHELn9wM6XQW6pKnobrpBWjg4jwMzT0khZEAIGVMIBYSI5LC4ussWZi4u+MyeTfy8ef+UkrNV+DmmkwAAIABJREFUJSXEz5/PtdatsQoOpvXvv2PhKws/LiwQyqDCfFi3Gywk6vvsNtg6F97aI3IedDo4NUVcX/fPpNcehqw10HgbKK2o4AqFrMCZb1BiTz6x3GMTYbyNGktyyOEg+xnOk1hgQQYlfMdNXqUdVqjRoWMeuQzFmu5S2cfrRfBFCnwVpCf8frsnLIJLZNndAK9/DuMHQViz2vsjI0VuyOpVxqWYWq2O2bMTePddH5ydG+Y6vXo1lR07brN4cd+HNzbBBBP+NMaPD8XGxpyvvrrUoPYKhYIVK/xYvTqNpKRHG/DaWAnr2OyvoUB22x7VAlq4woKT+n3zGkFuJXwp5cY4o2IBjrxDLoUSOTGdUK6SwRlSUKDgCYYRQzQ6uhDGHJoznuY8TxHJXGc1mTQlg0xi+ZqrfEyxz2zQ5kHaQnGSwDEQMhUODofyfPF8mb1XhP6vf1U/u3nzAxg4HMb0qqUUUlpYEPTDD/jMnk3kiBFEjh5NedKDLRkPgmO/fnjNnEnu3r2kf/stecePU3TlCuUJCeSUqbCLvgKnD0NqEuRmCxIoOR5KikTuUXmxuAY51FZicaVm2x0q9SEgKnzRUYJWWn23wZsqNJSRJf0dXFCgqFmdd8YSJyyJlamE2hsQQt3s4X4ZJMu+Lr384GwSVBiIE/qEwgkjWc/du4tw23tGJp8ANjYqBg1yYNeuhk+MBw8OJCIindTUwoc3NsGE/1AEBjqTnl5MUVHFwxvLoFAoCA625s4d4yXTqxEcXL9CqFWQsIwZrr+GeEFJBcTJiv/pgHmXRCbMkWSRJfRVJDhkwLlsqJRur+2xIg4NGRLJrEBBa9yJkGWVBRJEFPoxvjedSeFCDZFdB5ZPQVW0sD4B2DQFt0GQ8LW+TbfX4PyXoCmr7iCYuBx+Xgk5epssLdvAux/C9Ochv3bRGAtvb9qdPEl5fDw3hg2jqvjRs50aCqugIKyDgkhas4bKQtk9zMmFsqxsLFwMyIn423DvKnST2ZaLs+DaRqGQqkbc5+DzvMhsBSg/AqjAXIzHq8inmDPYSQvPWjSkcbkWIRTFPYLQTxZukEEbmTrojvR8CJG5Sv4oge4GU7zLWdDeIA43Igk8HaBDsPQnehfOXYf7SZCUBrGJsPsYNDWoQ3P3bkMIoWJCQh7dLhYfn4darcTHx/jc+78RJkLo/yPu388lOjqH/v2bPryxhJ07cxk2zAkzM+N/qtu3RThc1651jx2/VtcuVl4Jp+JhgMznn1oOMaXQQ0YIXaacMJk6KJFC1CjxRgxGCymkmGI8JHlhFRWUkF6jEAIo5xz5dsfJ8ckiu1lLCpoNpcz7cXQeIjiZqtK6ljFjCiG1GoLbwM26tjEA71mzKIuNJefXX40ebwh0Oh3Zu3ZxtUUL8g4epNWpUwSuW4dKnqaclQ5j+4hks41HwVa6UUQcgq8nwqvboZn0h4hYCaknYeAOUJmDJhkSxoH3arAMQUsBOUzBjtmYE4YWDVf5iKY8hRPBaNGyi59pSzsCCUKHjrVcpQc+hEl9vp9SLlFOuETSaXUwNQpe84EW0scu1cCsg7C0f+2KcnvOwpnbsGSiYT/A62/A5EnQqhVGsXlzNjk5lcyc6dHgvn377cPMnNmJxo0dH/4CE0ww4U9DpVKyYsUAFi8+1eDSxR072jJsmBPh4cmPdK5Tp8BVC77WsEhfsAuFAtb8A766DDckbsJKBV8EwrtxUJ17+gw2BKBmqUQ+OGHJVNrwOVcppAI77HiCYexlLxrUONGcCgq5ywbMsKUpI2nJfJpyEi+Cuav8Gfy2QtYqKDgoTtLpQ7D1h2PPi9wJezeYexAu74afF+o/cPgaeHI8jOoOV8/JrkWB9yuvEHb3LkozM64EB5O0bBnaikebrFXDdfRoHHr3pujCBVJWrSJl1SrujBiB/YincXlsMOzeBJ9/AF8tg69XwLQR8MQYoRhqiELIzAOqcoQ9GVBigxJXqqTcIBXm2OBJoWQbU6LEHfdaOUIBONbKEQrDgsvor9dBDW1ta6uEWrqDjbnIEZKjbzsxFjGEpaUghY4cqXusGk895czOnQ3PUnF1taZjR2+TSsiEvzVcXKywt7cgNvbRc4RCQqy5c+fBpMWDLGPNGkO5BuINAt8tzKCFF1yTqQD9bMFGDbMvwud3YHMMnMkAVx3km8GqTmJc6oCKYCxqqYRa484NMvXnpRlx3EcjhU970IYycimQ2VvlKFcmU2ozgIqyL/U7/WdA/DoRoAwQOBBsXOGqrPpBi67QfjBs+n/snXd4VNX+9T+TTHollUAghd6SUBIg9CpVaQoiNkSqIkoXUAEJKEWqKKhIUYr03osaIAk1lNBCQgIJIY20yaTNvH/sE+bMZEKCv+t9vffOep48eWaffc7MnJk5Z++113et2foHHDke6jWESWPKyBYtXF0JPHECTUEBV196iaKMF1dvVQY2fn64Dx5MyoYNRDVpwqW2bbnavTs3tu7iaU4+7hd/FxfUUW/AtA/h3T7gUBN6yewszq+EmqFQVSoNKcyAh7+A3zhdn/wNYDNMVG0AORzBinpY4gNAKtdRYoOzFEGfTTYppFBLlkAWzROaoLM+iUJFM2wwR7eKbJQQSjfuHxRYA2r7wOrPhEpoyc/w2Qr4+kcYNxeib8PEd3T7aLUQE1NxyVhMjIoGDcpJxXkOYmMz8fNzxtz8f4cm+d95p/8AbN9+k86d/XB0rJznilarZefODAYMMOLoKeHECWjXTiQoGuLUFehoQAidTYQqNtBQFtr1RzYE2IGzTOxxkUI9/6C7ZOKPE2bSjz2Fx7jggpXUJ49HmGOFNeKXnsMqnjIZczyxVbyFneJtlJbtyLZcRxaz0VJUeYUQlOsjBGBub4/3zJnET5lCzvnzL6wUyr9zh5s9enBv5EhqzJpFwLlz+iViIPwbXg2F2g1hzT6wk1Zp70XCskHw3hoI6inaEo/Chc+h+y6wrSo8k+L6izI5l/fQouUpH6OkNvaMBeA2mwAF9XgDgLOEk0MO3SUJ50kSieUpI2gCQDYappPJFzjjIpl6r02GJ0X6MfMLwoWR9HtNdW3qQpiwSpBBhuqxAwcgKgpmG9wrn+2r1jBjRiLz5tXA2rpyl4+jR2O5dCnZlCxmggn/JvToUZvAwKosWPBnpfeZN8+bX39N49q1568uA1y6BINehdcGw/btkHYWVqyHm/G6Pg3d4YNgGHdIN77u7gK9XOATyVtCgYKvceFX8rggrTB2pib+OPMjot6gMU2oTV32sBstWmLZjhIbfOmNG0E40RUHJpHLVsxRorGpB9VXQ8LrUHAPzMyh62Z4ektclwHcfQQpdHSFKPUFQQp9Mlf49rzdDU4d0HvPll5e1N20iYYHD5L6669cbtKEzKNHK31+S2FuZ4fH229Tb/NmfBcuxOujj2h8+jQ+i5fAmE+h35vQMAgcnKCaD6zcDmOmi4UIYwohcxuxuPLssXRzL9Yt5ZtTk2KZkbQ9NQ18hLz0fITq4MxdPYWQFdcpJB+dbMCwbMxMIRaajukH9tA+AO48hGQjUdcV+Qj17evMlSsqEhIqr1zr168+27ffrLijCSb8Q6FQKP5PPkI3b1asELp7VyTJGsLSEur7GfcRKi0bk8PeAjp7wcrWsKEDbOoAS1tCsjv0qKHzrCzrI+TOLdIpkEpV3XDHFjviiQfAHCs8CSKJCL3nK+AeyUwhgSFk2try0OYgaq3EOLt3B6UDJO8QjxUK6Pw5nJwDRbJr5DthcOxneCiTJyoUsOJn+OMEbJOVoklQOjoScOgQlu7unPfzI3byZNT/B7VoeUoj1x49aB4VRdDJk9ScNg23V17BvkkT/LbvwiMmAabMhoBmkJ4EqQ9hxS/QQSoRyUuF8CXQ5QvdARPXgXMLcJQIIk02qHeDjc7NP5t9OPLys8dJRFGNEBTSfC+We1THG1upHCydfB6TSyOZQiiSfEJk/kEZJXCrEFrL1vyTVeKvqYFC6EoCBElaAv8aIm7+k3egdwdoVBs+Gwu/LYWgBrp90tJE6E1FhNDNm6q/pBD6X/MPAhMh9G/Fli03eP31cmQXRnDtWj7JyUV0716+qqI8/6DHGWIQZugfdOy+GLQZ+gfJy8WK0XKFQprLFEK3yaA+uh+HMJTWlYvlSuVipRcQFRtwYwcOfIQNvbChF3a8iwenUHMELSohczc3ohAyRgg1bg7XL5Z7HqqOGkWVXr240b07V1u0IOWnnyjJL7+OuiQ3l4wDB4gdM4YrgYFY16lD8zt38HzvvbJpAtcviVXjbv1h0QZxxwR4FANf94JXv4S2gsghKxZODIF2q8EjWMyEHo4WRm7VvwWFAhUbKeA8VViJAjPSucF9dtGMyZhhwRNSOMUJBjAQSyzJRM0aohlHEA7SZzKHp9THglcRzHdKIUyLF+attpIxeGwGLDxb1kh68TZwtBXpQHIUFgp10Nw5IonCGFaseIyLi5KhQ12NdzA8zyUaJk8+xqxZ7alS5cVN3UwwwYQXh0KhYOHCbixfHkFCQuWMef39rRk92pNp04yvyJZi61Z4fyR4uENiAqxeDV+FgfNjGL9Sf3H1s/YQmwm/Xte1LfGHwxlwRJrr1MKCj3HkEzIokFJmPqQpf/CIy1JJQW/6kkwSkRwnl0Qa8B52CEO0IvJQ0xYVTjhxRcQTu7wJVd6B+H5QkgNWVYTJ9LVlcF+aLHg3EiW+W6bB2S26F/jmOFjwE3z4GmxfV+b9O7VvT9ClS3iNG8ft114jedWqSp3fUsgXLGzr1cOhRQuUjo4olEqxstOmCwwdDR/MhHfGg08t3c4FeRUrhMwswdzZiLG0nBAyZiytUwjVw4Xb6CajPpjjhBnXZdHR7Y34CHX1L0sIVXGAQH9Rwm6ILl3g1CnjE1MAV1cLOnRwYNeuyislhgxpzPHj90lLq5jYNMGEfyr+qo9QgwZ2FZaM+fmJ63R8vPHt5fkIGRpLA/SoDsHuUN0OHCQ7zQaWInUsWiZQDcaWSJlCyAt7nLHillS6qkBBHeo88xECqEaIno9QDsdIZhJaivDjBNXMNuGSpyFF+4nooDATKqE4mbl0o0Hg4CWUM6WoUQ+6vg0/GwTSeHjC8nUw9QOIiy3z/s1tbGi8axcBhw6Rf+8eEbVrE/POO+Rev16mb3nIjojg+sCBRAUEoDXii1oKG39/3Pr0ofq4cfjMmIFt3brCP6jnyzD2E7BPhqkzoKmsPOR0GPi2B9924rFWA/Hfgt8Huj7qHaCsDxZiLlpMKirO4YhIG9OiLeMfdFfyDypFNE+oRRXspFRjLVqiUOn5B51VQR1LcJcLDdKEobSDLBMBdAqhUjg7QqtAGNILRg2G1kFlveZu3QJvb7A3WB8xxF8tGYuNzaBWrfLFGP+NMBFC/ybcuZPO9etP6NevgoJHGXbuzKBXL2dsbIx/TMXFcOaMcf+g01fEIKyKQfnjsTjoZlCxduYpdJBxTjEUoQTqovvV3iaTenqEUPKzcjEQkfPycjHx1dIf5WkpQYsGRelxy1MIGZaMgU4hVI76x8zSEv9vvqHFo0d4jhhB0pIlXPD2Jm7yZNT376MtKSHnwgUSw8K41rEjES4uxI0fj1arpcm5c9RauRKlsWzl8OPwRicYOQU+XaRzX05PhAUvQdfR0GO8aMtPhcO9oe7bUFcya0tbATlHwHcnmFlRRAxZzMKF1ZjjTiHZXGIB9XkHR/woppgd/EYrWlNTkm+u5iqBuBOKMHD+EzU7yWMhLs8IuEn3oauzWH0HcZrGGzGSTkgRyWIrxosFZzmWLQNbWxg50ugpJj29iHnzkli4sGalIq0BNm6MJienkLFjjeSbmmCCCX8bmjXzYsCABnz22alK7zNzZjXCw3M4edI4ibRtG4z7AKZOgW+/1fnpN2sGXdtBdCzs+F3X38EKFneDSccgWxJ5eFlBmB+Muwf50i1iLI5YAMsRz+uBLe/SiOVcIp9ibLChHwM4zjlUpJPJLQrJJpPbJHCEe2zHlT5YcBEVv4iDVvsalFUh8W0xMHZpBJ03wul34PE50adua/joN1j7nij9LUWvV2Htfpg7AVbPL3PfUSiVVBs/nma3b+PczSCisRwUPn6MtqQEbXExmiIdsVL45Al50dHiQXGx7rlK/2emwyXp9apzy/EQMpgAKj0NfIR89AghB2roRc97UtUger4KSeSSI5WJKVDQHCs9H6F2ThCjglRZ5Vw3f4hKAsNKxU5N4eTlsuekWTPx/2L5az1S2VjlJ8a+vs40b16NnTtjKr2PCSb801C79l+Lnm/QwJY7d1QUF5dPNiiVUKfOc3yEasN1I1WXxhRCXzSFhs76l0ilGbS0gt2pQhECwlj6FgVkSfOCUh8hedmYoY+QF8FkclcqHTtEMpNwZijV+AYlLqAwx87sFSyKstEgXXRqvAPZV+CpVFFgZgYvzYcz8yFf5g/0xudw6RhE7Nd/Q917w5C34Z0BkPoEY3AKDaXxrl0EX72KmZUVl4KDie7Vi4xjx1DduWP0L23vXi63b8/Vrl2x9vUl6NSpcqPsK8ThHyElHgZO1LVlPhAG2t3DdG1PDgv1aNX+urb8DWArN5M+iA3NsJAWWLKIp4AsPBBqghJKiOVeGf8geblYHEVkoyEAXZxYueViBmvJJRq49kiQjaWQf5dKFwuOhovbYykqYyidmlpIenrxX46c/18ylAYTIfRvw9at1+nZszbOzuVkeBvBjh0ZDBxY/hfy7FmxoBgUVHbb4SjoblD1lK6CS8liFe9ZWxHcUEE7R13bRQpoitWz8jA1xcSTRT10hEmKEYWQnBCyZSjpvEEOK8jnIPkcQsUmUumBNT1RYGucECpPIVSnEahVkHC/7DYZlA4OeI0ZQ9C1a9TfuZOCBw+41KABEW5u3OjalbyLF3EbMoSmMTE0j42l9nffYW/sBILwchj1CsxeBSNkF96sJ4IMCuwJr84VbYU5cKgXuARCq0XSSTkFj6cLMsiiGhpUZDACe0ZjRXu0aLnCUhzxwx9xwT7DaTRo6UQXAM7yiKukMoZAAFRomEgG03GmJoJ6P5kJe9JhqWwhuTwj6YmrYUA7aGMgVHv8GOZ+CcuWliWKShEWlkSrVvZ07Vp+4p0cKlURM2eeJCysM1ZWlTOfNsEEE/51+PLLzmzbdoOrVx9X3BmhyJg+vRqTJyeg0ZQl3+/dgwXz4bXXdG1JSfDGMHBygK9HwSerIU8mzhzcCBq4weendW2jvMDFAsKkyYUFCr7BlVXkcFMiIXrhjzu2rJeih+tQlwACScKfe/zGOT7lPrtJ5xq+9KEBY3BlFVnMoIhboFAKA//8y5DypXgi31cgZIEg7jOkVd3AHjBiLSwdCHfO6V5k606w+QysXw5zPtIfjUqw9PTEpm7dMu2GeLhgAXfffpuoGjW4M3QoKWvXUpAgCJmsU6fIPHRIdFQqhXw3L1fn6poYB/slBVO5CiEDNaxB0piSGhSXiZ7XlTt4UpVsslFJK/hOWFEVO+6gm5AKY2kd++NqAY1sRcl5KbwdoY4rnIrXfzndW8CRqLLrOebmYkHr8GFjZ02gf/8qhIfnkJJSVH4nAwwZ0ogtWyq/am+CCf801Krl8pdKxvz9xRwjLu75/nH16j0/aay8krH4NHgq45/NzeBWlrhsyX/frW3geAoslJLGPFBSEwsuycrGmuCuZyztTy0ySCdTuu5YU4Uq1CGZKIq4jwdTcUZ38ykhl2S7hyhKElFoJLLawhm839SPoK/VFbyawu9f6dpcvWDsSljyrii/kmPOYqjbEHq3hfvl+5HZ1qtHve+/p1V8PA7NmxPz5ptcCAoy+nf3gw9w7d2bVomJ1F68GOuaNcs9LtGXYXBPUBlReiXEwPcTYNJ6sJEtDpz4HBoN1HkHAcStAN/RYCat3JQkQGE4WL/+rEs2e3Gk77PHSURSlaaYS9UIjxC+gtXRJQob+gdFoiIIa6xklMLZfGhjUBRwMa2sf9Bdad2iri6wmuJieJIOuXm6+ciPO8TtsRS3b1fOP8jb2woHhxeff9y7Z1IImfA3Yc+e2wwc2KDijhKSkwu5cSOfHj2eEzd/HLp3LxsZDkKe3aWZfltUEtSqAlVl15ArueBrDe666jBuU0QjmToomTysUeImqw99ylNcZIqhAjKxlj124EOcWEAJCeSxjjx+oIBIHJmKE7OESsjKBfIMlhs8/OHBFSgxGHxbWUGbbrA6jMpAoVDg1KED9bdto3lcHI2OHKFlWhr1d+zAa/RobGrVKn/nm1fgnZdg9ofw7U7oN0y37e55mNEcfJvBcFEChjoDDnQFazfovEF4VuRfFb5B1VaAXWu0aHjKh5jhggOTxaHYTBZ3CWIiChTEEss5whnIIJQoSSGPZVxmDIFUkZj3z3mKB+YMl8y9s4th+B0I84XqkuXTUzWMPQhfddU3kt79Jxy/JCZthvhoAvToAR07Gj8lN26oWL36CV9//ZybmAG+/jqcatUcGDy48mWSJphgwr8Ovr7OfPhhCOPHH660t9r48VVJTy/mxx9Ty2yLvgZy24RNm4SPUEiwUAy91R1qesDMn3R9FApY1RO+vwjnpX3NFfB9HVj8EC5IYSoBWDISB8aRjhotZiiYQDOO8YBziAF7d3qQiTX5tCaYWdThNYKZhRehAFjRAXtGkc6blJABSlfw3QOpiyHjZ/FEjcdBwCewrxOkSbKVNkPh9a9hfjc49aPuxTcMgt/OwrmT0LMxHNlVfk56OXh68iRpv/1GrTVrCDh3DqcOHcjcv59r7duTOHcu7oMHU33iRDhzGMYNgglDYfEM+DYMTuyDBoHw2TJxsLiL4h4pR24iWBmUlWs14q/0M8ARLTrmxhpXCmQlYTbYYIstT2UEkC+OJKJLummMJbfRJ2VCHOCSQaBX+5q6z/lZWwAkpcODFMqgZw9R+l4evLwsadrUjhMnKlf6CDBwYEPOnHlQaVN1E0z4p6FBAzeuX3/ywp6YSqUZjRrZcfmyEaW9DAEBcKGcIMrmjeBmLDzN1m93c4BaHvCHrJwsTQ09jsCkSH0riu6OEGMBJ3TWZLTFjmPoXldTqnKPDJ4gFoGtscafWlxBJyesQVvuc4x8rlEi8zXL4SgPGY7SrBZVVf4o8lbonshvAjzaIuLWQbywHgvh3HKIk0VfdhkGrV6BKZ0gVTYXsbSE73+BHi+LZJ6Vi4wuCDzr7umJ39y5tHn8mPYqldG/1gkJ1Jw6FQvn5wSrqNUwbwb0bgOhHcDGgFF5cBOmdYH+H0MzmTL1+na4uQu6ztW1pR6DzHCoKZP8534FVn3AXFR3qLiAmhgcEP4RGkqI5wTe6Pw+r3CJ+jR4Fjd/lwxyKKQROmbnOLm0RbdQkVkC5/Ohk2ztokgDf6RAqI5HAuD329DcBzQlsP80BPSDpgPh/c/gg3mwYK1IGdv2jf5+Fy9Ckybln0qAy5dzCQh4cUNptbqYe/cyqF/freLO/0UwEUL/BmRk5HP58mO6dvWvuLOEs2dzadLEFmfn8pnNiEho3apse2YOxD+GZgbp9jFp0Mhdvy1ODbUMREuPKaEqOplINoU4YvWsPAmgmGKUMtJIgXmZeEgrQnBmIW78hhs7cMl7C+viAF0/31cg4ZD+6mbjLuLiHX2k7Bv78ns4ugvCJoKq8tGPVtWq4RASIjwanodHD2DiW8I8ul4AnLwH7UUMI1qtMB8N6wK9J8LYjYL4UaWIiYVtNeFRYW4FBffhfg/wmAKuw9GiJYtPKSQaF9ahQEkSf3KXbYTwBVY4kUUW29lKL3pTFS8KKWEeEbTHm46S8mo/KvaQx7e4PnPyHx8LdW1grKwsbNxBaOIBw2XCp7QsGPUNrPgQqhqIznbvhmPHYPky46dFo9EyenQ8Y8d6EBBQOellXFwmCxeeZdWqXpUuLzPBBBP+9Zg5sz337mVUWjFhY2PGqlW+TJ2aUEaVsfBr2LARZsyAtu1gyTcw/F2dCb1GAz9NhjX74XeZZ0wDd/iiA7y5G0qTlJvaw4yaMOwWqCRZ+GScsEbBbImYqIY9E2jGEi6SRC5WWDGEoZwnmoc8xRE/FJg9u6coUODANCxoTDqvoyEXbALAbzc8GgdZUhJls5kQOAX2ddaVj3UbA5P2wtbpsOY9KJTuSzX8YN9leHcCfDYGXmsLF89W+vyn79hBlZ49sfbxwdrHB68PPqDhwYPU3bSJvCtXyLt2DcWuDbDjZ1EaHdgSXNwh/i4s+lSQQ6o8yM2AC7ug3dv6TxC3E3z76R5rtVBwE6wbPmvS8BQzmcJXlG7r3w+VWFCMbtLjgOWzkjGAqpiTYlAGXstGjCHkaOguxhpy2FhBAx+4bER10KqVmJg+Z75FmzYOnD37/AmuHN7ejtSt68qZM/GV3scEE/5JaNrUi7Q0FYmJ2RV3NkDLlo5ERj5/v44d4fRp4/y2d1Wo5wsnzpfd1icA9slSA2vaCYI/vxha79OViLW2ATtbyCgCtfTbHoAT+8hGLZnTu2JDC7w4gk7535o2RHL+WdqYH90oJAcH3ucpv5LGKhIYRhpLcKQPHsxA4bgYbd58KJbUPA71odZEuPoeaKQnr94Mei2Bza/CU6lcVqGAj9ZAYCeY2A6SZGogMzOYswi2HoZffoTuLeGq8WCbfwnCzwjm/PQxOHQOPpqmz7DdvQST20PPkfDWHF17ynXY8S68uhFcpPjo4ly4OhIafAXWkvSmMAJU68BxPiB8f1KZjwvvi/I74CF/okWDN20AyCOPq1yhtbTgAnCQWDrhg7V0/0ilmDPk0h9dmcmubAiwAn+Z0OB0MtgqIcRgDrrvKvQNgv1nYMl6WP4pbPoK3hsoShfPRMHUxZAoIxbVajh3rvwF7FJERGTTqpXj8zsZwZUrj3Fyssbf36QQMuFfjNOn46lf3w0vL4eKO0s4ezaH0NDy3bI0GoiMhJYty267Ggs1PMpV/UwiAAAgAElEQVQmSMWkgSHhGacGvwoIIRH/qyN/NGgooQSlbEApCKES2T7LKcQgazbpI7Q5R8hnD1rU4NJEpHAlysgfM3Po9L6IAy42kIh7ecPWP0UkcM/GYkX1X4GsTJg/GbpLCq6jMTB9IThLzIk6D1YNg93zYOoR6DlBXKhzH8Le9uDSGLpuE2RQ0WO43x2cB4PHdOlcLCKf/bixA3PcyOIel1lEM6bgRC2KKWYbW6hHfZoh6vy+JxozFIyUUsUSKeYT0lmCKzWk874jFfamw7p6OtPozdfhSCz89LL+veSD5dC6Ibxh4DeVmQljxsLSb6BqVYzip59SSUgo4IsvvCt9Sj/55Civv96Y4ODqFXc2wQQT/jY4OFjx9dddmTz5GLm5hRXvAPTuXYUuXZyYOPGBXnuNGvDrL8L7ZeAAOH0K3npLmNBrtULSXbcGhI2Ad7+GXBnXP7E1VLOHT2RWPVNriNKjKXHisQUKvsON7eRxUCpfaoc33fBhHhGoKcaTqvTlFXbw27PSAvlihQIzXPgOM+zI4B20FIB9J6ixERKGQq5kchQ0GULmwcGX4JEUddWoM4RdFoEBn4dCijRRsbAQRs8n70G77vBOdxjdH2LLMeGQwaVvXwoSEylM0cljtFotjm3borC2FuVi509BaBcY+ym8+5EwlF68AQ5dg9vXxELI7nlQuxVUlxkn5KfB49/Bb4CurTgFSjLBSqdI1pCOGTrzBi0lmKFfG6xE+VxCyBNznqLRSxrzs4Y4gwCw+q5lCSGAprXhSlmfVurXF6f32rWy20oRGmrP2bM55Xcwgi5d/DhxIu6F9jHBhH8KbG0tCAjwJCLixZOsgoMdiIx8/u+lVSvIyIA7RsyjAXq0hcNGQir7BsH+q7qKVmsl1HOCqQEwsh60Pwjr7ojyoHqZIjcmV7qsNMUad5R6KqGe1OYocRRJ84fa1MYOe6Kl+YMFtvTgW5xoTlW+xgJPbAmmBhtxZghKXNFatkZh8w5kjdIxXHVmQokK7i/RvfiQUdCgH/wyQJc6ZmYGH66Gdq8KUijeYOGkVVthytq9D/RpC19MgZwXJ+nKRXoafDwShvaG4WPh8DloHKjf5/qfMK0zDJ4Ob36hG9znZ8KmftB2IjTQpYRxaxbY1AAfqRxAWwhZI8B+BihFnVUuRynkAS68L7qg5RY7qMeAZ/eGSCKoQc1n9iA5FPIHCfREV2Gxh2yaY0sNWQjR1mwYbMDD7HwA/X30A25UBXD8JvQNFLHyrQOhY4hIE3u5M0waDofWQFU3EaZWinPnxJijomrtyMhsgoMrP+8uRUTEQ0JCqqNQ/G8tZpsIoX8DTpy4T5cufi+0T3h4Dm3alP9FvnNHsKQBAWW3Xb4rBl+GiEkVXg5yGCOEUgwIoVwKcZT92EukC/fzCKF8dmGOjmEoIAKtVT0U6lvksgwN2eKi5jdQrHDK0XcqFBfA9s/Lvok6DWHrHzBqKnw0RMjr04zo0CuCVgu3r8Py2dCpFty6CtvCxSC8uo+uX9Jt+KwlPE2CsEtQX5JSZsXC3nbg1QE6bQBzCyhKhvtdwa41VFsCCgW5/Egua3BjO0pqoiaDCD6nLkPwIhQtWvazl2KK6S3V8R7nAeE84lNaYoE5xWgZQxqvYEcfycU/UQ0j78J3dXSlYolZolRsbV+Qc4+/nYZjF+G7j/VJIoCJE4UH1ZtvYhRPnhQxZUoCq1b5Ym9fjrmQAY4ejeXUqTjCwrpUqr8JJpjw92Lo0Cb4+VUhLOyPSu+zbJkP+/Y95dgx/VKdVq1g4EB4/XVwdNRdUxQKSE2FffvAMQcsM2CiTMVvbgYb+sG2G7BX8q5QKmBjPdiQAvulWHIflCzEhY/J4JFEUAynMTYo+ZYraNESSBBNCOBXNlGAASMBKLDChfVoeEomY8W9yXkAVFsKcX0hVzoPjcZCmxVw+GV4IMXMu1SHWaehQQdRHnxxn+7AdvYw/nNBDHl4Qd+mMH0EnD9drsTFsW1b0Gq53LAhd956i4x9+9AWF6O6fZu8S5dw7d8fCtSQU05JlFIJaffg5BoYsUZ/24O94NoU7GWBDuobYOkH5jqpvIZMA4VQCYoKCCFHA0LIFTOUQIohIWSgEGrgDvczocDgdDStbVwhZGYGISEQEVF2WylCQ+25elVFbm45cWRGYCKETPhPR0hIdSIiHr3wfsHBDly6lENJSfnlZtbWEBoqUv6MoWc7QQgZKoja1YW8QrgkWyuwMIMHufBuXdjaETbcg8lRoEqHVFdwkKYPChQMxInt6K51gXhghwVnJa8aBQpCaUM44Wika41CmqraEYoTg6jCcJS4UzqFVaBA4zALleIOeQWzUHFeLNAG/gB3ZkOujPXquwKUlrBnjO7NKRQw4mvoMxYmd4A7BrV0VlYwbTYci4Kos1DPHYb0hg1r4clfmH88TIC1K6B/F2jkBcmP4I/rMHpCWRPPS8dgVk9472t9E2lNCWwdCh4NodNnuvaMc/DgewhcK1LXAHK/BhRgPwUALcWk8hVufIS5ZD/xmIuoycRP8i8toohIztNGVj52gnjq4IIPTtJxtGwni0Ho1AepxXAyD16TCRJKNLDrAQyQTa1AkEHVq0B9L7CyhORUkXZsiKJi8JSZUZ86BZ06lZ3PyJGRUURsrJoWLf4KIfSIli3/9xazTYTQvwEnTsS9ECGUn6/h0iXVcxVCERFildbSsuy2K7EQZIwQSquYENKg5YkRhZC9jBAqHTQ+jxACS5Ct2mYxDY2tn5CyYwmlZWN+A8SgtkR2FbC0hg82w5HlcONk2TdiZiZWa4/cFCqi7g1g248VezsUF0Pk7zDvE+hcGwaEwI3LsGwLrD8KjZrq94/YDrOCoWkfmH4MnCWCKz1aKIN8+0P774WqqfAB3GsHNi2gxjpQmKFiB9nMwY3NWFCfEgqJYjZuBFKbwQCE8yd3ucMbDMMCC+7zlG+5whSC8ZDIn4VkkY2WOYja42ItvH4L+rvBa5L8UqOFt/fAwAbQX7aA/CQTxi6Dbz8qWyp29Chs3wHff1f+hXXixAd07uxInz6Vk04WFpYwfvwh5szphIfHi9fummCCCf96KBQKVqzoydKl5yttVFqtmiVhYd6MHRtHfr5+Yo1KBaNGQ2Kibvy6d6+Io9+/H7Zvh9rW8OMiOCFT2fs4w8qeMGIfpEiLxP42sLo2vH0bHkrcTj/s6IUNY0mnBC1KzJhGCBdI4QjxAPSkN3bY8Rtbn00cQJAdajIxwwFXtlDEDZ4yRZSVuY6AaoshrhfkSFKlem9Dp5/h+Gtw91fRprSEt5bC8NWwaihsnaHva+deFeZ8C/uvAAoYPxhaeoqS4yM7hSm0BHN7e+pu2EDjkyex8vEhce5cojw9SZg5E7chQ7CpUwc+/BwuhsOIPmKR4refxHHWLoLcLDizAt5aDl4GS6JxO8F/oH6b+gZYNdRrMlQIaSh5NskqRUUKITMUeGDOE9l93s8aHhfq0uIAajiCjRLuGnzNgspRCAG0DIHzzyGEvL2t8Pa2JDKy8mVjHTv6cutWGklJL6YsMsGEfwpatvxrhFDDhmLsFRPzfGuF0rIxY2jbHDKy4KaBp7KlEno2gb2yAoCXa0KedOlo5ganesGG9vBLW/B0gyOylzEAR8LJI0UqCTNDQU9qcQjdxSGAQNTkc5ey8qUSMkliPMVkPCt7zSOcZLO5ZDm2IdXsZ9K0S0hhNri0Ad+xENUfiqXrgNIKXt8Od4/A+VW6AysU8MYsGDpL+PREnynz3NRvBAf+hDPRwuNn8zpoUl2YT69cBHdvQVqq8b8b0bBoLnRuDi1qwYFd0PMViLoHWw5ATd+yz/fnTpjdDz78DnoZxP8e/wwy40SpWKmRrPoxXHwV6n8J9pLjclEM5IaB04+gEJUeT9kKgDNDnh3uFtupw8uYI1aYo7mCHXbP4uY1aDlELL3QTS5vUEAChfRER7rsyIYQG6gpi5Y/nyo8hNobVCHsuwovB4lTP+ldQQr5doMeI2HCfHGL/fQbeJgCobLp2enTFZeLXbiQg7+/NW5uRibJFeB/lRAyRf/8zXj4MJu7dzPo0MG30vtcvJiHi4sSPz+rcvtEREArI+ViAJfvQf+2+m1pKkjPr7hkLAMNRYCHgYeQgx4hJC7kckLIDDM0eoSQsFE2xxMtRRTzkBJrD8zTbgDeUDqA9wgGCwdIOgU1XtLt7t0Qhi2Gb9+E+VfB0Yi5l2c1WPmbMN78fBz8shpq1gIr67J/jx7Aqf3iytPlZZjxDbTpCjZGPHHSE2Hjx3D9BIzeAMEyf4bYbXDmPQiaBk0/FccruAOxXcDxFai+HBRmqDnBUz7GhZ+xpAVaNFxBuKIFMgEFCmK4yWlOMpwROOJEHkWEEcEg6tIMYfr2B2rWkMMhPLGRBvBfxENmMSyX+WJ/cx4eZMGewbJPQCvIoI6B8FpH/beYmwsjR8FXC6C8sIPjx7PYsyeTmJhA4x2MYPnyCCwszE0x8yaY8A9DUFBV3n47kAkTDrN//9BK7TN6tCfr16cRFvaIuXNlKZK28MNacJDGgZs2wY6d0LEDdOmiM3v0rw9DJ8HdfeAo8cNvNIH9d+G9fbBviDQO94QTT2FoDJwMFMqhL6nCSzxmCVlMxhk3bJhKCF9wllo4U4cqDOZ11vI9RzhMT3oB8IAj3GcX7fgGC9xwZTtp9CKHBTgyXZBCZnYQPwBqbgKnfuA/SNyHjg+G9CsQMl8Q/aFDoGYALBsEVw7Au6tFVH0p/OvB/LVQ8h1ciYDje2DhdKFcbdMVGjeHokIoUGNXoMbW0hqfyEgKnzxBq1ZjVXrxrddYKI9OHxSpYneuQ1ICeFQDP6BqN+jwjv6HU5gND49BqIHbZsFNsG6k1/RXFEL2BoQQiLKxx7L7vIcF2JpBfAE0kG6lCoUYZ8SkQWOZgWhQbUh8AulZZcvZW7WCyVN4LkJDhY9Q586VS7msUsWGZs28OHkyjmHDjEipTTDhH46WLb0ZN+4gJSUazM0rv35vbq6gWTMHoqJyaNy4/IXlTp1EGIBWW3ZR0NoKOoXAoT+gkYEfad9AWHQE5khp5m/WFj5CctSUnnZwPmzJgpele4UXFrTGlp1kM0YiqTvjy0auE08WvjihRElLWnGWcOqhny1uThWqEoaZtGCaxQ5yOIQNzbBVtsU6cx4KNNyvcoYC7mFVf74wl778FrTYIVQzjtVg6A5Y1w1snCFIFhzTfwLYOAhVTvfh8PaXYG9gBF2nHtSZAuOnwONkOLIPDu2GsBnGJS4gDKI794BRH0G33uDiarwfQMZj+GEynNsNU3+B0H7628O/gfMrYUwEWEvXw5ICuDAQXDuC/8eiTauBrPfBbgxYijG5BhVpLMWTOSLcB3jCVbJ4QBtmSn00nCWcNrR7Vo59lRTyKaKVLG1sO1n0xAE72eLClmwYYnCJ3hkPr9QEpewrrNGI0sNfJZ5LqYTVn8PIV+F8NCQkCWNzOxv4ZirU8RX9VCo4fx5++onnIioq5y+Vi6Wnq7h/P/N/0u7CpBD6m3HixH2Cg6u9UNx8qX/Q8+oXz0cY9w9SF8LN+LIlYzGpIhLWQcYxqUogpUifEEqhBEcU2Mq+GjllCKFizDDDXDagNFQI2TKEp3xMNotI5zXseIMs2+2k+KRgpW2FolRiqDADv/5wf0fZN9N5pPBMWPve89U/XfrC4RswZCQEBINvHWHKqbSA/DxIeQRunvDdbjj/GBb8CF1fLksGFRfB/kUwuaGI9l18S0cGaUrg/FT4fSR02QzNZog7aH403GsPVYZB9RWgMKOASDIYjjNLsaYzWrTcYC2Z3CCYzzHHkiQesYPfGMAgqlEdLVqWcIFq2DNEugEmUcwo0phDFepL5/94Jix9BFsbgK10+qNT4LPTopRY/vluOQm/R8O3E8re7KdPBx8fGGUkcQxArdYwZkwc8+bVoHr1yjHsyck5zJlzhuXLe6BUmi4tJpjwT8OXX3bm3LmHHDhQjnGEAczNFaxZ48fixY+5eVM/AtfdXZQd5OXBnr3QqycMG6Yjg+LiwMMZanjC5O91+ykUsLoXXHkMa2TqoRW1Ia0Y5kilCHaY8T1ufEsOJ6Wo4kDceZ36hBFBDoXYYMMw3uQql4kiEgAfXsKOapxnFsWoUeKNK9vJYx25fCcOXuV1qPkrJAyDTMmcoMZL0D8SHuyHQz1BLdWweTcUvkItX4P5XWHNCMg2MMkxN4fmoTD1Kzh+WyiHgttBcqIoBVMowKkKiqpikGnp4aEjg0rRMEh4CIWtgW9+hZ0R8HJ7yE2A94zIOBMOgHM9cDKYralvGCGEynoIVUQICYWQvo9fVcx5LOujUIiU0jJlY25izCGHsz34eYkFK0O0bClihJ8+LbutFKGh9oSHv5jap2tXU9mYCf+5qFvXFY1G+5fi50NCKvYRCgmB7GyIiTG+vTwfoZ5N4NpDSJRelosVOJUzTBziBHtzQCUTmQ7Cmd/IehYG4IAl7aihpxIKpiUPSSSZJMNDYoEXZlhTQja5nMKe7jjxKjYEoHBcQXHRKcw1oCEHzJTQfCtkR8MdmRmzTygM2wN7x0L4UoM3/h58exUe3YUR9eD4xvLnIFW94O2RsOUgJOTBI7Xxv/gcWL8TBr9VPhlUUgJ7V8L79aGoANbE6JNBWi0cmQ6nw2D4CXCvr2u//gFoCqRSMeleofoONElgr3vfGfyABd440EPsipZrbKQeA7CUysfucZd88glAtxh8kFi644+FNDcsQMNusngVHVmWVAThKnhV5h+k1Qr/IMNysQvxkF8IbQ1uX00bwpghMP8T2LIYfvxSRwYBnD0Lnp7wvKBoEP5BISEvbigdHZ2Cj48TLi42FXf+L4Np1vY340XLxUAkjIWGls9sqlQQHS1W1QxxI16sxNb01G+PSRNmj3LEq8XqnrtM2mfoHwSQS1EZQkhpIC4zJITsGY4949CQjj0f4MQXOCoW4JiixVE96Bm7DwgfofjdgnTRO6gC3l8ronaPry73fIgndIDXR8L7k4Qh58Qv4dNF8MVKmP+DGKi3aFu2PvfZCfodPm0KZ9bB5P0wZj04SSdRnSEmCA/2iQmDTx/RroqE2I7gNh685oNCQRExpDMURz7HFmH0eZfNPOI0rVmANS5kk8UvbKQDnWiIGLjv4C6xZDGJFpihoAAt75FGd2wYJsU5phSKRJ5vakFjabVdXQxv7IJJraG1zEYiOR0+WAGrJ4C7weLGn3/CT+vECr9ZOVeAsLAknJ2VjB3rabyDEUybdoIePWrTqdOLfd9NMMGEfw9cXW358stOTJhwhAJDk5dyEBRkx9ixHowaFY9GU3ZQ/McfYiL//vvgJgk5Hz4U6YXBwbBlIWw+CUeidPtUsYH1r8DEo3BH4l3szAXRvfghnJTSzxthyUJcGEM6DyQiYhB18cOJRUShQYsLrgzhDQ5zkHvcQ4E5LfgUM8y5wFw0FGFBXVzZQjYLULFNHNzpZfDdDQ9HQ7rEWDnXhf4RoLSHncGQLkWlWVhBv0/hq+uQ/QQm1YNTP+icVQ1Rq77wufvqJ6F7n7EEJoWJ+1NFUCiEy3L8Zdg2Az74FeyMRBXf36FvJg1i9G2UEDKmEHp+yZgjluQaUQjJPYSgHB8hN+PG0kG14IoRQsjdHfz8RFBGeQgNdeDcuVyj38Hy0KWLP8eP33/h6G4TTPgnQETIe3Dt2pMX3jc42JGoqOebH1tZQZs25ZeN9WgLf1yEXIPKMxd7MZGXp42VhwAr8LaAA7Jqz5ewJ51iotClDvSiFqd5gEoioW2xpSnNCMcIIwXkkswtFpDNHQqpL3kKQbE5ZDsPwkp9FxuNNBa1dIGQvcJgOlnmWVq7qyBWTs+Do5/qkz7V68C8wzB2Jfw8HaZ0LGs4bQilUpxUY3/lzT1KEXMexgfDnuXw6TaYsQ3cZUEuJcWwawREb4ZR4eDdQrftwWpI2QfBu4WLN0BJIuRMA6fvhSIWKCaNDNbgwfRnyp8kzqMilTqShykIK4uWtHo2z0tFxUWSeQldUvZRcnHGnJboiJPfsqGdLVSVTQ+vZEB6AXSVJSGD+O70CgCLF6xTOn26Yv8g+OsKoWvXntCkSeXnPf9NMBFCfyO0Wq1ECFU+bl6r1VaYMHbpkhhA1ahRdtvlu2LQZfhjeTMA1huoDkvLxeR9H1OCpwEhVLZkrDxCSH+gaENvnJmPtWRSZqUIwaaoAagNliOqSvVtj41c+O1dYOwm+HUyJFYuNvmFkJUCq9+Ghb2h/Tsw/4owEy1FejTsbAFKO+h/XkwYAHLPQGxX8PwCPD8FoJBrpNEPe8Zgz3AA4thHLDtoxTzsqEYhhfzCJupQl7a0A+AKT/iFGD6lJY5S/e5nZFICLMBFGOZp4a3b0NEZRsjqcGecFH4NM9vp2rRaGLUEXmoBA9vrv938fHhvBMz+AuoYMPOliInJZ9GiZNas8cPcUAdcDs6eTWTHjpssWtS9Uv1NMMGE/z8YObI5dnYWfPONkUzhcvDFF94kJBSwbl1qmW1OTpAgpfg+eSJW8BYuhIOHhGKotjcsHg3vLYSnsklBF38Y2QyG7YIiaS2giR0s8Yc3bsMTiYsYhB0DsGU4qeSjwQwFn9CcRHL5FXEv8cWXvrzCNjaTyhPMsSKE2RTwlEssREsJljTDhfU8ZTJ5bBEHd+gK/ochaSo8WSzaLB2g+3aoPxz2tIV7W3Qv2sNPRNOPWge7voQv2gji5l8NdR6seB1engZ1Q8tuL1JB4iGxmCJH8WMpYUy/zEJDhoFCSFOJlDELcimiRHZfF4SQPpFYnrG00aSxOsYVQiBUQs8zlg4IsKGoSEtMTH75nQzQpk0NUlPzuGtoaGSCCf8haNLEg9u3jfyYKkBwsAPR0Xmo1c83Yu/YsXxj6do+UKMqnI4qu61vYOUIIYUChjjCVplnvjVm9MeJLegkgXVwwRsHTqNzq25NG25wnSyZCbWWEpKI4BTTKCIPKOIiq0nhPGqukcl68izysC/2gZxpFHCHYp6AQyMI2gBX3oFsWaShdzCM/BOu/gK7R+p7xSkU0P5VodSpGywIm7WTIedfeD3JeAzLRgrfojYDYPU1aG4wji7Kh82DIDECRoaDm8xLLu0M3JwsyuFsJAJJq4WssWA9AKy66bqyDFtaYUsIILzkrrGJBgxGiSgVSSaJhyQSjK4E5Qj3aY4X7rKF/G08ZTDOegmfW8spF+vtLdLo5Nh7RXyHXhSnTlXsH/ToUQEpKYU0a/bihFB0dAoBAR4Vd/wvhIkQ+htx+3Y6GRn5hIYaYW7KQWxsAVlZJTRvXr4h7/nzYvBkjCG9fM+4obSNBVQz+G1UJnIeysbOF1GsVy4GYIY5GtlAMYdvKcTAqR/QWtVHzV40sthJzMzBtx/EbinTH4CGHaHnx7BiCDx9bLzPi6C4UCTHLB8M432gIA8W3oQ+k0SZGYgL6t1fYE8bqPcudN8BlpL88Ol2iOstEmvcxwNQQKREBo3DEZEE8JCT3ORHWjIXJ/zRoGEHv2GFFX14GQUKEsgmjAjGEURdaQV3C7nsRcWPuGEtXWy/SoR7+bCmju5zP3FflFxs6g8Wso/j58MQdRtWfFj2rX/+uZjATZhg/NRoNFpGj45j9GgPmjatnCl0SYmGDz88xLRpbalZs3L+DiaYYML/H5ibm7FiRU/mzfuDhw8rF59rb2/OypW+TJ6cwJMn+mVErVtD507QpSsMGAhLlwn//m1bRQrZ0qVw8QBYPYR3Z+sfN6wL5BfD3N91bSO9oJ2jIMBLxSCzqYINCqaQiRYt9ljyGa3YzT1OkQhAEE0JoRWb2EgeeVhgRyvmkU0s0axEixZrOuDKRrKYRi4/iIPbtYFaJ+HJfEiaBtpiUcrcbCZ02QJ/jIZzk/SDD5q/LO4ZjTrD561hTnuhGMrNfKHPwiiKCuCHkeDkAf1mGO+TcABsq4FLY/129fUyCWNaCtCSp6cQ0lTSQwiEQrgUVQ08hKB8hdDtdN3nV4qgWs8hhCowlrawMKNlS3vCwytvLG1jY0FoaA1OnLhf6X1MMOGfhO+/78OMGe0r7mgAPz9rHB3NuXr1+cbSnToJ1UV5Ysce7YSPkCFebgonb0FOJfjZwU5CIZQtu3QMxomD5JAlu570ojYHiH1WSuaKK3WpyznOPuuTzAVuspWGvE4Qy7DHGz8eksZM0llDIQ9wV3yKve1GitW/kF+0mSQkTx2vfuA/EaJegQJZOph7PUG0JJyFza+C2uC+aOsA7y+CZZFw9wIM8YTJHWHbV0LZU6x/T3wuCtVw7Xf4ZQ5MaA3DvAUp9N01GDoTLA28Y/NS4ece4v/7v4OTzNsmLxYuDoJGS4WBdinUW6AoEhwXP2vK5yJZ/IY705+1PeAEGorwR0cahfMnTWmGrUT+FFHCEe7TSxY1n0gh51ExUJYuFl8IUfkwQDbP1GphxwMY4Kv/lh6kwc1k6NGk8qcNhPdpZKT4zj4PkZHZNGpkh51d5ZKR5TAphEz4WxAZ+Yjmzb2wNqRGn4PoaBWNGtlgZVX+RxMTA00aG98Wlwx1KumFlVkMLgYvrRAtVugzTWYoKEE3srPBGjVqvWQXGzzIlQbmAPnswQxdrFUBkWjIReHYixyrE2g0BskJjcfBnY3Cv8EYBnwONQNhSiNYNw7ObxPqnspCUyJMoteMgNGesP5D8PAXhtUTtoOrjLRLj4YD3eDsBDEhaD5LTBA0anj4ASSOgJq/gOtw6b0eJJ1XcWImDgiC6BGnucoygpmFCw3RouUA+0jlCUMYihIlaaiYRTh98KcrosA2AjXTyOQ73KghqbCOZcKXCbCtAThKn1diFgzdBd90h7qyUsAbcTB+Jfw8taxx5/Hj8O1qWP+zULYaw8qVKSQkFDJ7trfxDkawdOl5cnIKmDTJyEq2CSaY8I9Du3Y+DBjQgDFjDlS6nKZv3yp064L+OuAAACAASURBVObEqFFxZfZZvRrmzoHly4T6cNUq2LIFJnwMaWng6gID2sO+tbDukG4/ayX82h+WnIfDElGgUMDaunBfDV9Ii8WWKPgBN35HzbcIXwxfnJhOS5ZzicuIkorOdMEbbzayHjVqrHCmNfNJ5SLXWIUWLVa0x43tZPMVWcwVkw/bZlD7T8jeKwICiqT7k09vUSb86ARsawTxe3RlBVa2MHgerHgIIYPgxBoYWxUWvQxnNwuVT2WhzoXoo7BtJkwLhKQYGPeLWCwxRM4DCP8AAieVXRVK/wEceug1FRKFGe56CqFcErBBfxVUhQprdJMRjXTPN5ONB6xQUGDwclyUkGkwH/J2FOXMWQZEUV1vMUYx9pULCIBbt8q2y9G0qS3Xrqme38kAbdvWJDKyrA+JCSb8J8DK6q9l/ygUCtq3d+bYseerWYKDxe8xPNz49n6dYftRKDL4jdfxhIbVYKsR9RDo/8YbWEFTa/hOxpc3wJogbFiD7vW1pQYqijhNwrO2DnQiigjSSSObBC6wklr0oJbkgVONVZQQQAmtcWYI1VmJNQ1A6YfSYQnOGSux0NiRguSjU3cWuLSF8PaQ/1D3gpy84f0/oDAXVjWFhHNl35RfE/j6FKyLhfavwa3z8FlvGFQFPu0Om2bDrqXG/9bPEpH2A50h7DV4cAN6vg+bHsLsveBlpJLkzmFYHgD2nvDuMbCVRQXnxMDZ9lDjXfB5X9deGAVZI8FpLZiJa34RyTxiDO5MxkoidlSkcpV1BDIcM2nBP4EEYripFzW/j3s4Y00gOpJkOen0whEPWaXI0gx4xQHcZF/XP1MgWQW9DKYT689Ct4ZQ5QWDiA8cEN5BfhW4Uhw7lkn79i++OK1SFXH5cjLBwdUq7vxfCFPK2N+I6OgUAgNfjGm8e1dNnTrPN6BOSBSrssaQmgUelUsIR0vZ8aQtCvLRH625YEUGatljVzRoeEomLtIg053mxLIDDSWYYS6518tj52dRhZWYOQ1CkT8BMjf/P/b+O7yqMv8ev18nPSGBBEhCkyZdQIpYUBHsBcWCFXBUcBS7jr0NzoxdxzbYxq5gL1jQsYGOYgOlC0iRDgklQEISUs7zxw7JOSmU+f68nvk4Wde1rxnvvXc4e+fkLute77VoMqbqH2myNwOf4bOzGPI1TapRx3HxXDKOWZ/w43u8c3ugGGrWKSjx6noI7fqydRN5qyuONVX/f/EPwQi1/2lcO5GO+9d8+MIcfriFBS+w10Uc8QaJFd4Nxb+w9HTE0eknEoMeKd8zNrtNhsckV6TcrDTZdA/o5xZZ+goLm+gDCyww0igpUmyxzS2m6CPbCEFE8K9KnWudMdIdUiHf/LWIM35mbAf6VjDvRaWc8jrHd2JkRBRjfiGn/oXLT+aoaiFfubmMOJsH/k7XrmrFvHmFbrxxuYkTO0tL2zVmfeHCDW69dbKPPhq2W8RnPepRj///4oEHjtKt21jjxs3a5RSmsWPb6t59lhdfXOfsszOjzvWP4IMfeogfpnLR6MC4tHnzoP2zyVw0hn0606Ni/tsjmycGc+Zb/DCKDo1pFMfb3dh/On1TGdKUZuK8INOJ1monzrFS9JXtEr3d7lt3OVgHGU5yivFe8qLnjfAHybL0d68prjFbSHcXSbCPTBOtd7oyq2R4SCipCx1/YOWlzO9F6xdoeExQJnzyD8x7ii9G0bhnkOzVpOKdNWzK0ZcFx5qFfPNKUE72z1F0OpCMFqQ3jziaBf50axYy7wt+/iLwyctoQZdDGHID/c+qUqtGYtsWPjo+KBXrWi2GuHA6m9+jS7RheKH3JDsuShGUa5pMfaOuy5FjgKpy6Q2KxIuRGqEOLhSWUm3DKITq/E5KxS0FJYFf1HZkpgfBFwVFpFbz7GzdmuXLA6VCXd52HTsmeeed3VNh9eyZ7YMPftmte+pRj98Dhgxp6pFHVrj55rZ1XhMfz2mnMX48Bx9c8/yg/UhKCFRCJxwafe7CgTw2iZEHR0+nx85l3iYeiVin3NKUP6zi4sY0qPj7vl6mMy0zXLrm4iWKNdLenvSTfppLlaCFlvro6z3v2leqPQzQzpHCwkJCVplhidX6u0EDVT4IYWHhlLPFlC7SPPd5SzN7KYlZKT7Ukl7PMXM0Xx/EPq+TXjFhTmnMOf/iq/t45nDaDmDgTbStFtuc1ZrjLwqO8vKA3Jn1RaAW2laHZCo5lUHDuOxJWnWq2wQnHOaXfwW+RmtncfR97DMy+vrcT/nxTNqMpnOE7HbbV2wYTNrfSDoBlCuwwkgNHCajwsoirMx37tfKgVoKzGjLlHnPBAMMlFGxmZ9rq1fNdauDKjcG5inyrs0+VcXKrCnlyY1MqUbU3D+bC7vQIGIoKy3jyS94bETNR3/5A/K2BKbStWH8eIYNq/3cdpSXh02YsM5zz3XZ8YW1YMqU5Zo1S9W+/S4uon9nqF/B/YaYOXOtk0+uY/VdBxYuLNKhw04IoWV1R4XnbAySXXYF5eGaErFkMbbWIISSbYwghGLFairTWmsrCaF0HRCSZ77GFQRHeUR9cJnlyq0l1FE4YQ9WPkr6NVHSdnueRt68YMJ78vck11LH2eOI4ID8Dcz/KphQf/gAS2cEnkORE+/05uzRg2OuoMsAYmv5ypcVM+thfvobLQZx6szo5JaNL7PiApqcT7M7iUkQVm6zv9nqJU28IVEwoFSRQTfLsk+lMmiB+c4zUroMxcrc5hvNNXCJXkJCNit3tlwnSXGOgPnJK2XwbM7M4pwK36BwmIsmEhNi7DFVY0Q4zIUPkJ3BmHOiHy8c5pxzg8F+1Kiajw8lJeXOPnuRCy7IMmDArjnzl5eHnXfeBOee28vBB7fZ+Q31qEc9/mvQuHGyRx89zvnnv+fww9tr1qxu37rtaNo03lNPtTN8+CIDBjTUtm1ijWuWLuXV1/jTVRx9dOCnCZ9/TkwZI0/h1Nv44THSKiwJhvVg2ipOfJVvR5KawF4NeLYTI+bzZRK9Utlbgn9o4hLrTRCnhwSHaW2TYrea4j6HaCHVmYZ52TgveM7ZzpEiW3/3+No1oLvR4nWU6UPrnWm9MzX2nJjYNFo/w4YXWXoaTS6i+d+Iiafbhex5Bj/eztv70XEE/f5KSsSmT7MOnHRzUOq1fBa/fFu1ObHy5+jNiqZt6DqAwy8KNjQyd9KHlpcFGybJ2fR/qOaCYs2tNLmAhKrt2LBtCr0nQ1UoQ7kSuWbo7OzKtkKFNtskK2IXeIMiTSRFeURsVS65uoI4VJMQigkFpFB+tQTm9FRiY4J5SnVCqFWrQIWwdm0VgVgdHTokWbiwqPaTdaBHjyxz5uQoLS2vT7+sx/8UBg9uYuTIeVasKNKqVd3rirPOYsiQgMhPqJYWFhvL2UN4fkJNQmjY/lzzGt8vZr+I1KcDs7nmB8b0pknFP3t0Km3iA+LgygqxYi/JDpPqAevcI/ijP1ArH1tinDkuEOx4HuYIs8xQZoH4ilKmkJClJlvsIz2MkChHrvfEaybR3pJ0C0jwtDttil9N6WdCfiahZaD47/k4i+7h60PoeBMdrycUG7DRA66lzzlMeYgXjqP53gEx1OHImv1uTEygHGrXgxMu2a3fTxTKy5n7Nl/cwablHHglZ79fFSsPZUXMu4mlT7LX36OVQcX/YuPQoEwsJdgsCPyWLhcrQzN/qezL53lTkU0ONqby9m99o1xZlDroadMdoKW9VG3+3CXXMOn2iPCVvX89hzegV8RX7JdNfLiCsdXEC+/PCMaHY2vZg3r4JUacUPvr2bCBDz/k/vtrP78d06ZtkZ9f5pBDdnEhHIHJk381cGDbHSZ8/55RTwj9hpg1K8eYMQN3655ffily4IF1G2GFwwEh1KaOuWPuppqpUnX+LFT/2ifXqhBKilIIQbZsOdbqWkH+hMTK1FuuHzXWTYozbHKTRIfY5gcphtrsLuU2SYw9VEzMp6x7hOzroz9An1vImx8YOe93dzABr+uPM7Vx4OXQt6IHCYd3bj0fibLiIKll6i1BqsyRb9MyYsQr38rKy9n0Fm3G03BwxXvbZqPLbfO9pj4Qr6OwsEXeMN+4CjKoXwQZtMC5RsmQoUy5u30vhOvsK1aMUmF/tE5LsW6r8HnYVs4pc2mTxIMRA+2jU/lwIVNHEakkfuoDPp3GT08SV03c8/DDzJnD9J/qfj1jxqxUVFTu9tt33e9q7NjvrVix2cSJO6Hs61GPevxX4uSTu3rttTlGj/7AW2+dtksTocGDM5xxRhMjRiwyeXLXGsbz334bbFicUuF3XFwcRIpPnMiQE7jxGo68NjC+H3dTVZ90zxHMeIlzJ/Da0KB9aCaLijh2Nt/2onUSx0mxUIkRcn0kWzNxTtZRmfLKMqd48c40zCvGR5BCzfR3r2/dYKrb9XGtWNmammCDkXIN1tQrYjWn8QhS9g1IoYIvafMKCW0CxegB99LtAr69llc60vuGQK2TFFG7GwrRumdw1IbdHatyvmfKlRRv4MQpxFZTDxV8S/7ndHkqqnmrN8RoKFHV1v9G88RK1DBihzdHjjRplb4RBIRQhuhF5K4qhAh2hQuqEUIxMcH8JHcT7aup8hMTAyJo6dK6CaGOHZP8+muxkpJy8fG7Ru506NBYKBSycOEGXbo03aV76lGP3wOaNIl30EGNvPvuehddVLeXRP/+pKby8ccMHlzz/Nkn0H0I6/NoErG+SE3i7P48NjmaEOrVhAOyeHweN/UK2kIhbsnkgtVcmEFyxZ/vNTIdaYmRGussUUjIBXq73CcO01YHGZIk6Wc/GzX1nfvFSlBsk5W+0cPZmusnZKtVLhGvtTiTldkorFQ4VCguuYVGxUeL23gyGRNIrIip6nAdTQ/nx2HkfkTvF0lpW/FwWRx5Owdfw3eP8tpw0tsw8Ea6Dqm9nPc/QVlJkBz2xZ1BudpB17DPKBJSoq/bPJsfzyImkQHTSI0wli58k01n0+gpks+sbM5xh20Wa+PtiqoNNljgZ68b5M5KI+kN1pvkM8OcXRkYNM1qM+R4TFUJ8tcKTFPoAVWdd24pj21gUtvoj/vgHE5rR8tqZWGPTgqUZbHVuu/5S/hxLh/UESj9xhv06UOHWjxyIzFhwjrHHddEQsLuk/+TJv1q1KjeO7/wd4r67ZLfCDk5Bdasyde9++65le+sZCw3l6Ki2hPGCgopLCZzF0sn6yoZq6kQSrK+GiGUJVuOnGpt+8gxDTQwXJorlMvTwCiN/EUjf9HQjRqFxojJujsw8SycEf0BQiEOfZF+d/DtNbzTn7W7mIazqxPsjXOZchUvtWTqn9n7Ok75MZoMyv+KX/YNEtE6Ta8kg0r9KtdxSi2QaaJ4HZUrM9MjFnnLge6VpZ9y5d73rl8scJ6RMmQIC3vET1YrcKsDJIpVLuwqG6xW5glNxQkJhxm1IFAIvdqVuIrH+nIp137KG0NpGSHimb6QKx/l5ZtpHrEmgZ9+4sabGD+O9DqIwi+/3OzBB9cYP76DpKRd6xIWLdrghhs+8/TTJ0hNTdj5DfWoRz3+K/HII8f4+utlXn11zi7fc//9reXmlrjrrpreLD168MUXrF7NV18F8fNjbiN3HZdeGiz4/3YGn07hyQjLuLgYXh3KD6u4K8LP4tpWnNCE42azqcLz+DINHSLJmXLlVXjZnaqzVqo2U7aTQsmSPe9ZhQo10MxBHlRkgymuUyxPjDRNjJOglxyHKjI5+AFJnen4Lcm9WNCb9c8QrvDNa9SBo97iqAks+zAYSz49kxWfVV2zI+zqWJW/nM+G894gWh7OyVNJrCZnL9sUKFibXkl81XwjrEy+h6W6LCpiPsc0WfpWa1sbpQ5iu0IoWsZTKFxDIRRSuydQakJQMlYdmenk5tVsJyAStyfW1YZWrRLExoYsWVLdyahuxMbG6N49y8yZu+E5WI96/E4wZEhT77yz45SymJhAJTRuXO3nO7Zln+68MrHmudGDePV71lfzer+qO4/8HFgcbMfxqWTH8nTE338bCc6S7u6I9URLaU7SyWOmRfmXZtjTvq5UqlCcJAe5VWuHiJciTlNZ/iysgRKnWmUvuTpLdoZsf5aWeD8NH2bj8RS9V/UB0vsGBEtad77YmxUvRXdoyekBCXTNr/QewfuXcXtTnj+WSbezeDLbdsPXrHgLCz/h0z8HZWl/y2DSXznoaq5aRP/LosmgcDmLH+Kr/cg+noOmRJNBW59j0x9IfzWKDNponM3e0sqzYivMn0ts9a37dHOGDAGzUqbM617TR1/tKjYJipV5wk9G6CG9gjQqF3anHBdpIiOi/PiB9UHUfL+IoWJ9Ec8t5Mq9oh/9l7V8MT8oMayOFyZw/CAa17FOGT8++I7uDO+8s86QIbtP/Ofnb/P99ysNGrQTg6LfMeoVQr8RZs1aq23bdA0b1pTU14WCgjKrVpXssGRs2TKaNiUlpea5nLyAdc2oRWC0eCMLN7BsU9BBD+tRt0Joa7X4+MaSokrGIEuWmaLJnEy9zfCgEvnipUpypCRV8YkJ+lRdnHYoWdez+Gg6TKn05EEg5+w0nHYnMeM+3j+ctkPY907S6qiV2xlKClj0WuADse7HwIPhiDdpPiB6cl6yMogg3vwOWTeRdQ2h4M9kq3fkuUqK0zUyRkiiUoWmukOhtQ72kBRZlWTQIguda5R0QQ/3grl+kuN+A6VJEBZ2s42+U+xd2RpWTNDHLOWLTcGOeGpFv7t8E6e+wf1HcGDEK9hcEJRfXHcmg6oR2/n5nHEmN1wf7e8Riby8UiNGLHLXXXvo3r2WL1UtKC8PGzXqPX/4w97/051nPerxe0BmZgNjxx5r9OgPHHpoO1lZO3d6bNAg1vjxHRx00FxHHNHIvvtWlZt168Y1VzN8BGVlwebFAftzzTW8/z6P/IOkJFqt4/Lb6deZPhXz26YpvH0aBz9Hr2yOqUhV/EcHhswJVJMTu5MQE3K/xkZa5yw5XpelQS37W3HiIpRCzzrbuZI10t/dfnKvf7vC/v4mVSvpHrTVeBv8QQPna+h6oZhkWj1G2lGBWnTDE7R8JFAPQctBwbFxHvOe5rMziU+ly0g6n0ODXUx4qI6SAqbfw8z7aHsSp88jtZZdoPIilpxIfCua3Rp1qshEYVulGBrVnmuadoZEtdVFCDWuphDaKiyl2nsO1VIyBg0SapaMEWxY/aeEUGxsyJ57Jlq4sFinTsl1X1gNPXoEhNBpp+2184vrUY//YmzaVGT27BwffrjQmjX5zj23l379WkpIqF2xMmRIU9ddt1heXon09Fp8ySpwxhkceCBbt9a+vvjDEJ56k4urLcr3asm+7XjuK/4U4Wd/TCuaJPLiIs7vHLRtVwldvobz09menXOpJg6x2BQF+gvGn6G6mmyZTyx2dETCVWMdNa7wCioS7SdWrL3NVok1XlMni5PsR68Z5HgJGpFyDqE08s6IVtPENaDnY2Qdy4yRrH2fHo+REEG+JzSg/+XsdzFrZrD0a5Z+FaiHCnJo0Yc99iexDsuFwg1BitmamaS3pvWB7DWUYx8ga6/ajdOKVjP9HPLns99HNKnGpBQ8zJZbyHifxIFVzf4tx9/s4XkJFYE1YWE/eUIDWTo7qfLaST5TqsQRjqpse9M8qRIcpcro+j1brFfm3Ii0yg1lPLKRj6sty/7xMwdk0qcaL/P4JE7uQ3Y10UJ5OS++y6PRQ1glVq0KTM9fqSOIejsWLtxqwYJCxxzTeMcX1oKvv16mVauG2rbd/VKz3wvqFUK/EWbNytGz5+4ZSi9aVCwtLUZWVt083Y78g3LzaNooul95fS77PsWx47llEi/O5IuljJ7I6vU1CaEUMbtUMpYl2zq5UTG1ybI00Mq6akRRnci6nvRTWXwUpbk1z8c3YJ8/B5PhUGwQs/XDLaz9jvwVlJfWvIfAayFvfkAAfX8zHx7Pi82Z9SAdzmTEKg57iRaHVJFB5cXk3M28Liin8zyybyAUJ6zQRn+S52oZHpHuTiGJiqz3tauV2+YgD1SSQe+ZYJFFzqsgg8LCXjDHR371VwdqWrHrerdNJir0uizZFYz7M2t4eBUfdqd5BZe43UT6hE5cEOEDGg4z6j7aN+emWqq2LruMFi244Yaa54L7w0aP/lW3bskuuWTXv6uPPz7Vr7/mufvuI3Z+cT3qUY//epx66l4GDWrn4otr2QKuA336NDBmTEtnnbVQfn50FPlVV/HiC0x4hwcfCMggeO11jh8ctN1zB41WMnQMmyJ2l3s358nBQYriwooAmrhQoJbcWMr5C4K+L07IE5pKEXK2XEW10hIBKXSGs6yV4WavedSPYiXo6wYtHOzfrrDebCEhDQyT6V+KfGSdE5SqSKFpdCJdfibtGBYNYvlISiIUshldglKy4SvY/17WfMX4drx7CF9fwbxnyJ1GaR3+N+Ewhbmsm87P/+SVTqz4mMGfB2NVbWRQuIxlIwgX0uY1QlWLvbCwLR6U6mKhCK+HbTbLs1Cm6N2DtdbKrpY6VlfJWK0KoVoeKTV+BwqhTbW/htZ77JgQIvAR+uWX3fMR6tkz26xZOTu/sB71+C/GSy/NNHTo6y6+eKK5c3N17tzErbdONnbs93Xe0759si5dUnz44Y7Txnr2DHy8JtYxBJx2NLMWMHdhzXMXHRqUjUVG18eEuLYH986iLKL9pDTSY3kmghRuLM5oTdwlt7LsN1GsC/T2glnyqq0/wsLyrfGjJ8w2zTRTfWy8BSZIdK5GGmpvgHYO11iaXONs8bGtptqS3EBh4/sUFF5MwRPRD9LseAbOonQLn3dk3q3R8fQEPqQt+wZKnjNf47oVXLmAAy4Nzuevrf2IS+SQG7hmGVcv4bSX2O9CmvWoSQZtXcqcPzGpMwmZHDIjmgwKh9nyV7bcRuNPosigYgusdJFm/ibFvpXtP3tNjln2dWWlOnSJxb4xxVCni68oKVtli7fMN1ofsRV9fbFy98r1J5mSImiDB9ezXzIHRBCIBSU8MpfrqlVLby3m2a+D70p1TPqO4hKOOrDmOYJysYMPplmz2s9vx4QJ6x16aLqGDXdf6zJpUuAf9L+MeoXQb4SZM9fq2XP3ysUWLgzKxXbk47BDQqiaf9DcXN6ex4ienLEXmREbvxdPZNaKmolTtZeMJctTpEy4soNIly5WrA3WR+0sZukjx1TN1fGXHYlQiBYPUnImi49jz8+JrcXYNLUVh75AziUBIfTzP4NEsFAoMNhs0DI4Ehqx8Wc2zg5klhndg/SyVkewzxia9qldqr95IiuvICaZdh+QOqDyVIkFNhglRqosk8QJJuabLfGtm2XqbW+XixGvVKl3vWOZpc4zSiONhIU9bbbJlrvbwVoLdg/G2uwF+SbI1rriz/DjDVy6kA+6063idxUOM/oDYkP845joj//oBKbMCXyDqo8nL7/Mu+8xY3pgClgbxo1b77PPNpk5s8cum6gtWbLRddd9asKEM+pLxepRj98Rxo49VrduY73++hynnrprSoqrr27uo482ufzypZ5+Ojo2t0WFzUBJSdCPLVoUlDwPHRpM7Nq1Y5+9WVvGyPt4/c9V/dtZPZi2OjCZ/uY80hIDteT7ewXJY7ctZUxbkoQ8L9NpcpxvnWc0FV+NsCgX9ooFFsuwp42mm+syG/zVwboZKUUz37pJL1dqaaB4XWT62CY3yzFQhoeDBMmYFJqNofE5rPoT8zrR7DaaXlRFxsQm0P6U4NiyjJWfsH5GkFy5fgYlW0jvTOMewUvZupKClRSsonwbCek0bMcB97Pn6TtOoll5OUWz6PBVdDgDin2hzHIphke15/pRQ20kRUTQh4XrUAgV6lMjmr5cS9EDSp0eQnUohLLSA1Pp2tC6NZ9Pqv3cdnTsuPvG0j17Znvooe9265561OO/CXfc8W/PPjvdNdf0d9ZZPSrnXwce2Nqll37oyivriB7GiSc2NWHCOmeeWffGXygUpI299lrQR1dHekOGHBqYS9/9p+hzJ/Xh8vF8Mpejule1n9mem39kwjJObhu0xYT4cyZXrOGc9CovofNkeMFGH9ji+Ip58j6a6y7L82a5XFV0bkDeZ4txgIk+0t8AG/wsR6GuBmpksBgNrfezFF8I665IsZAk2ywSSkiyKaORNhtuklwyhYYPEVOxeErMZt/3WfcZi//Op21oOYz2V9Iw4uEiX1zjdsHRa3jN87uDjd+z+H7WvEP2Cez3LxpX+72WrQli5Uum0eQL4qs+U6GfrHCexs7XyCmV7UtNMt/bBrlTckXfv9VWb3rdUY6WXdH3h4U94SeHa6ujKpXNi/KkinGSKvVTbikPbODDauvRZ3+hdSqHV/OIe/V7WqRzUEc18Nw7DBscJN7VhtdeY/guvNrgO7576+7tmDz5Vxdd1G/nF/6OUa8Q+o0wc+ZaPXrsfuT8LiWM1eH7Wz1h7ONFwWTt0n2jySDo2Jj1m3Y9dr4cmyJY+hgxsmRZK5o9z9RXrmnCdezW1kAoJoj3jW3I0qHBpLguZO3Lcf/i7DWMKubMJUHZV6/rgnSwtHb0vDLwWTgvn1OmMvBpelxGZt/ohw2XB0TQoiNZNpzMy+k0rZIMCgsrME6uIyQ5UlMTKsmgNb7xlau0caxe/iRGvEKFXvS8tdY4z/kaaaRc2GNm+LcV7jGgkgx6wRYP2uQVWTpWsPIz8jn1Z57syMCI3+Ej3/PRIt48LdpE+ssZXPskr9xS00R84UIuHM0zT9OyjoqFJUuKXHzxr555pr1mzXaN2AmHg1Kx4cN7OPTQ+lKxetTj94SsrKB07OKLJ8rNLdile2JiQp5/vr23397gjTfW1zi/dSsvvFDh39mBuLggKWTLlmDXLyaGcXfy/Tzufjn63rsPp1kqf5gQJGISqCYnduehVTy7JmhrIMY4WVYqdZn1lTvM2/GFFb6y0m36u8GpjpIo30qLBP5HbR1nHzeb4SHzvSSsTIwUGf4u3b02Vs69ZQAAIABJREFUulieG4S3j38JbWn7Jm1fZ/3jzO/J+icpq/bO0loHpWMHPswJkzlnA2cuZt+7guj6zL50G83AZzltdjBmnbsx8LPrsIMwBci5nU1v0/5fxNX0S8j3kAbOFyN64M/1Y424+QIFttoqsxaFUPWSsd0xlU5NqGkqzU4UQjspGeM/Uwj16JHl11/zbNq0e/fVox7/DVi2bJOvvlrmgw/O8sc/9q2xGdehQ2NbttTtqzVkSFMTJ25QXLxjf7PTTgvKevPzaz//hyG89F5QChyJhDjOHxBE0Ee1x3LVXtw9M9qW55Q0msUxNkK0lCTGVZq6R67iCNuK8/XyteXmiK4imG+eH/xkqDP0t79myiXKtE28OE0UWi/HLKX6K7NKqvNstbdkRyq1VmroKHHpH1OeQ253ij6q+uGhEJmHs9/EwF8oFOLf/fj2aHI+rt007T9FuIzVb/PVQXxzGInNGTSPfV6PJoPCYQpfJnevoOwtc2YUGZRvsuWGa+IyTV1W2Z5jpmke1d910is8gsLC3vWO5lroZ7/Ka6dYabE8w1X93E3KPGKdG2RWCgLgznUMSOGgCHVQaXkQNX9dj5rD12OTuWhQzfYtBbz1afDdqg3Ll/Pdd5x88o5fY27uNlOmbHLCCbvvH7RlS7GpU1cZNKjtbt/7e0I9IfQboKys3Jw5uXr02H2F0E4JoeW1G0pTUyHUuxmLInbiSsqYncNdX/HJYvbtVvNnJAspUB5F6MSL1VCCdbWUja2xJqqtiZ6KbLDF0h0+RxRiEmn7FqU5LDuD0jq2DyMRGx9MuJsdQPuh9Lg8UAF1OJOMbsTUIX4r3UDO/czryPJRNDiILgtoenGlV1CJudY50Wa3a+w5jdwsJF6ZbWZ5zI/usbfLdTZMSMhGGzzlSfHined8DTVUJuxhP5pqjXsM0EKgfHpTgTHyvCRTzwop/7KiwDD1uj0YFsEhTpjPjZ8HnhotInyhlqzmlDE8cBEH9Yh+vIICThnKyPM4oY74xpKScsOHLzJiRFODB2fUflEteOKJaRYu3OCee+pLxepRj98jTjttLwcf3MbFF08U3sVJ7x57JHriiXb++Mclli+PXpSkpARlYjfeGPz3P58MUsiOPY4772L//ejQhnf+wt9e4t0IM+m4GF49JRizrv64qn2vBrzVjUsW8lHFgiJdjFdkmWGb62ysHL82K/aKeU7VWRsNxYlzsqGKNfKytyz0C8jWz4Hut8Ik37hBocCENcVJsnxum2nWOlChiVVjY9oRdJ5J5tWse5S5LVl5FcULan9RoVAwZrU9nj430utaOg6jxUAadQxKpHeGcClr7yD3ftp/FCSfVUOxL23zo1SjotrLlcoxVVY1QmiN1dJlSFTldxgWtr6WkrECYcm1TBtr+6o0qCV2np17CC3dydShY8fdJ4QyMxto1izV7Nn1ZWP1+L+H1q0bWbx4o7S0KiJo6dI8Y8ZMdvrpbxg8uKO0tLr9Svv0SdWoUZzPP9/x3Lp790C5+d57tZ8/on9QFvbx1zXP/XEgH87i12r+1aM6s2Azn6+uaosJcUcWd64PfGi24xSNNBDjn6qYokwpTtfNY360TXDxNtt87jP97Ku9PZUqEiPWJmF58my0yK8+tdYMbV0qSTdrXavA85a7UYJeWnlcfGwfMiaSdht5p5M3krJq9hVpe7H3Uxz+Kxn789MwPs7iu8HMHxP4DRWttksIh9m6LCCAfr6Jb4/ioybMvoxmQzhiOd0fJKXahmvZMvKGsvlyGj1JxjhiqlSeeV610mjN3KmxcyPaF5viTr1dIDuiTPgH31lumROdXBlFn2+bp0x3nr2lRkbKy9VTkgERmwu/buPxjdxebYn7yuJgg+CUttHt3y3i51UMr0XE9tpHdGzN3l1qf2WvvcYhh5C1k+X0e++t17t3mpYtd923dzu+/HKptm3T7bHHLiYy/U5RTwj9BlizJl9RUak999w9Y6u1a0u0aFG36Rts3lx3WlQ4HB3lt18r+jbnyJfo+TgHPsuFH/DVcs7em17NWFVtU6GlOLFCFor25+kowxzRPX1nXcw0Q5mqHj1Okj0cYY4na1UJbfOjrV6r+eFjG9Luo8Akc3431j9ByS52sruCrT+w7Nxg0r75XZrdQbelgRFnxQ5ruY3yXCfHkRLsLdt3kgwCWyzzb1fYaK4B/qGlgWCZpZ70uD3t6SzDJUpUqtx9fjDXevcYILuiI/3AVn+ywTOa2q9ior2qmENnBik6N0QQfV8vY9hbvHQS+7eqat+Uz+AbOWMQf6wWDxoOc95IMjK4++66X8Utt6yweXOZe+7Z9Yj5+fPXufrqjz377JAdTjzqUY96/N9FKBTy6KPHmjz5Vy+9NHOX7zv11CZOPrmxM85YqKQkehf6xRd48y2eeILnngvGr9zcIIL++uuDktY+nXj+eobfGaQmbkeTFD48i3Gzuf+bqvZB6TzdiaFzmVxBLmSJ9boskxT6szxhYS+bp5kGDlOla3/WHO01NdxhXjbO974TFtZIe4d4RJJMXxhtjSDdMk47mT6U5jJ5rrTeqUpUkD6heJqMpNNPtHuf0jXM7xEoTze9ExA4/1+gLD/4eb/0Z+PztP+Y5B41LttmpvXO0chfxYgm+xd5U7xUTUSbO8wwXWedo9oWCyQ8rVSVcIeFzbVNh2pOA6u2UZvItKCElFqmM7ExVYqv6mjUKFCP7QjNm8fLyanFnGgn6NChsSVL6mCi6lGP/3Icdlg7l1/+kdtum+yoo15y1llvWbBgveefP9GIEXvv8N5QKOSss7I888yaHV4HI0fy0EO1k7xxcYGp9B1P1jy/R2NO78etb0e3p8Vz495c8R2RQ8ORDeifzGURHylWyD2aGWu9H1Qldw3RSZI4/zQdTDZJsmT7C9JSEqQptodUP8nzrjlettlyPZ0jQxupDrPND5Ktk+Q6s61QqkhYWUDUp4yk6UzKN5DbiYJHavbdidl0HsPhK9j3vUBBVLCIudfySUs+bsF3xzL1tNqPb48KiKTP27NgDMWrAxLogM85bAkdriG+2uIuXBR4BeV2JZRK09kkV5WClSuy2vVy3a2VpzVUtQu83nyT3ayLodo5vLJ9gfn+5SOnOkODirVJubCH/KCddAMjxsqPbPG2zf6qWSVxVB5m5CpGNKJXxH7BlhKum8ptfYLNnMpHCHPjW4F3UMNqOQClpdz9FJfWUQ5WWsrYsYwaVfv5SDz99GrDhv1n5WKvvTbX8cd32vmFv3PUewj9Bli5covs7AZ1uv7Xhby8MunpO/6VlJbWXWeZlBDEzlf+dxxjj+XTxYE6qFESjZPpUqGo+3gDY6txLolC+kjwreLKcibYVzNfW+kkVQWgnXXxoYnmm6ebKs+Jrs7zuVFW+aKSONmOsEJ5rhGSJFk1CUt8VuDhkzcu2HFdcTHJvWl4fBD7ntx71+J6y7dRNJ2CKRR8w9ZvKNtIxtl0/IHk6DrgsDJbvWCTOyToI8sk8RXPGRa23MdmeVRbg3V1jpiK9zLTDO96x5GOsq/9wTZl7vK9HFvdY0BlZONbClxlg8c1MbDCVDpnG4fNZECjIEVn+6PNzeX4V7jvCE6MYM1Lyzj9r7TO5oGLaz72PfcEu+9Tf6j7OzJxYp6xY9f6/vvuUlJ2/fv5xz++78IL96kvFatHPX7nyM5O9cwzQwwb9paDDmqtXbtdUxE+/HAb++03x003rXDPPVWTyqwsnvpnEEG/eDFNmvCPRzi8Yo4aDgd93ykDWLCC42/i+0dpXrEBumdjJp7JoBdonhr4C8EZWRSVc8IcPupO/0bBhsYbspwoR6mwvSXqoGqS/aUV5tlghG56aKqhdK8aZ511jnaMfDH6uMYKn/vR3fZwpG5GipWggT9INsRm98hxqAbO0dC1YjQMHiD1oOAoWcuGp1l5GcvPJWV/Ug6gwQGk7BdsfuwKti1l8/vBkT8pUAOln0nWdYHfXTWU+MV6p0lzhQbOjjpXYI0FxtvfHWIipn1bbDHHbBe5JOr676zWW5b4CL+gX5XKU6636A2BeVvpUksq0dp8smuxBCzcFsxVakN8fJXnVF1DfXp6nPz8cqWlYXFxu+Z9B61aNbRy5eZdvr4e9fhvwu23H+aHH1Z68cWZjj22g/33b2XPPRtr2jSlUs25Iy/ICy5ooWvX761eXax587o39c4/n7/8JeivD64lHvyy4TzwPJ99w+HV0mv/ehJdb+bKI+kdIV68vFvgLfOPuVxZMf0OhXiiOd0X8fZmTqroFntKdr0sl1jlA201FSdOjGvt708+01KaxpL0ilC8/OIXS4Xt43yNxVf4pDWSJEOeN6zzsFSHKbFKJ2daa74CazUS8SHj2tD4bYo/ZtNlFDxEyiiS/0Bs86rrYhMDpVDG/lVtpflsms6WmZTVoV6MbUDnv9CwJ7E7SUgsXULhs2x9hthmNP6UhGh5zTbLrTRaSLy23hevyrQn12xf+Zvuhuuoaud4lZVe96oTnayttpXtz5tpqU3ud3gl8bPUNtdY7R7NtI1QDD2xkUUlvFNtP/kvP9GhIcP3jG7/aBbTl/FmLWuW8R8EhuNn11HN8OabwVhQm6dVJGbOzPfjj/nef7/mJsnOUFCwzZtvzvXvf5+784t/56gnhH4DrFixWatWuzjpi0BeXqn09B0v0ktKApa+NiQnBpOtSExZTvuM4CgPB1JNglrPLiksKqS4vCr+EfaX6FtFRkTsDh6ohX+aKddWmYLZX6xY+9rPt76JIoQSpOnuQrM9Lss+4iN+TqIDNfZPG4wSkipJNcv5UIiM4cFRmhv4/Gx+n9z7gol02rHEt1DlWhCu2qoozw+UQIXTAgPQlP2DSXiTCyom4tGS/LCwYl/a7M/KFcjwD0mOrOwQSxSY4SHrzNDPLbLsU3nfJJ/5xhSnO0vHCvJok2J3+M42Ze50sLSKTvRZW/xVnmc1NaiCDNpQwhGz6J3KPztV/V5WbubocVzSjwv3iX41V45lRS5fP0xcta/Jhx/y17/x5RdkZqoVCxYUGjZsoSeeaKdr112P7IUnnhisXbv/3TjGetTjfwmDB3cyYkRPp5/+hq++Om+XNjdSUmK98UZH++47R9++DZx+epWk/eCDqxYXkYv96gv/689k/nJOuJkvHiClYgeybwveOJWTXiOrAYdX+Fef04zCco6dzWc96ZtGW/Hele00OZYr1tBKLaXZoMiTZjpXd50q1DPttPVHoz3kVe97XYYWmkh2lUNl6GKaO/3b5fq6QZrWYqRLd4cGRtjkJmvtp6EbpDhdaDtREp9N9o0BcVP4U9WmxMZnA5Inaa+AIIqrqA+ufAGh4CjPZ8vHFP1M6sHBZkjLh0isewez1ArrDZVimLQI/wiC8WqWR7RyqCYR4zRM9b222mkqM+r6SZYbLrqm/BvFekuUVM1D6OetjKwl/WVNAc1qqYIrLCa5DkJo+9ymvLzuMITtc6RNm0o1abJjRXUkWrVKs2JFPSFUj/+baNQo0RFH7OmII4IVdzgcFgqFKv83sq02tG+fbNCgdM88s8ZNN9UsNd2OtDQuvJB7762dEGqYyp/O4c9jOeyA6P67TVMuOZRrXuOTq6vOJcQy9gCGfMrp7WlRQSC3iOeR5ly4moNTaFrx93+2dN/b6gqrPG8PsUKyNHCrg9zsC4PF22quVvawxRbvetvBBuiqd2Xpa1i5VZb7RYp8p2pib/30M8d4JbZKVkcFR+KRgT9P0dsBIbPlVhKPClREicdFpTlWIi6VJgcFx3+KcGHFv/k02/4d/FuNHiPx2CBleftlSuV5Ra57NXSibDdFJUmu8p3v/F0vI7VzZGX7Siu86HmHGKRHhEp0ggU+t9TdDq1csxQpd5GVhmrkmAgj6cXbuDaHd1qRFtE/z9kYRM3/cEL096GsnGtf55bjSa+2aVBayl8f4+YLat/ADoeD7+CVV9a95t2OJ55Y5YwzsmRk7Pp4sB1vvz1P27bpevXaSYTZ/wDqS8Z+A/ynhNDGjf/vCqGiaoTQis18U5GcGzlMxMXQKpGkGBYWRt+zvyTfiq4layzZ3rJ8bnlUe1/7WGlFDS+hlgZqqL25nqn5OR0p3QPWO1ue65VF1AtHIS6Txn8IzDv3WscezwWkUMkKSlZSsiooKytdQ+naQOLZZBSdpgfXt/+A7JtJOzSKDCq3VYEX5Bhgg1GSnSTbV5IdJSQkLGy1KSYbrUS+gRXEFuTL95IXTDfd+S6oJIOW2OQKkzSUUEkGhYX93SZ3yvOqrEoyaFMpR85izySe7xwkiEFeEUeP58g9uW1g9Kv4x9u8Opn376BRtV3XX37hrGE8+QR9+tT+KjdvLnXiiQuMGpXlrLN233StS5emEhPr+eN61ON/Bffdd6SSknI33PDpLt/TuXOyceP2NHLkYjNm1G5MHQpVcfjV1y6hEE9cGRAGf7grOsb4yD15/DhOeZ2fIpSto1vw5zZBnzqzwgy1tTjvyrZSlrUyjTXdd1YbrqvDtBYXMfX5wnopektULsM0+Qo8boZEzRzofln6+tKlFnpduaBUKV5XTbwp3b3yjbVGb5vdpSxyHAzFkrIPmZfSZjxdl9BtJdm3EZsejFmla4MxrGR1xZi2gvICsm6ie26QvJl5VZ1kUFiJfE/KMVCSozR0c41rVvlSnoW6Oi+qvVSpH3xvf9E7z/NtlKfYAZpHtX+r2P5qKgvmFdK12mQ/HK5bIVS0Ldi8qg3b5zYlO6gIS0mJER8fkpdXVvdFtaBVq4ZWrNhJPVo96vFfilAo5PXX57j++k9rtENJSdlO02IvvLCFJ59cpaxsx/5wl13Gxx/z88+1n79kGPMW88mUmuduHMxPy/h4TnT7oOYM3oOrv49uP6sh/VO4JLLrFHK3ZlYp9YiqsIKOGrvWAd61TYY2Xveqqb63nwPsa3/x4oWFFVpvomt87SprfShsrl+N9Z7L5ZipkxMlSFNko9WmyfeTrX6I+AAJJJ9Ok3+R+Qvx/dh8BTmt2HwNxV9Q/v9B+WlZLsWfsOli1rYIysMSjyFreaBWSjo+igzKN9kSx9jgac3dr5nbKsmgciWme8p3/m4fl0aRQYss8pxnDDDQQapYvi8tM94ctzqo0ucU/iJHgpAbqgUNNIjhgWwOi+jXw2Eu/oaLutC9mpj4ha/Zuq32qPmX3gvuHVGHOmjyZJYsCUoYd4T8/FIvvrjW6NEtdnxhHXjxxZlGjOi5y0nLv2fUr/B+A/y/KIQyMnauEKqLEEquVjIGJ3cN1EAEk+0Nhcxfx+Zi+rUMVELztgZGnduxjwRrlFmu1B4RX5HDtTbOz07TqVJFkyJFL71N8pkzDau8NiSkp0tMdqFMvbUQvdWQ4hTxutvkz9bqp6GrNTAyiumOQkwCaYcHx3+IUssUeEaBl8RqKdUFUpwipEots8VSsz1uk4W6OEcbxwhVLB7m+dkEb2tvT6NdLLnivilWut80p+joDF3ECCkX9md53lHgbdn2qniu/LJgNzsrnpe7El+xLikqZcgrtG0ULHoi+6aPvue6f/LJPbStRmJv2cKQExk1krPOqv25y8vDRoxYpFWrBHfeueu+QfWoRz3+d5GUFOe114bq2/dJAwe2dfzxnXd+EwYPznD99S0MGbLA1KndNW1ac8Da0dwrMYG3/sJ+F3HLs9weMSEc0ZPVWzhmPFPOC5SvcGUrtpZz+Cy+3DsY17LEelu24WIs1cTtmour8LvbnpYyzVo/ynGENnrr7SffesdU63QSo4cYCboZJUs/szxqqQ/t5Y+y7SckJNlgSY5VbJJ8/7RFH8kGS/VH8fpWjpOViG9O+snB8f+AsLAiH9vszwhp7DGJEXL/7dhimVke1d0FEqRFnZvqB0mSdYgoA4dPLTVASwnV4uW/Vezuar5E60vILaFzNUIofxuFpWTXoRCqq2Rs+05wSQlJdeRrhEIh6emxNm7cPX+mgBCqVwjV4/8uTjyxS6WSIRQKWb58k3ffnW/69DUyMpIlJ8c58cQuevduXuv9gwc3cfHFv/j44w2OOaZJrddAixYMG8Z99/H00zXPN0zl6nMZMzYwmo7sz9NTuPn4QCV0eLdoX9P79qXLm0xaHRBEwXPweHP2WsTrmzm1YumUKtZYLZxiqX0kO6jC76avZkbr40k/udXJummhtMLzNKZirp4j30aNpViltzPsoa+fTfWz+Q5xbuV1JbbKNdMc32hlijQDZLpeQoSPjrg2pN1K6s1smxSohvJGUL6c2DbE9SK+F/F7E9eDUB3hAOHNlMykZDql04P/LV9FbHsSBtH4A+IPqHVwLDJPrtsVmqmpK2QYFrVWyrfat+4VFna4B6RFlI/NMdtb3nC8IVFldjPkeMRU1+sfFTH/jk0m2uwD7SRUG0+y4xhVjfR5eTG/bOa9alkzW4u5+W3+fkaQQheJ0lL+9ji3jK5b/XPvvVx0EQ12krXw6qu59twzWb9+aTu+sBasXr3F558v8fTTdbBS/2OoVwj9BvhPCKHS0rD8/PKdKoR2WjJWjRCKiwm8hFZs5tpPGPE2d0/h9Z8Z/DIlS5hZbY7UQIweEnxXTSW0vxY2KjZfdFLBIIdZYrEF5lf7OS30daOf3GeFz2t83nidNfWKxv6pwEvWOkihD3c9sn4XUG6jQu9a7w/W2l+ppZp4XpbJGhheSQZts8Usj/nCJdK0dqhntHWckBjbbPOud7zlDUc71qlOlyxZubDxfna/af6kr7N0FSOkVNgVNvjIVu9FkEFbyzh+dqDKerNbVZleWXnwe9lWxqtDow3ZZi8JfIP++Sf6d6/2bOWMOJtWrbjzzrrfwW23rTR7dqFXXum4W54L9ahHPf630bFjE088Mdg550ywfHkdWeG14KabWthnnwZOO22h0tLd78+bNuKDO3l0As//K/rcNf05fa+gtDY3QoR0U2v+2CzwZVtUoXptJMarMqWKd5K1XrXIOwLX6iKlvrNaL5n2lilNov0cpI+BSq3zjKcstsZ0OZra2yEe1d5JfnKf79xsiyAfPSRGksM09Yps/xajqXWGynWkAs8ptZMc9d1EibnWG2qjSzQwSpYvJTmiBhm02RJfu0YbR2tZEY6wHVts8ZlPHGtw5eKIwAPvSyscJrqkZJVSy5Xapxb/oBYJNKo2J1mTH5SJpNdC6hTugkKodCdcT3p63H+oEKonhOrxfxfx8bE6dgyInAkT5rniin+ZOnW1Hj2yNWmSbOvWEqNG1RERhri4GOee28xTT+08sOXqqxk3jtV1XHrJMBb8Wnvi2EWDyC/ixWoKohYpjOkdKEoiDaaz4xjbjItWkxPxt99VkjGyXW6VNapkg4dq61Rd3W2aNQpM9rkffIcggWyGn+yhv72cY7G3FVhnMxppIUaMQlvlyZOmpZ7O1dxAax0vJNUSR8hxhzLVxrtQDImHBQlf2cvIXkejZ0g4hLIlbBkTmD/ntKj9yN2bgrspX0vi0WS8QnYeWYtIf4qE/jXIoFK51rjBUkMk6GRPX2js3CgyaLl/+8SVmujqUPdEkUFT/eBtbzrV6VFk0GJ57vS10froq2qX+RfFbrLWA1poaeflV5u38afvuX/fwDw8Eg9+QssMTutX874X3yUmhmGDa56DWbOYNIlLLqn9fCSeemq1889v/h8pfMaPn+WQQ9r8RwKO3yPqFUK/AVas2OzYYzvu/MII5OUFveDOPIR2t2QMflnPpR/RoTEX9wsizONj2FrCGf8/9u47PMpq7R7/J72S0EKA0HtAREREQKQjXVGsKGI7HhWP5diPvfd2sHfsokcs2AuCgoooNqT3DgkQSEif3x8TYJJMKL5+f9f7HrNy5cqV2c+eeZ5nZu6999rrXvf7TF2KCkZg3cWZKd/okFKDcaL0kuFTy7ULYZSTJRtokCne01wLMSGBpL7DdHWdWW5WolBTgyuft37iHCHXRFtcJEZ7yc4X4wCR0ivvsu4BAQUKfSfflwp8qchPorUV70jpbhGtcYXjSyz3gXmel6q13iaoETIZDpqwvS5ZsnONV6tshzRfsXt9b5Et7tFbc6lljwecY5Nlir0rXf2yr1huCcfMpTgQNEBNKHubi0s5/W1+3cj0ceWrsixezaDL+edxnNy/8rXedFMwcM76rmqS8K23st1//1ozZnRQu3b4g15++RfQtm0dBx/8xwJrNapRjf9OnHRSR198scyJJ75p6tTTxMTs3U8oIiLCc8+11L37by67bIX776/asyIQ4NVXg8aRoWNbuya8cUPQT6hWMiN77nxu7j+S9bn0f4FPTw36CsHNzYKeQv1+DnoKtUogUaTnpPmHLE9IMbFs7IoQYa3tOqsntYzoWGO7VUr0012c+R73ojidvCLOxbpoboQMvc33gi+dr5nh2hqzyycvWks13SbFVfK8Js8btrhSlMbi9Rantzi9RNo/P7ZS2xSZK8/r8rwmyTi1PV3l82yx0ExXaekYbVSWjn7sQ6210Uqrco9/Y60UcTIr+Gt8o0BHsWpU2EOs0lA6N6gOCjeU5BcGS8+Hw76kjEGtWlG75kz7ikaNUqxfv11hYcl+F/yoRjX+N+G771a7++4ZTjutkz59msnISJFYNnns3v1pU6cu06dPs7B9zzijgczM76xfXyg9vQqpHjIzGTiQhx4Kv+FYI4nLzuD6CQzqWf67HhfDbcfyz9cYfQjJIcTwBWUG0/f9yhUhBQ+PT+GNHM5dyxuNdj/f8Wr6zg4XWOMVTUSXrQeO0VaWHW4wzV367VJ/liq1zTbtZGqjrRjM8axsbdSTIaDEGmt9Z4Y0dQ0wRAcnm+Z6Sc5Q2zgb3GqR7moYJMVRkvQSUXG5HFmHuH7B350IlFLlhnZEkFTaC0rlyzXVVpPl+lySfpr7SGyICTQUKzDHk1abqZuLNdRt92kImG6ar0xzitPKGUivl+tG042WqV/I43lKnWu1cWrpK3mPxv6kkHqYAAAgAElEQVQ7ce0PZNbkhAq1ZtZt5Y73ee/Cys9RVMTNj3Hj+KrXLffcw9ixpKfv+fV//XW7OXO2++CD/TeTJpgudvHFh+39wL8Iqgmh/wdYuTJHRsb+yde2bCkRExMhIWHPAWOPKWNhTKXhjd9pXZsHB+82L96JQxoxbUPlPoeJc7PKObIDNHWDGf7mwHKS8i66mm226abppzx7UU8Xh7nZt65TqlDzitXFECFasjMkOtY299viKiWWiVRbtEwxOoiRKUYmKLFJqWylsnb9LbFKoe9ESBGnj2Rni3OEKJXNwkoUWOUzi72lVJGD/HNXGkCwvcRXpptmqt76OlyvXTupa213q28li/GAvrsWExuUONMmJQImq6dW2f3ZWMjw30iIZMoBJJXdtqISTp3MLxv4Yix1QybWKzfQ/9JgeflrT638/jz3HPc/wFfTqV2FN95vv+U57bTFnnuupQMOCDNrx/jx71uxYqu8vCKJiTFef/048fHVYaEa1ajGbjzwwGDduj3luuu+cPvt+5a2m5wcZfLkNrp2/VXnzonGjg3vdr9jB3fexcef8MzT5SeQ/Q/mxas4+VYm38yALsHHIyN44WjGTg5WH/v0FBrUCPa9p0WwvcecYLztWoNYER5Rx9U2O1aWZ9XVTKkipQ4pGx+W2eozKwQEjNYO7bQ017smi9Hajb72L901kqKj8zU1zK8e9ZnTNTNcMyPElxEpkWpIdpZkZym1TYEZZQUM7lDsTDE6idZalDoi1RGp9q6/EZIUW6zY74r8pshcJVaKVE+cHtJ9KbriDk4Iss31jWu0NUZLx1ZqX2qJ3831DxdVavvMcgM0qbQJ8+0e/IPahalPsK4K/yDKTKWrUAiFpoztCX9EIVS/frLIyAhr1mzTrFl1gYRq/N/Fq6/+atiw1s4+u8uux4qKSsyevVZsbJTIihP9ELRokaBXr1QTJ65z2WVNqjwOLr+cESO4+uqg2XRFnH8S9z7HlC8Z3qd82wmH8vDn3DYlSA7tREwkT/RkwIeMbBIkFAjG7kfKUsee28rpIV/Rm6U72nJ327jL1yZChDMdZLNv3OQrt+gN8sp+2gimONfU1SLb5MnT1aGI0FhjdY3wgSle9qIuUsqUnjXFaaqxFxWYK8fb1rlKQJEahkt1lHidq96k3gfCJxwCSuX5Ro63bfO+KLWlOEqay8SFifUb/OJHj4uRZKAHJFYoCvCRD/1sjtOdqUGIYihHgRtM11Mjx2pbrs+/rFNXtLHFdYneOxk0fR1PLeCHoyofe+UbDD6AI8JkmT83mZhoThoa/nlXreK11/j55z2/Pjz99DrHHZemZs39N5P+5Zf1FizIcswxmfvd978V1Su/PxmFhSVWrNiqRYt9K9W7Ezv9g/amztiTQiichxDB6mIBwUlycWkwRWlrAV8sY8FqNtcuX4EMuom3SLGNSqSFED+ZaksR51tr9dJo1+ORIo0w0jOe0slB6iifn1xHR4e5zbeuUaJQK+HrCEZKleoGqW5QKlex+WWT4t/lmaTYfETtmjxH7frbQIxOUt0qWtsqA3a+bMu8a5kp4tTSymgZ+oqq4F0UELDGKmc4S0bZdQYD7TJP+sVATZ2l4y5z0tkKnGmT7uLcq7bEsseX7GDwr8FqYhPb7k4TKyzhpDdZtJmpY0kLyZNdn82ASzmyK/eeWznYfvgh54/n3XfoWAUxvnlzsaOOWuDCC+s75pjwjNH998/0yy8bfPnlODBy5CsmTfpN48ap0tISdehQL2y/alSjGn8tBMni0Q499Cl9+jRz5JGt9t4JLVvGe+211o4+eoHMzARdu1ZmCRITeX8KPXpy7bXcckv59lG9eCyfUdfxwR0cXhbzYqJ4cRSnv0OfiXx+KhllFeDvbhFMZer3M69nMqQ2kSLcrpZmoh1rg1vV0liKS03VU4bfbJIizjjB3NxipdrK1EQT75hsodU+M8speosSJUUz3d1hkx8t9h+fGitDHy0cI1WLXecfqYYER0pwJCixVoHpiq1UKluR3ytsbmwTrYUY7cU5QrJzRGsvyt6LAWzys+9cL9MZmhtRqb1Ysfe8o6/+UpSX6WTL96MNzg9JLdiJmQpcqbKs5/c8BoeZ6qyvosIYe/YQiooKvn97TxmL2m9CKCoqUpMmqZYs2VxNCFXj/zRKSkpt3Rqc7G/evMPWrQV+/32jt96aZ+jQVo44ompFJpx1VgPXX7/MpZc23uOa4/DDadeOJ5/kkksqtycncfXfuOZBhh4RTAPaiYgI/j2GHrdxxuG0ClF7dK8XNCEeN42vh++2SUiL5sUMRq2kczwHlSmLEkR6RENHW665WCeWKSOjRLjYoW4w3a2+dpUekiSJF+9tb2mplQXmK1Cgl25+9G+bLVZLSztkq2uHbJuskKGZnqLLKihHiBCvg3gdpLlCnm/leMdKp4lSS5LDxWknThtx2oqy7+u9gIASmxRYoMA8BebLNU1AkRQjNDZRvIPCrmE2W+QXL8i2QDvHamOUyJD1WZ48b3vLOmud6W/l1mFbFbjRdE2lOrPC8/9blhnynLS5uSOzI9yVzqDkylVAdyK3iDO+4uaDaVthWJi5iEmz+P3Wyv3yC7jxEe67vGp10IMPMnQobaouqgkKCkpNnLjOW28dsOcDq8ALL/xs1KhMNWpUsTvxF0Q1IfQnY9myLaKjIzVuXIUmugps2VIiJWXvMuaSkvJBNxQJceTmV/4Sj2rH+e9z/BsMa83WfJZsYVMe/+jK2VtZmk/LkJ2+miJlivFlhbSxCBH6a+I9S/SUITIkqGRo5CCdveVNY40TW4FkqS1Td3eY6So7rJfpTNGqcI5EpCSxDharitJZ+4FtllvkDat9oa7OurhSXZ2VKhWl8n2PFu0kp+z6f6sCD/rBAptdrZsudo9ur9nuCptdKdU5auwKtD9uZ/AvnFyPe1vsJtwKijnuDVZvCy5i6oSId7JzGHg5XdvxSBi55fffc/wJPP0U/cI49xP0ozrppEUyMxPceGOjsMds3rzDhg25Jk48Gjz66Cxff71S48Yppk8Pel7cems/aWl7cXSrRjWq8ZdAZmaaCROGOPXUt/z44zkyMvYt737gwFQ33dTIqFFBk+n69SuzAQ0b8uEH9DycjAzOPbd8+ykDgyaVw6/ms3vpUjZZjIrk2ZGcM4Ujng8qLZuUDb0XNwqSQqPn8kgrTqsfHL/+LkUHsf5mk6M0caRU6+UaoaXmUtUp85XbSfYnS9ZKf8nmWG6eR/xsqBFaailChDQHS3OwbVZY4i1fuUgtmVo5XpqDK03sozSQ6Pj9uPN7R0Cp5T70m8d1dJ4mZeRT+WMCPvOJCJGVKovB+5booK56yqtJ1yi2UJFuFRRCgQC/5HJRRuXzWZ1D/SoUQrn5JO5hDh4Vta8eQvuXMkbQE2vRomz9+jXf+8HVqMb/UlxySXdjx042YMBEXbs2tGjRZuvXbzd4cCt///she+1/9NF1nX/+Ql98sUW/flWTGRERXHYZF14YNPgNZ/T+9xO477lg1aixR5VvO6gJ43py/ot8eEn5+exNB3Pw29z+M9cetPvxQclcWZdjVvJNc+qVrVJbivO0RsZZKUGko8rKoceKco2ebjfDv0z1Lz2d6jRTvGue37XQQiNN1FNPgYXWmq2RnmpqbpUFFvjCYU7RSNNy5MqueyBKkh6S9JDuRrmm2uEH230uy2OKrRElTZy24rQSUcWaplSuQgsVWKBEthiNy/q0Vd8dkvQUUYVvz1bLzPWqtb7XynCHubRSkYD55nnHZBky/M25kkLWbatsc4uvtFDTxQ7dVVQBnpHtadle19RrxVHqRvP0lqCvU6f4oM1FRevRS2eRHs+F7cs/XlgcfK+vHEqTMJ7lD71IWi1GVx6eQFYWjz/ORx+Fbw/FpEkb1KkTo1ev/VtrEyRUX375F08+WXnT5K+MakLoT0ZWVp66dRP3KNkMh4gI++TdUqsW2VVUaW9Wn4IiVm2kcYi4o30a/x7C9BVMW05BCW1qc3RbejVh0m+8ujFoyhmKUyV7SI5REssFkJFa+sgy71rsqAoeBIMM9qKJXvKCMU6tRArV1FovD5rjXp87Q4Z+GukrRYv98graGwICtlluvW+t9Y0cC2Xop7XrZSsy1UIbzdBDTwfpLCBQ5evPscE9vtdObY/oL6VsYlwi4CZbvCrX89L0DhkIvtjC0b8F7+nlIbZFBcXBsskbcoNpDrVCSLhteQy9ipYNeO6K4MQ4FEuWMGw4N1zPiSdWfe0XX7zcihUFZs7sUOXnsFatBJdf3lOtWgm2bMm3ePFm06aN06FDPbNmrfaPf3woJ6egmhCqRjWqsQunnXaQqVOXO/HEN3322dh99mK55JL65szJNXLkAlOnZkpMrNyvXbug6nHQkUGC6KgKi4u/DWf7DgZfwZf3075Z8PGoSJ4Yznnv0+d5pp62mxQ6oR71YoOxeGMRl5bF4l7ifaS+02y0QKInNFZXtB2K5Siwwja/yZKryEo55sp2snZ6OMJCc7zqJa20NthQqWXKmRqa6ORC7YyzzHt+cKcYyeo7TLrD1NYh7ILjf4IdNlrtS6t8rkiOrq5VT+UFYUDApz7xkzlOd1alTZCFNnvTQndUqAYKD8kxTII6FfrMzCGnhMPDzMenreD0gyo/DvNXclHlTDYEq2YWF1edBh2KP2J1l5aWKCsrb/87VqMa/4vQtGlNjz8+3KJF2Vau3KpHj8YGDmwpP7/YggVZ6tdPVrNmfJXqh/j4KBde2MgNNyzTt2/NPa49Ro3i1luDyo0rrgjzXHHcdwV/v5EhvUir8N297VgOup4Jn3FBSLZxQjSv9qHnFA6pw5CQefK/6jK3gGEr+KIZyWWb4IdK9KgM51qtUKnjypRCiWJc53CP+dElPnWlHoYZoVChWLFKBR2sGxsg22ZzvCLZMLP9rKNu6kgXKUqRIttsU1v4ABQpTg1HqhFCuJfIUWCBQgsUWKxU+PgSKUGKY8RpLU4bkfY8tw4I2GKx302y1mwtDDTE4xIqZF/kyfOBKeab50hDHFyhuuUsa93nW4O1dIoDyq3lHpHlcVmeCzTWNiJOYYAOcaRHcXdWUK21kwzaKTR4biGvL2X2yPIV5OD6ycFsk8uHVL6eRcuD6qCPnqha1HDzzfTsSffK+xXlUFxc6uabl7vssj0r3KrC++8vBAMHVp16/VdENSH0JyMnp0BKyv5L0GJjIxQWlu71uIYNq3b9T4ijbWN+WlyeEIID6gV/K2JHEb2jeGwZVzcuP8kaI9kjckyW59iQ4JUkxqUOca2vHShtl6EyxIlzirFe8oIXTXSKsZVIoWQZerrHBrOsMtVXLpEgTYY+MvSVLMyW4z6gVJFNfrbet9b71jbb1HeApgZK9k+z/WqFHzXXXH0NrLVmV35tODKoSKkXzPWexc52oMGa7Tpuq1J/t8kqxT6UrnkIs/+fTZw6jwmtOD3Evii/mGNfDyqzPj6lfAWW/EKOvpYaibx6LdEV1g0bNzJ4CGNODi/d3YmHHlrntdeyfPttB6kVS78IBtJVq3KkpyftMiGsUSPWddf13vW57do1Q2JijE2b8rRsuQ8z82pUoxp/GTz88FA9ez7jwgs/8OijVZQJqYCIiAhPPdXCgAHznHrqYpMmtQ5LVvfowYsvMOYUPvm48sTwkuPYmsvAy/jqIZqXlS6OjOCRoYz/IEgKfTGWpmVZQX1r8sWBwdTdDUXc2Tw4zjUR7T3pxssy1AYT1bXWOo/4SW3x+misgSQd1DHOAZqW7Uin6amjjl7ykWs9J00bl+snrmyjIE6qtsZoZbQNvrfON753q4Bi9XSVrpt6Dqm0w7uvKJRjjelW+0K2ueo4UAtHaegI0Sob+gQEfOJjP/nRGc5SV3kvp3zF7jLLidpqW2EhtEKxV+T6JIwP37PrOSktWDUzFFvz+WYVrxxT+dxzclmylk5VzMPXrAmqEGruJaOrsLBUbOz++3WkpMTJyQmTV1+NavwfQ7t2dbVrF0wjnT17jcsu+9jChdnq1082e/ZamZl13XZbf61ahZ/DXXRRIw8+uMqnn242cGDV87zISO67j5EjOe006lcOBY4dxMtTuPB2Xr67fFvNRF44m8H30acdHUNE653qBP2ETv6S70fSskx0GhnBcw0ZuoLRK3m3CTFlw0VvyZ7SyNlWyxdwalm6Vowo43XxvpquN81ZDjJIUAn4jZlm+EptdcSKlaCWEp/o63iddVWs2EILfeEz8eLl2OoEJ9thru3WaqSHFOH9lqKkSHSIxDBE/P5iJwm0ytdWmWmHTZobZGgYIgjm+s173tFQhvH+US4NOCDgDfNM8rvxDnFEyPkHBNxvkxdt8bImMss2s3slsriQPkmszebYleQHeDUj6IE6Z1OwQtzb/WlWYfj64nce+pRZ1wZNxctdV4Czr+f0URzeRVjMmxdUB82evff79NJLGxQXB4wbF+bDuA947LHZzj77YNHRf8zz6b8V1YTQn4w/TghFKizce3neBvWDk6aq0KlFkBAaXmEiHQhQEihf0pygD8PqFazbyFedCFXfxYlwiVR322qkRDEhpMkB6jpaK3eb5QF9yxlM7ySFXjTRC553opPLyRcJlupN1026borlW+8bq0210KtSNFfHgWKllP2milVDrBQxaiiUI886edaX/Q3+brdarjQbNVEsU7KaEjXVRX+xYg0K8TzaYYeZvpYuvI39AtkmmKNUwAP6amJ3esQ8hc60STPRpqgvpSy1IBDgkbVcsYRXMhkZEr+3FzJ6Elvyg2RQaggZVFTMCTcFvRU+vpu4ChkVeXmMGEnnzkH3/arwzjubXX31Sp9+2k7z5uFlqyed9KaNG3PVrBmvYcMazj77YJ07Nyj3mT3nnHc1apSiW7fw6WbVqEY1/rpITIzx9tsnOuSQJ3TqVH+fUhQgLi7S5Mmtde8+15VXrnTXXeEn2EcfzV13BmPe11/RtoIx5Q2nsWV70Gdt+oM0LLPWiYzg4SFlpNBEPh5DWYVmB9fg64MY9DPrCnmiTZDISBLpaXXdY6vh1ntIXWc4wBRLtJCqmwblXnuTHT62TKESazVUW13fyHa9f+vvQIfprkYZ0RMlTgM9NdBTQKktFljnG4u85kd3S9JAovoSpEtUX5L6EtUXr45i+QrlKJKjoOxvoRxbLbHRD2pqLUNfXVy9y8g6HIoV+8THfvWz052lbhgfoif9oqY4o7Wt1HavrUZI0KZCKkNuCa9tDFZyq4jPltKmDuGy5n9dSnot0qs45TVraNBg7+qfwsKA2Nj93xmuJoSq8d+Gb75ZZcKE77RpU8fw4W00apQiIyPFv//9reuvn+qll8Iws0hJiXb55U1cc81SAwbU2qPSok8fBg3iX//i6acrt0dE8PC1tB/Be1MrG0z3asMlgzj5cWZdR3xIODm5JbM2MeozZg4nqawtLpK3GnPEMs5cw/MNd8eFHpI8r5HTrVIg4KyQypHDtNJEijvNtNQWZznIIbpaaYVcuY52jGTJsi1Qs4wwmuU7663TRht99POD731git4ybbbY796QpJ5GesjQXc0/MaMhoFS2BbtIoELbNNBVR2PVd3BYW40sWT71sSUWG2q4A3Uqdz75iv3b9+bJcru+WoZ4HAUE3GGjSSXbvBrVROtA3K77uqGYn/I5ryw+f5zLsTWoEcXGHRzzGdcfxIAKe/bZ2zn1Ke4+nvZh9vOfeoPFK3jn4arvwyWXcPbZtG9f9TFQVFTqxhuXueGGZmJi9p/QWbZsi08+WeyJJ/ZtM+uvhGpC6E9GTk6B1NT9J4Ti4iL2iRBq2HAvhFBLflhY+fGPF/PVSm7uS25h0BQsK49thUGT6dQcnl1XnhCC4yX5txyvyzVGeVOAMTL9aIPn/OZvys8MY8U6xVhvedOD7tNbX90cJjrMRy5afJk6qI9C26z1ta0WybFEYdlEOPi7VYkCUeJFaihLXfniNdFQRwMlamCpLQ4Qo5XW4sR5xAT1pDuorDJAqVKRIi20QCON5cmTGOKZkC3f834zzSqjtHKSdmLKyK4SAU/Y5k5bnaOGy6Xukl/mlfD3hXy8mY860jPkPq7KYcSr1I7nozHlyaDcHRx3Y5CN//xekits8BYXc+JJwV3T55+rWmo5e3auMWMWee65Fg47LPzO81VXfSoigqlTx3nvvQW+/36Niy/+yKWX9jB8eBtbtuR79NFZFi3a7LPPxoZ/oWpUoxp/eTRpkurNN483ePBLMjPr6t272T71q1MnxpQpbR122G9atoxzzjnhCfnzzgtWGxk8hJkzyu9KR0Rw/3nB9LFeF/LxXbTM2N02YQhXfMphzzD5eHqV+au2TgiSQsfM5fA5vNGeZvFBs+nL1dRerItkGSzF2Tp72hzzZRurA3jGr9bYroM6+mpimwLvWuI4aXo72Nemu989DtRJT72khShxIkSqpZ1a2sk0zg4bbbN812bGVgusNV2edQrliBQjpmwTJPS3jo46Ol9SGMVOKAIC5pvnQx+IEe0MZ6kThgyaaY1pVpmgf7lUAlisyGR5vgzzWv/ZRJM4DgnjE/TxEo6sQgH00+Kq1UEE1c8NG1bdvhN/lBBKTY2zalXOfverRjX+N2L16hzXXPO5nj0bO+ecLtJDSvsNG9bGjBmf77H/+PEZ7rtvpSlTsgwfvmfT+rvvpkOHYGzuEkbl0SCNey8Lpo7NPYSUCrHhupF8MpcrJvHgyeXb7urKoA858yte6bOb+EmJ4oMm9FjGVRu4I2S4OESilzR2qpUKlDo/JL51VM+9BrjN164zzaW6OcFJpptmomcNNUIzQSO6+eZZa42mmupUZqifpp4oURo5RNOyTet1ZltlhqmuBjU0kqJRub/JGoisYlldotB2a+RYZZtVtlktx0rbrBYpRoZuOjtHuk6VitzsxBqrfWW6eX53gI7Gu3DXBsROrLXdHWZKFO1e/dUMIZRKBdxkg2c2RWuV11xU/UgRsUGxQFQEXRJYXsTl6/kyjxvT+DSXV7bw1EwOS+OyCoVsAgHOmUjnJpzbt/I5r17PpXfz6j3UqCJL7v33+fZbXnwxfHsonn12ndjYCGPG7KUmfRV44onZhg9vs88eiH8lVBNCfzL+/0gZ+3FO1e2dWvJcGEOumvE8PpsjmgTLnK/dHqwEkltIUSkDmvL6Rh5qRXJIulK0CJdJdastRksSFzJpjBbpMl39w+c6qqu78jO5WLFOcJLFFvvQFLN850iDtZNZJbseq4amBld5fSUKRYrxjsmSBXTSygxfqydBJ820lldOjVRXXTvsqPR6yyxVU81dZFCRUu9Y5BXzdFbPowaoH/I8yxS7UJZ1SkxST9cQg81FOzh2bnDw+uFgGoa8/T+uZfirDGnFo0ODiqydyM4JmqTGRDP1PlIrDKAlJZx1dtA76Kvp4Q39YOXKAiNGzHfttRlGjw7j5CZYkjQra4dhw1qD4cPb6NKlgbS0RM8886OmTVO1a1dXq1a1nXde1yrvfzWqUY1qQK9eTd1//5FGj55k1qyz97lyU+vW8SZPbm3w4PmaNYtz5JHh+916K6tWB0mhTz+hbsh6JTKSJ//JZY/T8x/B6mOdg6FNRAR3DaRVbQa/zGPDOLVsv6JhHF924pLFHPwDL7ULViCD4RJ1Eesi2U5X5D6HKbFRtny1xUuXaLpVesrQQJL3LbFZvn+WpQo01cwmG31tukdN0Eorh+quueaVPHsSpEmokLq1EzvHuD+6A73eOh943zpr9TfQwbqELZywTq4H/WC8g6RXMJKGu211nCTNwhidPrsumA5dUVQQCPDR4uBYFw4/LdkzIbRTIbQ3BFPGqhVC1fhrY/v2QtnZO9x44+6VeG5uoV9/3eCKKz51zDGZAoFAleqfpKQoV13VxLXXLjN0aJ09ep82b87FFwcNpqdPD6/iO/2YYOrYFffy6PXl22KieelvdL4hWJJ8SMgeckwkr/Wlyzvc9yv/DCEdGsTwURkp1CCaC0OmuAdK8IomTrXSVqUulya6LG6mS3Knfh4223k+dLIDDHO4dOmWWypdugQJ1lsvVaq2MndtWG+3XaxYBQokShQtXiM9NdJTiaIyQmeVHKtstcwqX9lmtRJFIqrwiQsoFi1BDRllJFJjGbpL0UiyhlUSSQEBSy0x3TQrLNfFIf7hIjUrVDYrVOI/5nvTPIM0d7pOuwojQL5S/7LOfzbFyc+urXlyhDs3cX99ksoOi8R1GzkyiZ/L4nTDaKbPZ0M+bw+o/L4/9xXTF/DzTeHHg3Nv4qh+DDki7OUpLAx+rm66ae/ecfn5JW6+ebl77mkpKmr/439hYYmnn/7RCy+M2u++fwVUE0J/MrZu/X+cMtZg7wqhhavJyycxhEA4pGGw1PmEWdROCJpuDmlFZt3gxDkphs4/MGljed8bOFqiB+V40XZnVmCjMyS7WBd3meU8BxmocrnLllo613izfe9tb/nGTCMcFVa+Dssss8A8m23WW1/1Q3Yoo8TKlm2ttU4yRqpUESLM9Zs66misiUDZT4kSuXLVLDOeCzWOjhK1y2juW6s96TcxIl3jMAfZbbYUEPCiXDfY7DhJXpYmKSTIvr2J0+ZzRv2gN0WogvHd+Yx5i3/14vIe5YPlqo0ceTltGvHKtZXL8BYXc9o4fviBzz6t2lNh27YSw4cvMHx4TZddVvVMOiYmyuGHNzFlykI9ejTWunUdDRrUcNRR7cycucqMGSt17JjuuOM6VPkc1ahGNaoRir/9rYufflrnqKNeNWPGGZKSqqgnXgG9eqV48snmjj9+ka+/bu+AAyoTEhERwWqKY06hb79gHKwX4oMXGck9fw+mIPW5hLdvpk+IkfHfutC8ZrCi48IsbuwTfM64SB5uzWEpHDeXSxtxXdNgylkD0V6V5nnbnSHLSWroXrZbO0wLrdR0n9k+sUyeYjeUVesqERAlQg4yogMAACAASURBVD31jHKs/gb6xkz/MUmJEu1kytReS63EVFFJZieq2h3eG7bb7nOfmuNH3RzmBCdJCOMpRNBE+gYz9NNEb40rtc9V6AM7zFB5TFmyg69ygmnRlZ43m7XbqKrq9U+LGX901dewdi0N94kQClR7CFXjL4+2bevKzy/24os/q18/WUxMpNmz1/ruu9WOOKKp8eMP3avp7t//3tDdd6/01lubHHtseJJ6J666imef5bXXwhc2iYjgiRs58GhOHErvCnuLLevx0Mmc/kyQQKgXItKol8B/+tHnA9rVZFhIWGoTx5TGDFpBYYBL6+yeT7cX73VN/N1qP9rhQQ01LIux8aL9Uzc/Wu8JP/jUUn93sJ5aihatVKlf/OwIvSWXZUBstcU0X+rowHLZAzsRJUZNzXelm+1EQKkdspQKX/0wSqx4tfeZ6M+Xb6EFZvhKtmzdHGa04yvZb8Bsaz3uR0li3KK3thX8hhYpMN4asaWRbouvp13jCKX4dza3bOT2MrFNuzh+bsEBof6mG3h5AbNGklxh6Fq0nn+8zKTzyr+XO/H6h3zzE7+/V/V1PvwwMTGcc87e78mTT65Vq1a0447b8+e0Krz11u9q1Ig1YECLP9T/vx3VhNCfjD+aMhZUCAX2yOaz95SxBnWolRzM1T80ZMIWFUlaEhd1o28VFVdPr7975y8UkSJcJdVFsg2VoEGFj83hMtQQ61bf2CDPydpVCnqRInV1qI4O9KUvqgyK2+T42nT11NNMMx+Y4nBHaK31rnSvVVbKkKFUCYI7s4ststJKjTVRrFiMGDN8LV68djLLkUF58uywQ5Q0V/vKIpudqr2hmosKIXvWK3GJLL8p8rS6+oRMrosDXLuMh9fwdBtC41MgwIPfcs0XPHcUoyvkxM5bwaDLGXQIj11c2UC6qIhTTmXuXKZ+QXoVysji4oATTlgoPT3aww83C/u5KSkpFVVWCmDAgBamTFnolVd+dcIJHbRpU0ejRimGDWvts8+WGjeuWGxs1B9y7a9GNarx18QDDww2aNCLxo172+uvj97n+HHyyXUtXlxg2LD5vvmmgwYNKhMhMTG8/FKQHO/TN0gKhSpIIiK4/ETqpjLsal64kmNCdiIHtmTGGQx7hUWbeWYk8WXD16npdEoKqju/3caL7agTE/ShGKeG3uJdIMsA6zyotq7itVXbOQ50r+9FilBTvBKl5cYNSJFikCMNMNAqq/zuNx94X67tWmsjU3tNNZMi5X/kRbHDDisst9wys3ynuRbO9w91whiQ7sQs69zhO2NkGlWhSihBcusqm42VLCPMFPH59QytTXoY3uqjxcHKpYlhOK/SUn5ZwoF7mIuvWctBnapu34k/njIWX00IVeO/Cg8+ONjTT/+ooKBEaWlAXFyUESPaOOaYTAUFxRYtyta6dR3x8eGXe/HxUa65pqnrr1/q6KPr7lF5kZzMHXdw+eVBk+nEynyJFo255ULOupafJ5NQQdl+Wk8++IUxT/BBhflv1zSe68UJX/DeQPqExPpuiUxtypAVrCnm3vQgiU+wJP07mrnRekMtdbcGBoZsXneW7iGDTLbADabpoZFxDhQvmEWQXrbpvMEG00xVU0099Nzjfa+ICJESq1B97iuyZJlvngXmW26ZWmo7RFddHLKraEEoNsj1lDl+sdGpOjpSi0qpv2/Y6pqSDcZFpfpnZBpJEWIiguuUY1N4YSsPZu1WXrUui+tFAd5ZzviZvDuQVhUIn7wCjn+UM3sxuEIaGWzazAW3MuFf1KliQ3vjRm68kTfeIHovbEReXonbblvh0UfDF6TYFzz22GznnNPlD/f/b0c1IfQnIyenQEbG/lcPiY2NCBo/l+z5i9GgARs2BBUk4Y6LiAiqhH5aXJ4QgvMOIa6sT0lp+ZKBgQDH1QkaIs/NpX0FEnqwRAPtMF6WSeqJrBB0Oklzt96u87UN8lygczm54k7Ei3ekMDUJyzDLLMmSDSwr67jVVj/5UWutRZY9X6JEuXIVKULQxLqW2jbaAGLE2GSjH802zpm7+kGxUl9Z7Sc/W+ogg7V3pa67SslDkYDnbXe3rQaIN1UDNUOeY10hY+axtpBvO5MZMigWl3Lhh7z5O5+P5dAKBmvf/R4sLX/OCG45o7LEsrAw6Bm0dClffF4+TSIUgUDABRcss2JFoa+/bh/WXG379kK33DLNjh1FDjwwXf/+Ldx6az///OfHsrN3aNu2jhEj2powYZajj24rLq46HFSjGtXYP8TERJk06Thduz7pllumufba3vvc95prGlq0KN+IEQt88UWmGjUqy+2jo5n4PGeeRe8+fP4ZjSr43Z8xhDopjLmVrBzODvGLbJ/GN2dw9Gv0n8jkE4KbI3BgMt8fzLj5dPmB1zM5tGzi21yMt6V7xDbH2egkSc4Q6w0LDNJsV3XNimRQKCJFalL2M8hg660z11xfmeZNk8SJU0+6dOnqlf2mSQvrtQd5cq2wwgrLrbDcRhvVVlsTTZ1kjBb2XEb3A0s94WcX6+II4YsGPChHlhJXquwKXVjKM+uCFTTD4aPFVfsHLVlLUQntwnuJI7jZNaTqjPHd5/E/MJXeurWaEKrGfw8GDmxp4MCW1q/fLj+/WNOmu1ffy5dv8corv6pbN9Ell1Rdy/vMMxu4884VXnttg5NP3rM3yymnBFUdd9/N9deHP+aCMbz6PtdP4K5Ly7dFRPDkOHrcxmWvc/9J5duPa862IkZ+yqeDOTSEY+mcwIzmDF7B2uKg0XRcWfhNEOkODXSX5GJrHSfPldLElcXnGFGOk6mPpp4yx7k+NMYBmmtlomc101yhQnHiHGM0ymcV7MSPfpAoUW111FKryli9NxQpslm2LFmWW74rK6KZ5trJNNLRaldRMGCHYu9a6A2/O1xjjxkitQJhlKvUtdZ5c3OURtuaWxAd7cMaDEgKVmyLiKBvEhuLeW87hySwo5T1JZyUwmerGTuN1/rQt4JqMxDgjGdJjueu48Nf38V30OMgjttDPL/2Wnr3ZsCAvd+vRx5ZLSMj1lFH7dnrqir8/vtGM2euNGnScX+o/18B1SvAPxk5OQUyM/f/A7tT/lxYWCq6omQkBPXrB7+M69eTUUV19p2EUEWM77rbwyYqMlgedmE2G3NZuoUAxqZz50qeb1e5/+1q6W+dR2wzXmV9YFMp7tPH9Wa4wQxX6yZxL/L4iogWLdf2Xf+3095nPpEtS+2yXc966ilWLEeOetJFlllwhjLoH/vQYbrLk+c3v4iRYKkE71gqVsChurjUIKkh8stged58N9osEo+oo3+IKigQ4OUNXLA4uEP6dofyfksbchnzn6A/07dn7i57vOucZnHsDUEi6MJjK197QQGjjwvK5j/7tOp82kAg4MorV3rvvS2++qp92PLy0L//REcc0UStWgnmzdvkpZd+cfXVvbzwwiiPPjrL1KnLTZ48X9euDV122f7thlSjGtWoxk7UrZvo7bdP1LPnMw44oJ5Ro8LkE4VBRESEJ59sbvjw+UaOnG/KlLYSEyuPf1FRPPN0UFa+kxRqWiEt6aievH87I69hwxauHrObcE9PDhL0497m0KeZNDqYRg2p0fynPfesos/PXJTB9U2DC40oES6QYrAEN9hsmFwnaeAkLcWWLRRKBSptkGTZoVip9JDxJUKE+hqor4F++itSZJON1pf9zDfPdNPk2Frl/YoSpaEMTTTR30CNNdmV6rAnBARMNNcUS9yspwOqSNeepcBDcrwrvVxq9E68vIHEKIaHESAVFPPFMm7rF/4cflpM+6ZBL5GqsO+m0tVl56tRDSgtDYiMjJCcHLvLVDo/v1h8fLSmTWs66qi2Lrjggz0SQrGxka67rpkbbljm+OPT9liOOzKSBx4ILuLPOIPGlTNORUXx9M0cemKw4tgRFQpRpiTw9gUcejMHNuL0XuXbz2gTJIUGf8SXQ+kYMhduEcvXzRi2IqgWeqsxqSFDxlFSdBJvvNVGW2GChpqGpOGmSXSVHmZb5xk/yVGgn17SBGRqLUWKGDG7MhIqYoXlVlohW7YSJVLVVKfsp5baVRJERYrK6J8s2bLkyBEjRm21NZRhoCO10DKsEmgn1ss1xSKfWKqhZDc6QmaYWP6bfBdYY8fWFHFZdTzSKMKbOUzexkfbmVBG8CRHclIqRRi1MkgUfdyEr9Yz+nOeOZzhYQj826cwc3GwxHxsmMt94yOmfMkvb1ddMfKnn3j+eX75pcrL3YVt24rdeedKzz/f7g9nMDz++GyjR7dXt24YWVs1UE0I/enYvr1QcvL+ewDEx5elM+WVhp0Q70RMTJAUWrq0akKocyseeqvy4/nFPDOHUzqSFEvWDs57n6apQWXLl8v57gI6zmb8NrpWEDoli/SoOo6xQXPRhoXJr60jwV2OcLtvXeQLF+qiwx7k65X717HQgl3/p0uXL1+Bgl0BOkWqdPX94mettBYt2nzzHCKYsPybX80330Ybfe9nW0WaK0FdDZzjQIdpWElWuVSRq202R6HLpTpV8i5zOsgu4m8L+WprMEVsVIUY/N1qRr3O4Y1583gq2kg9/xHnPcgTlzAmDBteUMCoY8jODhqoVuUZBLfdtsbzz28ybVqmpk3DDx4zZ66UkhLn7rsHgTVrtvnww0Vuu226Cy441BVXHA62bMlXs2YVbtXVqEY1qrGPOPDAdBMnHm3s2MmmTk3Vpcs+rOwFFyNvvdXGkCHzHXvsQm+/3SbsYj8ykscf54ILguljX06lSYXJ6hGdmPYAg68M+rT9+x+7UxISYnjlWO6eQe/neWgwZwaLyoiI4LLGDK4dVAu9m8XLmXQs43Nai/GSeqba4XpbfGKt29XSW0IlMghmW2+COQ7TQH9NdJFeSTEbI0YDDTWoUIyhUOEuf7uKiC772R9slGeCH62wzb36aCy8gnmRImfb5EqpOobxMdpcxI3Lg35L4bJK3l0Q9CfsWK9yG3w3Lzg3qQrFxcHKchXVX+GQl1e6a860P0hOjrV9e+F+96tGNf63IjIywpw561x88Uf69m3m0kt7SAzJ2ezWrZHY2CgzZqzUo0cY9qYMY8emu/POFR57bI3x4/f8JezenWOO4aKLguk+4dboHVpz5yWcfBnfv079CtlULevx+rmMfIimdelXYQ/hwg5BUmjAh3w2hANCPJTTovm8Gcevotcy3m1M05CQ1UysNzV1h42GW+YyaU5Ws9ycvov6DpZujvXesdB7Nugp2gittRYflgyCowQNiUuV2iZHlmzZNsmSbaUVSsqsLCoiWrTaauukk9plBFKyGntNGQ4I+M0m71joe2t109C1DpepTqW++Uo9LdsEWc5Vx5r8OpJTI3SKp10sP+RzZxa3beTqsvcjIZInNtMpnjca8ctGRnzCA904IUx676RZQUJo+lXhfYMWLuPs63nqJjKqEJuVlASr1V1wAa32MCbsxB13rNC2bYIhQ/biOl0FtmzJ99xzc0yZcvLeD/4Lo5oQ+pMRGxulsDB8QNgTEhOj1K4dbfnyQnXr7llV06NH0OX/8MPDtw/txpn3sHQtzUOkfjXieOIHzigz3mxRiy35wYogXRrSbyKR+dzcNOir8MPBVDyVg8V5TB3nyrJdqRPC7E4minGDHiZb5BpfyVTbIM1011BcFQ78O1FPPdttU6BAXNlPoQL5CsoF6O56eMdkk7xmu+2iRcvYJYFP0tRQM22zWYGeMlyhqQ5hmPR8ARPkmCDH8ZI8qm659DD4YgunzqNLDX49pPI9eW4O53/ALX2DHk2hg2MgwO0vc+ervHML/Q+ufM2FhRx/Aps28cnHpFZW6u/Co4+ud++9a335ZXtt2oQ3DIXGjVNt3Jjrww8XGTy4lYYNazjmmEwREbz//kJDh7YWFxddTQZVoxrV+NMwalSma6/NNnLkq7777qx9Lu2alBTl3Xfb6Nv3d+PGLfHiiy3D5vlHRjJhAuefHzSa/nJqZQLhwJZ8MyFICh17Pa9cs7vAQmQEV/Tk0IZBs+kf1vLAkbuVsx2T+OYgblrBYT9ye3MuaLg7pveR4DPxnrHNGTYZKMGNakmvMK4N0kxHdX1omUfMUaBELxn6aiJzL8aisX/QVDoUpQJ+scnHlplhjV4yPKSrGlU89y8KnWCDUyQ7JwxhVBpg7Hw6JHFamEl+QTFXfsa1vcIvDgMBJn3J/edVfc7ff09CAm3a7PnaAoGA5csLNGmy/16NhYUl4uL2PAepRjX+r+Ggg+pbtmyLadOW++CDRXr1amLkyLYOP7yJ6dOXS0qK3evnPjo60oQJrY0e/ZtRo9JkZOz5+3XffcEy9C+/zJgx4Y85/+SgqfCxF/H5s8RVCD/92/PwKYyawNTL6VxB9fmvTsHY0+d9PhlM55C95eRI3m7MRes4dCn/aUzPkD3qOJGul66PJDfaYKLNrlFPn5A1S4QIndXXWX2rbPOehf5lqmZqGqyFLhpUSsXaiUiRUtWUqqYW/nyT4iw7zLLGBxbbKM8gLTxuiLQwG/EBAe/Z5g4b1BLlhUBjh0QkeiEuWD5+QzH1ojk4nrNq8twWfsunQzy/5NMjgX834Iu1jPyEew/lrLaVz+nT3xj3dNBE+qAwyqGt2zhqPGcdy7GDqr62++4LWp9UlXIYil9/3e7++1eZMaPzH1YH3XvvDJ07N9gjIVoNe0h+r8YfQmJijLy8oj/Ut2XLOEuW5O/1uH59+ezzqtvrpDKwC699UbmtZlyw7PxOdEgLkkJQL4mZq/hnIw6twUm/UxKm8NlgiSZKc7XNnrQt7DlEiXSsNp52pIOle9nvTvW+h82x0GYB4SuqpaknWoxf/ASKFUtVU7Roa6z2vVmKFEmWbJjhWmntUN10M8Q0WS72uavMsUqEsTp4yTAX61KJDMoX8LxtDrfGR/L8Rz13qV2ODCos5cqljPiVa5owuX15MqioJOgX9M9PePsELj6s/GS4pITzHmDC5OCudTgyKDeXkUexejUffbhnMui117JcfvkK773XVseOVcseA4GAhg1rGDWqnenTl/v11+Ab/v+xd95RUV1fG36G3psUwQKCvWHXqNgVC3Y0GsWGNbYUNUax9xJrrLH32DX23mNXNCqKiCJIl96Zme+PAxFxGmh+X6LzrDVrhDn3zmWEc859997vtrIyol27sjx4EMXjx9HK30iLFi1aCsnYsfVp3dqN9u13kpKieTaGpaUeJ06U5/btFEaNeoVcrniNkEiEKNS8GTT0gMDAD8eUdIArSyEuCZqPgZh8VVhNS8HtQXD1NbTYKsp9c9HXgRkucKIK/BIK7f6CyDw/hh4SBmPBVRyRAfV5wwziic4XGXbEjP5UZiOtmUg9ZMiZyjV8OclmHvGIGNKVdKQpLFGksoMnDOQkc7iBJYYsogk/UEupGHSTDLoQybdYMAErhWLVrBB4nApby70zcs3L8psi6zg34yo/N57A20RoXVvx6wBnz0LTpkL0U0VsbDZJSTJcXQsuCKWmZr2XPaFFy+dC//7VaNTImZMne2NkpMf06RdxdPyFOXOu0KBBCY0yNlu2tKFDB1tGjlQwqebDzg7WroURIyAkRPEYiQR+mw6ZWfDtdCEM56dfQ5joBa0Xi65V+Y+fXB3GVoHmx+FWvm2rvgRWOMJkO2j1CvyiRBeyvDTGjJOUohdWjOYNfXlNIB+WjRbHnKHUYCPtaUBxDhNIXw7zI2fYzl8EEItUyX3LpyALGQ+IYhMPGMUpfDnKOV7RhtJsxIt+VFUoBt0nDW9CmEEU32HLYVyoJRHjiulDghRupkGGTJRBVzGERBkk5CShVjESYtDJUJEZ9OtXMFiBZcjtYOiyAlb3gbZVP3xdKoVe48DZCeb+oPznfPAApk6FLVvA9MOGae8hk8kZPPgZI0cWo1q1gnvzAkRFpbBkyQ1mzWqmbZijBm2G0CfGxESflJTCCUKuroa8eKG+vr15cxgzFtLTwUhJgsc3zWHWdvip5/siRdkicCoI3KxFiRhAbpJIp3KgpyPGbywLde6JTlqzFXQl88CI3djzDdEkIeN7Jd1SbDDCm7J0pQwBvOUkLxnPZRwwoTElKIk5RTGlKKYY5/w6NqIxATzhOc95SyyuuFGCEoQRijXWxJJJIJE8I44AknhOPDq8oBzWtMSF6RRXuvlNQcZWkllJEtboMBErOmDyQQnZrSQYFii6id2q8b5xNAjfpe57RdndrYEi2yovqenwzSx4Fiqi1SUVRFVjY6Gdl5gUz50FCxXB9JMn4xkw4AX79pWhfn3VE6NEIkEiAW/vikyZcoE1a27TuXMFPDxKYm9vSmpqlnZi1KJFyz+CRCJh1SovPD230bv3Afbt665xVw97e31Ony5PgwaPKFJEj2nTFJcu5JaPjR8PDRrCieNQI5/gbmMBpxaAz2yoPxJOzAXXPPdELlZwtT/4/gG1fhNm0zXyZNR6WIJ/TRgaCFXvwBI36GH3bj0tih5rseUWGSwhgdq8oRemDMcCpzxbKx0kVMGWKtgyFHduEclFXjOblySQiQsWlMOasthQFmtKYvHBeqSILGREkUokKbwhmeuE84BoquOAL1WogyP6amJ+50nDlximYkUfJaVkJ94KX8Gr1cBagZYSnQIzLsP+bu83qsjLllPg3fjDDIG8nD0H3bxVXi4AQUEZODjoY2pa8EyflJRMrSCk5bOkZ8/KdOu2h8mTGzN9elPi49MJDU0kLS2LcuU09zVdtMiN8uVvcvBgNJ06qe6a1akTHDsGX38NFy+CgYK/b2MjOLgcanWD5dtglM+HY8a2hqhE8FwEV34Gx3yWCT9VBSNdaH4CNntAZ5f3Xx9uA41MwCcMjiTBlmJQNc+9kT4S+mNDZyxZQgxevORrLPkOW2zy3Qabok9HytKRssSRzn0iuUM4M7iCHDnVcKAMNjhiRlHMKIopRgW8lU4li3CSiSCFCJIJIJYHRGGEHjUoSncq4I6D0vsYgHCymE80J0hiEDYMkhfBDB0kEnHfoieBZqZwMQV2JICJjvja2QAsdIQpdy7rn8Go67CuAfRU0BTgWQS0XQJTO4JPfcXX47cUnofA9Z3CQ0oRiYnQrRuMGSPKDtWxZs0bIiIymTLFRf1gJcyde4XGjZ212UEaIDl//vw/J3mqISUlBS8vLxISErBQdTf8H2L06OPo6+uycKGKfDklTJz4mujoLNauVZ1+KJdD8RKwbauIqCkiLQOKdYdDM8Ajj5r7VxTMviLMpJ3M4KviMF5J6dmTVKh7D7aUg05K1pMnZNKdKOpjxCSsKK7BxJhGNlcI4wbhRJBCOCmkkY0VhhTFFAdMMCCVFCLJxIxUTEkhm1SySCGLdKSUwoKy2FAOa8phQ3HMVW6iE5GxgSTWkkQJ9PgOCzwV+D9EZMKEYNgVLTKl/Eq+62KQy5+voed+0UFsYwcRGc1LTAK0nyjKEA7OEDcm+QkNhVaeUKECbN+mXNgD+PPPJFq1CmDt2lL07Kl+Yc/baj48PIlZsy6TmJjBo0fRGBnp0ahRSebM0cDWX8v/K4mJiVhaWnLkyBFM1YVSPmM+x3XiS+Dt2zTq1VtH587lmTevZYGOffw4FQ+PJ0yZUoxRo4qqHLtwIcyYCQcPKF4PpVL4YRXsOi9Mp2vmK0mSy2H+NZhxSfgK9a/2YdnvzmgY8wLcjGCpG9RQoJ08JJMlJHCaNLphykgscVGxHsqRE00az4jjKW95Stzf2bPmGGCCPiboYYr+3/+WI4xFw0khljR00MEBE4piQmXsaEFJiqC8lDiXFGSsJonlJLIIG7qgeH4JToNa94QY5qPED2LYUXiTBId6KH49OQ2cusHpBVBXidd4WhpY28ADf/UlYzt3xrB8eSTXrlVSPVABR48+4+efz/LgwbACH/tvRbtOCLTrBAwceJhRo+pStarqTmHq2Lw5gokTX/D4cR0sLFTv6dPSxM1906aweLHycdf9ofkAIQ61VCAqyGSiHOlBKJwfB9YKfpX3vYT+l2FEBZhR40MBOlMOM6Lhl1iRNTSmiBBG8vOcDGYTxS3S6IolPbCkPKrtE6TICSKOu0TwknjCc8ScNLKxxggHTHHAFAMlthgZZP8tACWSiSn6OaKSKa5YU5OiuGCpspxYjpz7pLOLeA6TSCvMGYcds8L1SZGBBJhlLzKD8jI2EsKyREaVmQ5cToXTzmAlEULQ/leim1gzBUlkYXHQYDZ8XQfmKWnQteMIDJ8pxKByChIIQKyjPXsKa4yTJ5WLRn+/b1gGFSveZM+eSrRqVTjvoNDQRMqWXc61a75Uq6Z6H/G5o8k6oc0Q+sSYmOgXuq2pq6shN24kqx0nkUCzZnDunHJByNgQ+raCtUfeF4Qq28NvXuAfCcmZ0DKf9iSXv9sMVzCBDWWh71O4ZQJlFVQpVcCAkxRlFvE0JJxBmDMKC8xVRCaN0aMlzrREFAzLkZNIZs5kKTa7GZhSHCdM0MMEfUxznk3QwwkzjRR5OXLukck+UthNChUxYCVFaIzRB5NupgyWhsGMEGhlDY9rgUu+9SE1C/zOwZq7MK0x/PjVh34JL94I7wp3V9g6AYwUCPwBAUIMau0Jq1apnhgfPkylXbunzJtXUqUYdOhQAAkJGdStW+y9aJCjoznLlrXh5ct4Xr9OQEdHgoeHs9LzaNGiRcunwMbGmCNHvqFevXWULVsEX18FNbNKqFjRhGPHytGmTQAdO1orNc8HEW20tYX2HUR7+i5d3n9dVxeWDIcSdtD0B/h9ErSp++51SY6vUDUHGPAH7H4Ma72gpOW717+xhw5FYHYINPSHXvYwywXs88zvVTBgPXY8JYtlJNCIN3higjcmNMX4765kf78vEuwxwR4TGiI6REiR8YYUkskkhSxScwIhuc9yoDK2OVm1JthgrFE2US5S5OwihXkkUBxd9mJPLSUeGWlS8H4CPe2Vi0EPI2GTPzwYovw9fz8Pro5QR0EZmATN9AAAIABJREFUQi7Xron/wzJl1P8MQUEZuLkVvFwMtCVjWj5vpk9virHxx9/W9enjwJYtEUycGMzy5ar/KI2NYc8eqFULPDw+nH9zqecOKyfB1z/Azd+hdL5tqI4OrO8P3VeBx1w4/j2UyKcDdHWBilbQ+SzcjoGdTaBInn26gQRm2EN7c+gTBoeSYIsTlMk3XZTGkA2U4A6p7CCeTryiAob0xAovLDBRcP+iiyQni/PdReXeu4hsn2SiSCVbSUMAfXSog9PfmUWqsn/yk4CUgySyk3hCyaITFuzDmXJyI3qECpP/8baw4i10eg1rHKGakRCIJBKYZgfPM+GPJMgG7rhCRAo0yrEeudsBSihoVvnkjSjl86wEc5Vkb97+CwZPgb1LlItBACtXwqVLcO+eejEIYNSoQDp0sC20GAQwc+Yl2rcv98WLQZqiFYQ+MSYm+oSHqxd1FOHqakhQkGZiUvNmsPY3mDFD+ZhB7aDmULEZLpLHm8bUAJRlz+UXOLzt4EYSdHkMN6qDoixtJ/RYgS2DyWQqcdTlDWOxpDdm6GuwWZUgwRJDLDGkHIX/48/lBVnsI4V9pBKDlHaYsA076iqIAMjlcPQt/PACjHREK/mmCjp8nQ+GgUegqCncHQSKMnB3X4Ahi6CfJywcqnjSu3UL2rSFIYNh5kzlLRkBrl9Pol27Z4wZ48i33yqP+AwYcIiQkATc3KwZN+4048Y1oEePyjg5mf+dLeTqao1r/ro2LVq0aPkHKVu2CPv2dcfLaydubjY0aeKi8bF165oRFFQNa2v125R+/cDGBr7pJUpxBw16/3WJBMZ8DcVswXsafN8VpvR9vwW6Z2l4NAzGnIbKq2BeCxhS851njpmuKJ/2LSqyhcreEu3phztB3qZo5dBnBbaMJYttpDCBOFJ4SwdM6IoJtTFU2JkMhPeesi5gH8t50phGPKnImYk17TFWGo2Wy2H4c3GDtUhJwrJcDj+cgm9rQRkVjUTXHoHBXqrXunPnRCm8JpXML15k4OpauGYIqalZmOZP6dWi5TPByenTzB0SiYQ1a8ri7n6bXr3sqVdPhbklQsjdsEG0oa9aVXnnqL6dwP8pdBgO13eBRT4RQl9PGBZ/uxW+mgUnvofK+aqGK1jBzfbQ7zLUPAz7m0GNfPvxOsZwzxUmREH1FzDWFkbbgFW+PXlNTKiJCZORcohENhDHdKLogAVdscQdo/c6k33wOeW5dylfgG7KmpCBjDuksZcEjpJEJYwYgPV7glU2okvYnJysoN+cYEQ4LIiFBQ5QPEf7NtERJXS5ZXTnw+Hr89DZGZbVA0V+41eeQYflMLwpTO+seG4Oj4ZOI2HqcGjtofxnuXULxo2DEyfAQYPktYMHo7lwIZ6AgDrqByvhxYs4Nm/25949FdEKLe/xSU2ljxw5wogRI/Dy8qJTp05MnjyZN2/efMq3+NfzcabSRoSEZJCVpVhhzkuzZnDzJiQp9nQGoKIL1CoHW08X6nL+Zk4psNMXnbbSVVyaOwbsx57F2LCOJJoQznFS/1EjNhAdVZ6QyRoS8SSCxoTzmCz8sOIvirOUIh+IQXI5nImDlg9FBtT3xURXtfxiUGKGSIlvvwtG14FL/T4Ug5LTYMB8GLoY1o+BxcMVi0FnzkDzFuA3EWbNUr35PXkynpYtA5g2rRgTJhRTOu7YsUDu34/gzJk+rFnTnj17unHkyDMWLrxGWloWuro6XLjwkuDgODWfohYt/xu068SXRdOmpVi2rDVduvzO06cxBTpWEzEolw4d4NhRGDsO5sxRbGDaszncWAGHroHHaAgKe/91KyNY1x72dYN5V6HpZnj+9v0xbsZwoBLsrQjrImBbFApxQR8/rNiV5sTQt/YkZUjoSwx1eMMs4rlJBhn/8NooR85DMulBFEOJpQemXMaRDpioFIN+CRWBkj0V3xe78nI0EO5FwKRGyt///nP46yX0aq76Os+eE80yNCEoKL1QhtKgzRD6L6FdJ/5/KV3aBD8/ZwYNeqbRPUnXrkKY79ZNlJEpY/6PUMIRuoyCdAXxbz1dWNMXhjQWmUIXn344xsIA9jWDYeXB4xhsUuCBbawDi4vCSWe4kAIugTAlCuIUNIG2RJc+WHMcF7ZRAhlyBvAadwLpx2tWE4s/aWT/g/N1JnJukcpyYuhFCO4EMoo3WKDLYVzYjzPdsXoveyldDv7pcC3P5720qOgqtjRn3TqVDKeTRbc2uRwWPgSv0zC7JqxpoFgMOnBHZAbN7gIzuii+V4lPBK9h0Kwu/Nhf+c8VFwfdu4uOYh4qRKNcEhOzGTEikEWLSmNnV3jxfurUC/ToUZny5TX3z/rS+aSCkL+/P61atWLp0qX88ssvZGZmMn78eLKzP20njX8zpqYGhTaVLlbMAF1dCSEh6juzlCwJpUqJFDxVDPGCtUcVb441RU8CuytAWCY08YdwFUlMEiR4YsIFHBmEOWN4S3lC6Us0a0nkMZnIPnJSTUfODdJZRgK9iKI8obQhkrOk44MZDynORuzwwgSjfJvebDnsioKa96DHE2hoAYG1YZjTh7XGxwNFpPhZLDwYCqPqflizfPsp1BgCwRHwYB10UbA5lstFV5yOnWDFr/Ddd6p/vl27YunSJZC1a0sxYoTqVMcSJSyoUuWd5O7h4czGjR25ciWE4cOPAbBnzyPVb6hFy/8Q7Trx5eHrW4Nhw2rRvPkWgoLeqj+gANy9m8Lx4/GsWRNJo0aiFf2y5TDAV/GNSeVScHOlKGGqPgS2nvpwfWzpBn8Ng6oO4L4GfvkTsvPdE7WwFqbTfVREPI/GwqwQCftDDDjjb03/0GLMwpoQsulHNGV4TQcimUk8p0kjXkm5QUEII5vdJDOKWGryhnZEUA59ruPIUCwwVBHxzpTBkEBYEAqHK0FxJbpLplR015ze5F1TCkX8dhR6NAVLBeUIuSQkiJbzzdWIRrmIDKHCCUIpKVpB6L+Cdp34/2fMGFFKsHDha43Gz58Phoaq97h6eqK8KDUduo6GTAW3OxIJTOoAC7tD28Ww+6biMT9VhYPNYcxN8L0McQruTRqYwHkX0aL+cqoQhiZHwVsFwpAECdUwZi6O3KMMeyiJB6bcIQ0fXlONQPrzmvlEs4N4LpLMczJIK8C8nYKMZ2RwnmS2EsccouhNCFV5xlDCCCCD1phzBBduUZqpOFBOSVmvmQ78WERkQgXnfI66ElhWVJSHJUghIqflfGQadD0Hyx7DhTaK28oDrDwHPutg+2AYqkSkT0qBNkPAyR7WTVce3JbLoW9fqFxZlHZrwsSJwZQrZ0IfVQurGh49imLPnsdMmdK40Of4EvlHTaVjY2Px9vZm3bp1uLl9aF3+OZrAbdniz8aN9zl/vm+hji9Xzp/ly51p1UpB3VI+hg4VHap++UX5GGXm0oUhXQaDn8HZeDhYCWprkJ0qzYlQXiGDq6RznQyMkdAAI2pigDU6mKGDGRJMc57N0CEDOW+QEoGUcLIJz/n3G6Q8JhMLdKiHIXUwpC6GVMJAZXlaihQ2RMCiUDF5/Vgc+juAiQJ1/HE0jDsDl0NgYUsYWP3DCU8mgwW/w7QtMNkHxn6tOCsoLQ2GDIXTp2HvHmjQQPXntWJFBOPHv2bv3jJ4eqr/HYiKSsHDYyMdOpRlwYJ3RuYREcn06XOAQ4d6YGys3QD/F/lSzEK/xHXiS0Qul/PDDyfZvz+AS5f64eysfn5Tx/Hj8fTv/4LevYtw+3YKlpa67NlThpgYHby7QUYG7NsLLi6Kjz96HfrNg5Y1YdV3ioWLy69EubCeDixoAW1Ka1baBFD9Dgx2FAGHyEyRZbvAFdzNRPbOC3k2NyUZnEjN4kKsLm8lUsoXyaSssYSi6OKIHkXRxQldiqKLFTqkICcZGck5z7lf/0UWV0gnhGzcMaAhRjTEkNoYKvTEyE9UJnR9DCkyOFgRSqoQepZch9/ugf8Q8bkoIiUNnLrDqfnKzaQB/vhDdE19GqD2EklPl2FicovQ0Oo4ORU8ejx9+kWCg+PZuLFjgY/9t6JdJwTadeKf4fr1BJo39+f+/VqUKaPASDQfISFQvTosXQq9eysfl5AELXyhuAPsXgT6SrapR/2hx2qY2QVGK+lNEJIMQ67C3VhYXBd6uiqfoy+nwLQY0Yp9pA0MthKdt9QhRU4AGVwnledkEEo2YWQRRhYZyCmSM18bKJlr05HxhizikWGChGLo//0ohyFfYUJpDFSaSisiUw4/R8K9dDjnIr4XL4V+b2BHMTAE1jyFCXegTTFRImanoO+AXA4T98OaC3BkNHylpOwvJRVaDwYTYzj0Kxip0OYXLIAVK+DuXVHSrY4bNxJp1uw+/v61KF1a/e+aMrp23Y2joxm//tq20Of43Ph/N5VOSEgA+KImZwsLQ+Lj0wt9fLlyRjx8mKaRINSqFfw0XvzR6SjZlBkbwoDWMH2r2Jip2shu9hfPfd0Vv26kA5vLwaIwaOwPP5WAn0soTykHYcRWDUOqYcgILMhEzn0yuUI6f5JBUp4Nbd4NrgGira9jzkbYEV3qYogjulTBgFLoaTRxhmfAhkhYFiainXNLQVc7xZ0HUjJh+iVYdhMG1YBNHcFWwZwUlwS9Z8PT13BxMdRWYpYZGSmMTvX14e4dcHRUPC6X+fPfMHfuG06fLk+9eprVgtvbm3LoUA98fQ8zZMgfrFnTHgA7OxNiYlJ59iwWd3etoZqWfy9f4jrxJSKRSFi0yJPMTCktWmzl6tUB2NsX/gb28uVExo9/zaxZxfH1tQegc+dnXL+eTKNGFlw4LyLVderCH4ehbt0Pz9GuHjxcD33nQq1hsH8aVMnnmePhDA+Hwurb4HMQGpaA5W3emU4rIygN4rLfZRA5GMDzdLGBB0AuwU2ij1GGPuufQ0cTiJHKCIyTU61MGllG2QRmSzmUKCdeJ51k83RSdWUYI8E0J3BilufZDX1mYE09DFU2dciPXA77YoRnUDMrWF9WcaAkl4eRMPmCKKtTJgYBLN0PbmrMpAEOHYKWGja9fPQoDTMzHYoWLVyQIz4+HQsLrYfQfxHtOlFwsrNldO26m7lzm1OhguoW8sqoV8+SgQMd6d37CZcvV8dA1YYfUb2wdasoE6pYEWoo6SVgaQ4n10Kz/tBjDOxcoLhtfTt3ODsW2i2B4GhY0P197zeAkmZwrBXsCYbRN2Dzc1j5Fbgp+FXxMIUzpnAlFebHQJnn0NgUBlhBZ3Nxn6MIXSRUwohK+e0nkBOLlDCyCCdbaVmZfh4RyAqdAgs/qTLhBZQfA4noqNb3DXwVDAOtYFsCOOvD83gYfBWi00UXMc/iHx4PkJoBgzfDlUC4OgHKK7lXSU4Br29FlteBZarFoNOnYepUuHBBMzEoMTEbH58nTJrk/FFi0OXLrzh58jmBgSMLfY4vlU9aMpYXuVzO+vXrqV27NnZ2hZuI/ou4uloTFPQWeSFrtFq2tOT48XiNxnp5QWoqHD6setwkH3jyCjaeUD2uuDl8ewx+V1FhlJtdc9kdDsRAzbtwS4WPUX4MkFAHQ37Aks3YsR8HTlKUqzjhTzGCKEE4JXhFCW7ixCEcWIMtU7FmKBZ0xBRX9FVOpjI5nHwLXR6B8024lCA2uberw9f2isWgY4FQaZXICrrpK9oPKxKDzt6FKr6izvn2auViUEAAfFVfmOudO6teDJo37w3z5oVz7lwFjcWgXMqXt2XtWi/Cw5MpX/5X1qy5jZfXTmrWdNSKQVr+1Xyp68SXikQiYfnyttSq5UTbtttJSipcR87sbDkTJoTSsaM1vr72SKVivc3KkhMaKnLnDQxEZ5OJE4R324EDis9V1AaOz4VvmkO9EbB0n8gAzYuBrigZfjocbIzFWrFIQRlZXh6lQgnDd40YUqVgrSda/4rPQjwvCYNyxrCsNOwop4O9RBfHBDMmYMWEbBtqx1kR8cQWa//i3M0owUtK8FBenBs4cVTmyCEc2I4907GmJcYFEoPCM0RW0LDnsNQNdpRXLwa12SE6bLb8MEnjb568gpnbYNX3qoNQERGwfQcM0dD38/jxeFq0sERHp2A3U7kEBcXh5vbxjSu0/G/RrhOFQ09PB1dXK4YOPVroexKAefNcyc6W8+OPQRqNb9sWJk0S9ygvXigfZ2MFZzfCyzDw/h4ylLhl1HGF635w9gk0mgcvFVjRSSTQ3RWedAFXc6h6EOb6gzL7o4YmcLgkhJSFlqYwNRocnwlT5nsqPJA+eF8k2KKHO8a0xhwvLBQ+PDGnMkZYo6uxGCSXw9VUGPAG7J/CUyXLpaUuHCwBX1tAaDZ4mkLRN1DvD2jqCA87KxeDHoVBnZkQHCM+Y2ViUGIyeA4WYtzRVSJDSBn37wsvqVWroHZtTX5OOQMGBFCqlBFjx5ZUf4ASMjOlDBlyhClTGuPo+M80Z/ic0ShDaNGiRfzxxx9KX3d3d2fJkiXvfW/lypUEBwezfPnyj7vC/xilS9uQlJRJVFQKDg4qCueV0LatFT/+GEJSkhRzc9W9+QwMYMyPMHsOdOyofONlaQarvxdZLa1rg5MSj63mrrDHG3rsg5fxMK6+8nPWNIdb1YXXQBN/6GoLA4uCh6Xm6fTKKKhynktEpigL+y0c0mQwoCgsdAVXFRNXWCJ8dxLOBMO85jCwxruuMnlJz4QJ60THlF+Gqe6acukSdOoMw4aKLnDKsrdATIR+fqGsXh3F2bPlqVatcBHzSpXsOXy4J0uWXCc2Ng0Pj5JMmKCBg5sWLZ8I7TqhRRN0dCRs3twJL68ddOmymyNHemJoWLBk5dmzw8jIkDF9utjl6upK2LIlmmfP0unQ4f1uiqNHg7Mz9PaBmTMU+1vo6MC0ftCiBvjMgSPXYdM4KJbv3tPWBDZ2hH7uMPQYbH0Ia9pBHQW+/6/S3xdXAlLBXPf9Tp3hGfA4FUY7ia8zZdDBBq4kQm8HcDSA6S5iXd0RBfY5apKORKx3U17CnWSw1QdPaxhZTHHAIz/PUmFjJKwOh7bW8KSWOIcqTgeB914Y8xX4qVhapFIYsAC+7aC6VAxg8WJo2RKqVFF/zQDHjsXj61t4QSAwMJYhQ2oW+ngtH492nfjfMn16UypWXMmmTffp3796oc5hZKTL3r2VqFHjDg0aWNCjh3p/l3HjIDwcWrSAy5ehmJLeKEWs4OwG8BwEnUbA/mVgrKBc1c0ebk6CH3ZB9amwrh90rfXhOCtDWFUffNxEdsyOF7CgNrQqpnjPXlQPxtnC2CLCnHl9PHi8hJL60NQUGpuIDCKH/1FP7tdZcDEFLqbCuRThddTLEi67QDk11mmjbODAKxh7ExyM4UZ7qKJE/5bLYd0l+H4XfNcSpnYUgW5FxCeK/x8bS+X/P7kEBIjqlQkToE8fjX5kliwJ5caNJO7dq4mubuFvIBcuvIa+vi7ffVev0Of4ktHoV3zw4MH4+PgofV0/X/Hnb7/9xoULF1i2bBlFiqhvxTdhwgQMcnIFPT098fT01OSy/pWYmOjj5GTO8+dvCyUIubkZ4epqyJkzCXTurD6SNWgQzJz1rm2rMry+gvZfiU5Yh1S0O29bBi72hXY74UUcrGirPC1cXwcmlARvW1jxBjo/Bhs9IcT0dQCnwvk+aky2XGQnnYoTj1tJ0MRSeDR0KKK6lO1NEiy4BmvuQOfyEPAtKPvv8g8SYpqxAdxdA2VLKD/vli3w7XBYshgGDlR9/RkZMnx9X3D1ajJXr1akfHkVypWGaCfC/zYnT57k5MmTAGQqclv8F6NdJ7RoioGBLvv2dadZsy307XuQHTu6FijrQ19fwrBh725Kbt1K5rffopk6tRhmZrpIpfL3NpadOolMzfYdIChI+O4pKk/wqCqaA4z6FaoMFIGU7k0+HNfYBe4PFmtIk83g6QaTG0H1PNHV+GyxHuZyNh4s9aCUkchi1ZFAYBoYSsAxZ62UyiFR+i6qbaAjspUCUsW59HPWtAyZ6ASWKoNzVeFaIvz6BuqaQ30lpWwpUtgbDesj4EYSdCwC+ypAM2vF4/Oy4R6MPCHEr95qvAiXH4CYBJiuovMMiO4zK1fBqZPq3x8gJiaLmzeT2bu3jGYH5EMmk/PiRRylS//3M4S064RytOvE+5ibG7J8eRsGDjxM+/blsFWU+q4BpUoZs2VLeb755gnu7mZUqKA6eCmRwKJFohNyy5Zw8SIoS+6ysoDT64VRcYfhohzJTMHpjQ1gVR9oUREGboIzj2FRD/H9/NR3gLsdYckj6H0JnE1hgjt0clYc9JVIhAF1AxNY6gCnc0SZ2THQIwzKGghxqJEpuBuKkiw1MXuVyOWQIINXWXA3/Z0I9DoLahqJ91laFFqYKi9jyyVLBjuDYM4DSMoCv2owqOyHTXBySUgVJWKXnsGhkdC8ovJzx8QJMaiYA+xZDIYqKm6Dg4UAOHiwEAQ14erVBPz8gjl71h1b28KX8wYFvWXWrMucPdsHff2P+I/5jCjoOvHJTaU3b97MwYMHWbJkCc7OzirHfq4mcA0bbmDo0Fr0VrdzUsKPP74iIUHKunWu6gcD06fDxUtw9ozqcbEJUHEALPlWtN9VxesEaLtTlJHt9gZzDcSddBkcjhUbzvPx0MpaGDc3sAQH/Y/PHMqSQVA6XIyHU/FwNk5EQ1tYi/dqaQUlVCjXAKGJop3wunvCHHSSx/ub+LzIZLBoD0zeJEyj/Xp/WLucS2IiDB8BJ07A9m1CIVdFdracVq0CSEqScuRIORwctMbPWt7nczYL1a4TWgCio1No0GADnp5uLFvWBomGi8TCheEcPhzH3r1lCA/PpHv35/TpY8uwYQ7Y5FFhYmKy+PPPZJ4/T8fT0xIjIxO6eosGADu2Q9myyt9j70UYshja1YXlI5V3ygpPgvk5wYUWrmJNqV1MZOH4vYQmVuBiBItD4Rt76J+nivdILByKFWXY5U2E8fT0V6LUbHxO5nx4BswPBTt9EYCRyyFLDovDIDgdVufoI50fQU0z8FPw5/Q6HSrdEdfhWxR62avPCALxXpMvwK+3YH83aFpK9figMHAfBMfmQCMlXoS5zJgB587D+XPqrwNg+/YYfvklnLt3NUwnykdYWCIlSiwmLW1igTPS/s1o1wmBdp1QTceOu7CxMf5oQ/Wff37BoUMx3LxZAzMz9X9HUin07AnPn4vAtZUKe9TkFOg0EiJjYf9SKOOifOzLGOi5BlIy4PehUMFJ+diULFj3DBY8FC3rx1eBnm7vBHZ1xEmF51CuaBOQCckysNIRwlBJffFcXF8I/IpIkwux51UWhOQ8J8nAUgcqGb7LRKpvrLnQlJYNGwNh/kPxs4yvCr3dFLeSz+VGEPRYA+WLwuaBYK/iT+XOI9EJrm5V2DpXcRAllzdvRFv5du2EobgmS3lUVCbVq99m/PiSjByppKZNA+RyOa1bb8fV1YpVq7wKfZ7Pmf+5qfSOHTvYuXMn06dPx9zcnLdvRXtZc3PzD1T/z5lSpawJDo4r9PHt2lnRu3cQcrlcow3yiBGwYCHcuKHYODOXIpawYpTIEmpeA+xVRAZLWMKVftBtL3hsgqM9oZiaNdZIB7rbiUdIOmyKhJ9fiiiotR5UMHn3qGgiIqUSQIaImOZ9jsmCZ2ni2Gep4jk4XQhAX1kIAWhCCahupljtz09IAsy9Chvvg1cZuD4AVNnrPHwBI5dDaDScXQhfVVI+9sYN+KYXuLrCA3/1fkEAenoShg2zp21bK0xNC65mZ2ZKMTDQquBa/nto1wktudjZmXLqlA8eHhuRSuUsX94GXWVhzTyMGeNIbGwWLVsGULKkAV26WDNxYrH3fDKOH4/n4ME47t1LoWlTC5o2fcKmTW5c/9OKn3+GmrVg2VLo10/x5tW7MdSvJLqQuQ+CZSOgvYIyakdzWOwJPzUQ7embbIHGziJjqLsd7I2BbVHgVxLa2ogGB40tRaexmmYw57UocQa4EC9aBX+dZ62NzhKPBjnfkyMyhyqawJZIsP8TXI2gpfU7A2u5/P3rLG4ofP+qmmoemMnIBt8/4EoIXO0PFdVUaslkMPAX6OupXgxKSYGly2DnDs2uBeDo0XjatSt8Z7rg4HicnMw/KzHoc0a7Tnxali9vQ6VKK+nb150mTVwKfZ4ZM1y4cSORwYOfsX17BbX3KLq6sG0bdO4sxIJTp0R3ZEWYmcKJtTB+EdT+GrbMgQ7NFI91sYVLP8Hkg1B7BszzhiFNFJc9merD6EowtDxsC4IZ/jD5HoypDN+4gY2agLe1LrQ3Fw8Q82u87H1xJyQL7qcLsV4RBhIhHLUzeycildQX/j8FJSJVGGcvfgQORjCvFni7KM8IAkjPgoUnYPZRmN4Jfmil2s5iwz4YORsmD4NxvqrXjZgYkQXWqBEsWaLZGiOVyvnmm8d4eFgyYoSSekIN+f33R/j7R/D7794fdZ4vnU+aIdSjRw8iIyM/+P7ixYupVq3aB9//XBX9yZPPExqayIYNhVPiMzNl2Nre4eLFilSvrlnEZ+xYCHwOB5UYZ+alxwwIixFdx4zVTIRZUhh6FE4GCVGoMB7FyVJ4mgpP8jwep0JIhhCEdCTC3VxHkvM1QkAqawJljKGs8bvn4oagaYmpVAbngmGjP+x/Ap3KC++DyvbKj3kTA5M2wo6zMLS9SHs3V5JhK5XC/PmiZG/qFPjxx/cn2OxsOXqaGDoUkKVLr7N/fwAXLvTVOKKu5b/H5xr51a4TWvLz6lU8rVpto3r1omzZ0lljsfvlywxcXD5cxB49SmXs2BBatrSkTRsrypc3Zs+eWE6dSmDVqlLo6Uk4cQL69oOmTWH1KuWRa5lMeMdN2ggVnWHhUOXNBACiUoTh9IrbUNMRBlSDrhXANCe6ujcaKpmKwAjAxGC4nyJEooOxMMwReti9i177J8PMEJjsDFVypoF90XD0LfS2h7oWMPI51DCDEcU+FIMKw9s06LJbRNb/6AFFNah+H7e7oprEAAAgAElEQVQG9l2C+78pXzNzWbIEtm2HWzc1u9bsbDn29nc4dqxcgZsu5LJ1qz9r197l8mU1tWz/MbTrhEC7Tqhn0aI/Wbv2Dv7+Qz9KGI2MFJkdfn7OfPutZjfzaWnCbFpPD/74A4zUZPPvPg6+k2C0D0wbIYQlZZx5BMO3iblkrjd0rK56XpHKYO9LWPQX3HsLzRyhWynoVBKKqLmu/y8iUmHfS9jzEq5EgocDjKkCbYur/1m3/wl+B6CIGazpI0y6lZGRCaNmwb7TsGshtKiv+roSEqBZMxEQ37lT/P9qgp/fC/btE5lm5uaF/12Mi0ujQoUVLFnSmh49Khf6PJ87mqwTn7xkrCB8rhP4xo332Lr1AefO9S30Obp2fUb16qb4+Wk22b55A26lxQarspq/idR0aDkW7K1g71TVEy2IDebsKzDjkmhJP6EhOBc+UPeP8/wtbLoPWx5AphR8qoJvdSivxEwbICkVFvwuSsTa1YPZvuCm4qMPCwOfPhAaKkoPauUxt0tKkjJq1Et69bKlaVOLjzJJy4tcLmfy5POsWnWbY8d6UUeRk6mWz4bPdaNfUD7XdULL+0RHp9CmzXaKFDFh//7umJpq7icwcuRLGjQwp0ePIqSnyxg9+hVFiugxaJAdpUoZIZPJmTEjjNjYbJYtc/n7uMhI6NcfnjwRpb4NGih/j8QUmLcLFu+Fzg1hli+4qAiQxKbCJn+RlRqSAN0rCTPqBiXe38AnZsMfsXA3GWqZQ8+cgEV4Bix7I14PSIMTld+JRF8/EX5Bw53AUEdkFs19DatKQ6mPsKJLyhDlYQv/hEYlYVvnd0KWKhbvgdk74NpyKKMm8z8zE1zdRHZWly6aXdfVq0l06vSMiIgahV5PZ8y4SGDgW7Zs6Vyo4/+taNcJgXadUE92toy6ddfRpk1pZs5UknqjIZcvx9O69QPOn69GnTqafd5JScJjxtER9uwBdYlejwKhy2hwKQY7FggDamVkZcO6yzD1EJSxF+3pvyqt/pqCk4Q4tCcY7sVCcychDnUoAXYfb+v5UYSlwMFXsPslXIsUvkjdXKCLCzhpYAV16i8YtwfiU2FWF+hZV3VW0Otw8P5OVGrsWwIlVZThgcj09PQECws4eFB1SVlejh6NpUePx1y/XoNKlT5uzhow4BDh4ckcO/aNNkCuAk3WiX+s7fyXjIuLFcHBmrWOV0a7dlYcPar5OZycoG8fmDdf/VgTI/hjFjwNhRHLhOCjCokEJnrA/SGQnAnlVoisoZAEjS/vHycyGdbfA4+NoiVwQCysbAuvv4MFLZWLQdlSWPMHlPGBc/fgzEL4fbJyMUguhx07oKo7uDjD3Tvvi0EXLiTSsOFjjI118PAwV/vZaopUKmPYsKNs2uTP5cv9tWKQFi1aPivs7Ew5d64vWVlSmjffQmxsqsbHLlpUksaNReZIfHw2cXHZNGtmQalSItwbEpJJTEw25cq9C/8GBqYDWRw9At+Nhlae4OcnItmKsDAVItDTzcJLrmJ/GLsa4pIUjy9iItqzPxwK5/qAkR502AVlV8CsyxAQI9YTCz3o5QC/uL0Tg0CIPxkyeJkhyqYr3xGZQSD88v5MFGIQiIzbDBkULaQnZ3ImzL0CpZbBH89gVxfY310zMWjXOZiyWfgGqRODALZuBXNzYfStKUePxtO6teVHBVeCg+NxcfkXR7K0aPmH0dPTYePGjixa9Cd374Z/1Lk8PKyYNs2Fbt0eER2tmbG5uTkcPy5a0ffsCenpqsdXKgM3fxf3LDW94e5j5WP19WBYU3g+R5hOt/wFuq6AZxGq36OUOYytAjc7QKA3tHCCtQFgvxPc9kDP87D4L7gaCanZGv2YhSIxE86Hw/wH4H0OSv4OJX4XYlA3Fwj5Gi62hREV1YtB915By4XCK8jnKwiYDb2+Ui0GnbsONbtB1XJweat6MSghAdq3FxlB+/ZpLga9eJGGj88TVq8u+9Fi0IkTz9m37wlr13ppxaBPgDZD6B/g5ct4SpdeRnq6H3rKWnSpITw8k+LF7xERUQM7O83qpV+8gIqV4PEjkb6njpBIqD8ShrSHScqbPnzAk2iYcRkOBIiI5/gG//uMoWwZXH4FJ4JEOdvDKKjlKDqg9Kws2gOrIjMLNp+EBbvF1/MGQaeGqlMvnz+HocPg0SNYvgy8FZSrTp8eStmyxvToIbphJCZmY2HxcZ4FmZlSfHwOcP9+BKdP+1CypJI2Mlo+K7SRX8Hnuk5oUUx6ejY9e+7j2bNYTp3qTTF15nX58PdPwdc3mNu3RapsREQmW7bEcPZsInv3luHGjWT27n2Lv38qcXHZTJzohI+PHf7+MHCQ6H61aqXwRFDF/ecwdg3ceQbDO8LormCrZmrOyIbDz2CzP5wNBntTaOUqupR5uqlu3pCYLfwpiuhDbBYMfw4PU0TnMjt9GOoIbQrYQCspA1beFt3SytjAtCbQ0lXzkrOzd6GDH+ybCq3rqB8vlUKFiuA3UfOWxADu7g/5+Wenv9fVwtC06Wb69Kla6Nbb/1a064RAu05oztSpFzhwIIBbtwZ9lBelXC7nm2+e8OJFGufOVdPYDzMmBry8RIbQoUNgo2bekslg/nqYvgomDhaeNuqyiyISYNoh2HQVutaEUS1Ul0rl520G3I6Bm9FwKwZuRENMOlS2hvKWQpRxMoFiJlDcFJzNxNfKbvkypRCWCiHJ8DoF3qSKR1gqPI6HJ/HiPHXsoI6teK5pC+Ya2mXJ5XAhAJadgZOPYEQz+LkdWKuZEtLSYfJyWLkLloyHQd3Uv1dYmCj/K1YMdu8GMw0basfGZlG//l3atLFhyZLCdYvMJTExg8qVV+Ln14jBg2t+1Lm+BLQlY/9PZGfLsLScy/XrvlSp4qD+ACXUr/+Ibt1s+P57DVyKcxgwAMIj4NhRzTZ1fwVDk++hf2uYN1i1gpyfx9Ew/ZIQhpo4Q/NSostKtaKaGT0XlIhkuBUmNtQHnwovobZlxIa6hat6EQjEpLn7AkxcLyIK43vCN82Vdw/LPWbDBvjue+jjA7Nng6WSjX+TJo/57ruieHpaMXDgC2QycHU1pFMna2rXNtPYKDyXrCwp3bvv5dWreE6e7I2d3Ze74fvS0G70BZ/rOqFFOdnZMgYP/oMrV0K4cKEfTk6a+8YEB6fj7R3IlCnFKVbMgEOH4rhxI5lffinJ27fZLFgQTpMmFvTubUt6uozu3QNZv96VypVNkEph9Wr4eQL07wfz5qn2upDL4aI/zNkB15/ATz3gu64ioq2OtCy4HAKnguDYc3gRB61LQ+fyUL84uNmoX0ezZPA0TTRbKG+imX9QcJwQo84Ew/HnUNEWpjQWglRBgqx7LkD/+bDqO/BR01Uzl/nzYd16ePSX+hu6XO7fT6F+/ceEhVXH2rpwwRW5XI6Dw0IOHuxB/folCnWOfyvadUKgXSc0JzNTSp06v+Hp6ca8eWqUbzVkZMho3foBRkY6HDpUGQMDzW4iUlNFlpCbm2hPrwk3H8AAPzAyhE2zobIGmkJgJCw/AxuuQE1nGNcG2lQp2L0OiLk1NAVuxkBQ4jsxJyxVfD8sVYxRlsSYLRfzdHFT8SiWR1AqYwm1bcFRg3uYD84rhX13YMFxeBEDgxvB8OZQQoPgwHV/6Psz2FjC+hlQUYMSu7/+gjZtRCfl1as1n8eTkrJp0cKfEiUM+f33Sh+V7SmXy/HxOUBERDKnT/tos4M0QCsI/T/i6bkNL68yjBypou2XGvbvf8vo0a8ICnLXeJKNjwf3ajDmRxg5UrP3CQyFNuOhRhnY8jMYFTDt/GU8HH4qNpnnX4K+LjR1gRaloFkpcLGCggYhwpPgTvj7j/AkKFtEbFy9K0D9Eqpd9fNz/h6MWyuMo6f3F91QFHUkyMvbtzB4CFy9Cps3fdhO/vjxeNzcDHFzM0JXV4Kf32usrPS4eTOZhg3NqVLFmBMnEnj4MJX9+8tiZKT5BedGyoOD4zh3ri82Nv/PBc1a/qdoN/qCz3md0KIcmUyOr+9hrl17XeDMyNu3kxk9+hWGhqJ0t0MHa5yc9PH1fYGXlzXe3jbY2+uTni7Dw+MxGza4UqXKu9348+fQq7coH9uxXb0vH4j15ae1omHDtH7Qr7X69SUvT6Jh3xNRsnU/UpSY1SgqjKlrOonn0ipEIkVikFQGkSlCeDobDGdewOtE+Kq4COC0KQ21nQomBMnlwmtv6mbYMVF0XtOEO3fAo5FoM6+qG2p+evZ8jq2tHsuXu2h+UD7++iuKunXXERf302fXnVO7Tgi060TBePIkmtq1f2Pfvu54emqgBKggISGbZs3uU6aMMdu3V9T4Zl8qhaws9QbTecnIhGkrYMlW0QFrTH/NjIzjUmD1BVh6Wpgrj20N39QDg0/UdDBbBhFpQqRXhIEOFDUu2D2LKlIyYOMVWHRSeP780AoGeICZBp9legZM+RV+3QFTvoUf+6n3kgU4f150i/vhB5g0qQAdKzNktGv3AICjR6tiaPhxH8LmzfcZO/Y09+8PLVCw6EtGKwj9PzJ37hVu3AjjwIGvC30OmUxOxYoPGD/eiX791PR8zcOlS9CmLdy4rtlGFiA6XqR+60hgy3jVhsqqyJbB7Tdi43k2GK6FilRJS0ORwWNnAnam4tnMABIyIC4N4tLF422a+Do9G8rZ5myGcx7Vi6pOqVeEXA7XH8P0rfDnI5ERNKqLZhHcCxeEcXS1arBhPdjl+S8ICEijU6dnuLoaEhWVTYcOVnz7rQNnzyaydm0UVla67NtXFoA7d1KYO/cNS5c64+SkmdqWlJRBp06/k5KSybFjvbRi0BeIdqMv+JzXCS2qkUpljBhxjCNHAjl92ofyqjoD5CMrS0ZcnBR7exHCXLcuioCANIYPd/jbW+jixUTWrIlizpwSODsb5jsepk2DxUtg3lwYPlz9Blguh70XYUJOBurUvsKAWlUGqiIypfAo6v2AyINIsfG3NgZrI/GwMX73dZYMolMgOhViUsXz2zRxjLtDTgZvKfBwFmtvYUhMEWVyh67CkdlQq5xmx6WkQM1a0LuX8GnSlKCgdCpVekBAgLvCbnKasmzZDY4dC+TEid6FPse/Fe06IdCuEwVn48Z7/PTTGfz9h+Lo+HE31lFRmXh43KNZM2tWrizzj2dt3PCHvhPAyhw2z4FypTQ7Lj0Ltv0pWrAnpkG32uBdC+qX/nRizT9FVjacDxAZQXtvg3MRkfHkXUvz4MPtv0RWkIkxbJ6tWVYQwPbtMHgwrFgB/fppfs3Z2TK+/voxoaEZnD3rjpnZxylwT5/GUKvWb+ze7U2bNh9XdvYlock68Ym0US35adasFPPnX0UqlaFbyFlGR0fC2LGOzJv3hj59bNHRsA6rUSP4/jvo3AUuXRSO/uqws4Jzv8D3K6HKQPjBG37+BkwLqEPo6UC94uLh10i0rf97g5qzWc39OikDSlmJKKhN7iY357m4RcHFn7ykpsPOc7DiIASFw6C2sO1nKKJBkDk8XJQM7NkDC+bDsGHv3wjI5XLWrYvC19eOsWOdOHs2gWPH4vnpp9esX+/Kn38m4++fwqVLiTRqZEFYWCapqTIsLTWbsWNjU2nTZjuWlkacOdMHs8Lu3rVo0aLlP4yurg4rV7bDxuYcHh4bOXGiFzVrqnG7zEFfXwd7+3dr782bydjZ6f8tBgUHp7NrVyx2dno4OxuSlCRl82bh2lyypCEdOlgzc6bICvXpAzt3ic5YNVXYFUgk0K2J8KNbe0S0Yv9+hfDpG+wFRTX0+DHQheqO4jEw53tZUpGNG5f+fhAl999mOlDW5l3AJW8AxkTDtH5lyGSw7YzIgCpXAq6vUN1hLS9ZWeLzs7ODn38u2PsuXBhOt242HyUGAZw//5KmTV0+6hxatHxu9OtXjbNng/HxOcCpUz4a32Mowt7egNOn3WnQ4B5Fiugxc2YBDHuUcPIk3LgB166JrJS8Gfp13eHePpi0DGp4g98QGNUbTNWUXRnpw8BGMKAhnH4shJUuvwoxqEtN4TfUuFzBsjv/STKy4EzOdR66D8b64joPjoSGZTTP0olLgHnrYdk24cP000DNMqvkcpg7F+bMgQMHPqySUH2snCFDnhEQkMqlS9U/WgxKT8/m66/3MnRoTa0Y9A+gFYT+IWrUcCQ7W4a/fyQ1amjuAZSf3r1tmTw5lP373+Ltrbmh4vTpEPIamreAC+fB3l79McaGsPp7GNQORi6Dzadg4VDo3qRgKeV50dcFJ3Px+F/wPAxWHYaNJ6CYrTD77N0SzDQQtjIzYelSmDETWrcW5tzOzh+Ok0gkxMdLMTcXK0azZhYUKaLHpEmhbNoUzeTJxfj11wj8/EIpXdqIP/9MYtkyF40M90JDE2nVaisVKtixY0cXDA21f6JatGj5cpFIJMya1RwbG2OaNfs/9u47LsvqfeD452EPBQFFBAUVHLgQB5Wa5tbEhVtzZK5KM1eOcnzNbHxLTXJkmuRILXNnioojcysO3AMHQ8GB7Pncvz+O8/dVYzwM5Xq/XvfrIYT7OdzBfc59nXOuawnr13fnrbfKZukc6ekaFhZGlCqlIiNHjsSzeXMM166l8NtvFQgIiGb37lgiItLo3t2ByZPDOHQonmnTytCwocp589VXastTr57wxRcv7lNNTeDDDjCkLWw+CHPWwxfL1WqhD9tDg+pZ71NNjaFC9nMqZ9vRC2o8cCMavh8KXRplvu0ZGdCnr9qCtzMoc9sSHgoLSyEgIJpDhzK5zPm5bdCza9dVJkxokKPzCPGq0el0zJvXhlq1FvD113sZP/7NHJ3P1dWCwMAavPlmMPb2powcmf18XadPQ9++6lmmRw8YMULl72zf/vHXWFrAt59Ax2Yw8mu1jWz8QBjSTeUZehEjI2hZTR3zesOeC/DHEXjnJxV8f7u6SkJdtyx4uapAUl5ISIFj1+DIVThwGbaEgJ2VClT9ORxeK5+1/Eex8fD9UvguAOpUhQMrVCWxzLh7Fz74QO062bNH7ZbILE3T+OSTKwQFxbB3rzcODjm/gGPGBGJmZswXXzTN8bnE/5KnzVxiYmJEo0Zl2bkzNEcBIXNzIyZNcmHChDDat7fD1DRzdwIjI7XN6Z3e0LwFBO0Ah0wOJmtXhL2zYfl2+HgOzN8Is4dC9ZwH/HNFdAxs2g+/7Val4zvUh3VT4c0amR+4/vknjBgJlpawYT289dbT/x4YGEORIsb4+BTBxERH5cqWxMVlcPNmKk5OZlSubEnPng789dd9unSxZ9Kk0rRrl8CFC8n4+7tlKhh08eIdmjdfSrNm5Zk/3zfbFeqEEOJVM2pUPezsLPH1/ZVff+1Eu3aZHNUCJiY6Bg1yxNf3PLt3x3HtWgo+PkXw9y/LmTNJzJ9/C19fOyZMcKFCBQvatCnG+++Hcvx4AjVrWlOkCEybpoo2jB4DFSvB5EkwdOiLk2oaG6scO23rqVx98zaordmujvBOM2hfHyoW0BzH0TGq+MKy7TCqi9punZUVw3o9vDcATpxQk1KZHX88NGlSOB062D+V2yk7Tpy4hV6v4e2d/XGYEK+qokXNWbmyEw0bBtCoUdkcJ1339LRmy5YaNGlyAjs7E959N+t/d/Hxartu9+5qmxKosfzevU8HhB6qXwsOrIRNu1TFrP/+DJ8Ngff8MlcO3cQYmniqw78X7LsEgafhzxMwZT3cT4LqLlC3HNQpC5WcwLkYlCoG1tlcvBiXBBExEHkfzkSoANDhUPWxo416r7pl1ZawWm5Zn0BISFQ5gr5ZBFXcYZ0/vJWJSpAPbd2q+rtateDYMXDK5IrQh7766jpLltxk715vXFxytsITYN26cyxZcpLg4MGvXB64gkICQrmoceOyBAWFMmpUJrMuPsd77zkyc+ZNFi6M5v33M1+1zMQEli6Bbt2hZSvYvg2KZbI8vJGRqhzSvj58vhR8PoBezaBXUxVoye/llBduwIZ9sH6fyg1Uq4Japv/zGCiVhYHnuXMwcpRaljrtcxg48OlllLGx6XTocJG0NI3UVD0+PkXo06c4rVvbMnLkdWrXtqZlSxMsLIxwdjbj+vUUtAdZuWrWtKZmzczt6T9+/CYtWy6jb18vvv66mWTNF0KI/6d/f2+KFbOgR48/mD+/Db17e2X6e6tVs+LMmRqsX38PT09LKla0ID1dY8KEGyQlaSQl6enV6xJTp5amVatiLFni/j9bKMqXhzV/wPbtqurkgp9g5gxo2fLfB+wVSsOMD2Baf1i5U+Ua+mwxlC8F7eupvvY1z6xXvzEkTYPTV+H33TB7DTTygpBFUD5zu/Qe0ethyBBVjGHP7sytUH5SSEgiK1bc5vTpGln7xmfYuTOURo3cZIJFiOeoXduZL75oQteuv3PkyCCcnDJZR/w56tSxYf36arRrF0JMTDojRmQtyLR/v1pVOH/+48/t3v04+K7X/+99UqeDto2hTSNYu10lTf56IUx8H3q3zVxgCNR5G1RUB6h74rU7KlhzOBRWHIQr0SqYk5YBNpZQylYFiEraPD9JdUo6RD4IAEXEqJVAFqbqez1KquDP5x1VIMi5WPZ3ZSQmwYLf4cufoKwzrPgWmtfL/PkSEmDsWFiyRFV/e++9rLVFr9f49NNQFiyIYMcOLypUyFlAH+DChTu8++56FizwpXx5uxyfTzybBIRyUZMm5ZgyZRfp6focDUZMTHR8+WUZ3n//Kr17F6dIkcxHY0xNYeUK8OukEk0HboWiWdi+ZWMN/x0C770Ns/6A7tPUDbJDfejcEBp7Zz1hZlZpGly7BYfOwcGzagn+lUho6q1mWVdNBOfM5xoFVADom//Cpk0wcAAsWwr2z8jvsHbtPVxcTFm61IPLl5PZsOEeEybc4PffK9C2bTF+//0OKSl6unRxoHRpM8zMdCQm6rP0/ygw8DJdu/7OuHENGDdOlrULIcTz+Pl5YmtrTseOqwgPj2Ps2PqZDqBbWRnTo8fjzuLatRTS0jTmzClLgwZFqV+/KIsWRVO/flGKFDF67nmbNYPjwTBvnqpGVr48fDIG/Pz+fVuUlQX0b62OuEQIPKKSNPt+qiZafF+HelWhbiWoUjb3J180DY5fgj/2wOo9cD0KWvuofrVF3eydb/hw2L4Ddu/KXA7D/2/cuBsMGuRI+fJZKD/0HEFBV2nWLJMZZ4UopIYPf42jRyPp2HEVO3f2xcIiZwP7xo3tCAryok2bU1y/nsJ33/1vgP155syBpk0fj8nDw+H4cZXSAXg06Qpqa9n+/apyYfUH5eQ7tYAOTWHVX/CfuTBuBvRsA/06QE3PrAU4dDooW1wdXZ64H2oa3E1QwZ2IGBXsuXlfFdZ5FjMTcKqugj0PVxcVs8p+4OdJmgb7giFgHfy2BdzLqDLybbKwvRfUc1Hv3iqAf/y46teyIiVFT//+59i/P5Z9+2pRqVLOg0ExMcm0bbuCAQO86dYtZ9uHxYtJQCgX1ahRElNTY44ejeC110rn6FwdOtjx7beRfPddJJMnZ+1cZmaw+ndo1x7a+MJfmyGrxSgqu6r8QnM+gr0havD47jeQlKpmN9+qCR4u4OEMjnbZv8klp6qy8GeuweHzcPiceo2Jh+rloG5lNcPaog4UzeK9RtPgr79UIOjoURg0EC5dhDLPmLzQNA2dTkd6ukZsbAYA7u4WdO5sz5UrKUycGIa/f1k07SYzZtzkt9/usmdPLFOnln5U1ebf6PUa06bt4Ztv/mHevKzNdgshRGHVtGl5du3qh5/fKg4eDCcgoD22tlkPHkREpALQoIGaJbGyMkJ78LTxb0EmExMYNgzefRcWLVJbycZPgNGjVO4Ly0xsrypqBZ0aqiM9A/4JURMeS7fB8B9AA7w9VHDIpzJ4uUPpEmqiJrtiE1SuvUsRcOS86sujYlQgalp/FQzKajGJhzQNxoyB9RvUyqBn9a3/ZvfuWPbsiWXx4iwkrHiOtLQM9uy5xvTpTXJ8LiFeZTqdjp9+akujRgEMHryJgID2OV6pXreuDfv316J165OEhaWwdGllLCxeHOFOSoLYWOjU6fHnZswALy+o8CCPsLGxyk+2bBnMnAk+PirX0IABMGGCujcbG0NPX+j+Nuw5Ar+sgzd7g7sr9G0PvXyhZBYnkp+k06ny9Q5FoHrOHu+y7XoELN2gAkF3YqBHG9i2EOpmMUddcrLKz/TttzB5MowenbV8bwAxMWn4+Z0mLi6D/ftrUbJkzovhpKfr6d59NR4e9nz1VbMcn0+8mJSdz2V+fquoW9c5x8naAP75J45Wrc5x4YIXpUpl/Y8tMVEFhIyMYP06KJKzVaHo9WrFzuo9amB5KRwi7qhBroezChC5O6tk1Tod6Hjw+uBIS1dfHxYN4bfV6+37akbU3VkNgOtWUkEgL3d1nuy2c+VK+PIriI6G4R+p5ex2mVh5uH79XbZsuc/QoSWpWlVFoP75J47vv7/JtGmlqVjRkuvXUzh8OIFataweVbD5NzExyfTs+QcXLtzhjz+64uWVxQ264pUn5YSVwtBPiOy5cyeRd95Zy6VLd1m3rhtVq2Ztb9LNm6m0a3eBDh3sqFevKNu33+f06SSWLXPPVN63J6WlwW+/qQmHyEjVzwwfnv1+NiMDzl1/MDHyYHIk5Cokpag+1qW4Cg6VLq4+trZUAZlHB+o1PUOt+rkYpoJAUfegWBGo4ALVyqnVvi3qgkUOx++aBp9+CgG/qGCQRybLGT9Jr9d4443TtGtnx6efuuSsQcCBA2H4+v5KVNSYHFVQKsikn1CknzCMyMg46tb9ieHDX2PMmPoGOeft26m0axeCkRFs2FAde/sXT5pOmaLG6rNnQ1CQWrWyYQPUrfs40PHLL7BtG7RuDb16we3b0LkzrFv3/NQY8QmwZrsKoOw9Ci3qQ7vG6nAqYZAfNdddj4D1QbBuB/z94Gfo10FtlzPP4j1c01TlsFGj1PPQ4sUq8H1xXaUAACAASURBVJZVN24k8/bbp3BzM2fVqqpZ7jufZ+TIrWzZcokDBwZgY5PzPESFmZSdLwDatavEt9/uY9y4BjmOttevX5R27ezo0+cyW7ZUxtg4a+ezsoKNG1Q5+hpesOBHtfQ9u4yM4I2q6ngoIUlt53o4+LwSCZF3nz1QNTFWA9nq5R4MbEuo/3YsZpg8Cmlp8OuvaoAeGwuffapmbi2eE7NJT9cwMdE99fHrrxfl55+j2bEjlpIlTSle3BR3d3PCwlJJTlaxVFdXc1xdM3+zioiIo1WrZZQubcORI4MoVizny+KFEKKwcXCw4s8/ezJlyi4aNFjMhg3defPNZ5SGfA4nJzN27PDkww+vcvJkIk5OZkya5IK1tTF6vZalIIKpqXow6dlTJeT8z1SY9T18NAw+/PDZW5JfxNgYqpZTR79W6nOaplbLPjmJ8vA18eazJ16MjaCcEzSvrSZpKriAvYGfly9dgkGD4fJlVcAiO8EggOnTI7hzJ52PPzbMBMmyZSdp06biKxsMEsLQSpUq+qCS4y94eNjTsaNnjs9ZvLgZO3Z40avXWerXD2bLlhq4uT1/3Nu3L4wbB5Urw+uvw8SJahXQQ0lJsGaNqgbctq363OXLKh1GQoIKCKWlwZEj4O7+OIdZEWvo014dV8Nh5WZYsgE++Bxe94KOTVXFsvIFKNG/psHZyyov0todcOI8NKqjAkDLv8l+ICs0VBVFOHxYVdDs2zfrq4IAQkLiadXqJG3aODBnTgWD5WqbN+8wS5ackGBQHpKAUC7r3r0aY8ZsY8eOUJo1y3mZrnnzylKnzmm++CKcSZOyvk6xSBHYukUla/PrBJ07wXffZW61TGZYW6pqZPlZkSw+HhYuhBkzwdxc5Xbo3fv5gaC9e+P4+ONr1KhhhZWVET/8UBYTEx2aplGypCn9+5cgIOA2FhZGDBrkiJOTGebmOpKTn7NZ+AXOn79Ny5bLaNy4HAsW+GJqKtnyhRAiu4yMdEyd2pjSpW1o3Xo5y5f70b595Ux/f9GixixZ4k5Skh5LSzWY1bSsBYOepNOpB5WWLSEwEL7+Rh2DBqrSydnZRvXkue2KqqMgVP1MT4dZs2DKf6BfX7XyOCs5Cp8UFHSfL7+M4J9/qhhkhjkmJpmAgOPs2tUvx+cSojCpXduZZcs60qvXGoKCbPDxyflqPUtLY37/vSoffXSRevWOsXlzDby8nr18slw5WLUKrlwBV1e1BWzTJvD1Vf++fTvY2sIbb4CNzYNAeYx6tbJSeYW+/BJu3YKQEJUYefLkpytClnWBcQPVcTNarbpZuwPGz1RVudo0Ap/qUKcaODsaJtdPZmiaClYdCYFDp2DjLrgWAS3rw7Be0PYtsM9kcaBnSU1Vz3zTpqnnomXLsv/8t3t3DB06hDBiRGkmTnQzWDGczZsvMnr0NrZufQcPjyzOpIhsk7ILuczCwoTBg2sze/ZBg5zPxsaE1asr8M03kezYcT9b5zAygg8+gJBTcPMWVKmqou0vu+homDQJXN1g+a8w4zs4d1ZVDnteMOjEiQTee+8KY8eWYty4Uhw4EM/w4Ve5dy/90c2tfXt7OnWyZ9u2+zRvfhYPj+N4eVnj45O1vQCHDoVTv/7P9OxZnZ9/bifBICGEMJBBg2qzbJkfvXqt4aefjmb5+y0sHg9m///ANjw8lYsXk7N0Pp1OBYWCdqjj2nWoUBHe7Q9nz2a5eQXOyZPwRj1YuAi2/AU//JD9YFBkZCo9e15m1iy3TFfm/DeLFwfj5eVEnTpZLJEmhKB9+8pMm9aEtm1XcPVqjEHOaWys44cfKjB0qAv16x9j8eLIF359+fLqeSUqCv7+GyIi1OetrFQAyOVBnCoiAtavVyXSjYxUPqHSpdVKzchIlXT6zJnnv49TCRjcDbYsgKi9MKY/hEfBZ7PBtSk4N4K2H8CUH1Rp+wtXIS4hZ9dC0yAm9vHqn09nQcuBULweVHxbVQmLiYMvhsPtf2DdD9C3Q/aDQZoGO3ZAzZoqhcb27WphQHaCQZqm8e2313n77ZP897/lmTSprMGCQSdO3KR799UsWtSOBg1cDXJOkTmyQigPvP9+HcqXn83ly3dxd895tLNGDStmz3ajZ89LBAdXx9k5e5v/XV3hz01qW9WgwSqI8oN/9qqC5JfkZNiyBVashI0b4c03VQLtxo0zF9GPikqnaVMbunRRterXrq1Ajx6XWL/+Hu+8U1wtuTfW8c47xenY0Y69e+NwcDChTp3MB4M0TePnn4MZPnwLX3zRhOHDX8/ujyuEEOI5OnSozObNvWjffiUnT97i229bYG6euWHOiwa0GzfeY+TI63z0UUk+/dSFokWzFsz38YE/VsP58ypxp3cttRWiR3eV98LBIUuny1cpKWp2+bsZMOJjtZ3jeRMumZGertGjxyWaN7dhwADDJPLIyNDj739IEpEKkQPDh7/G5ct3efvt5ezb955B0hvodDrGj3ejTp2i9Op1lj177jNnTgWsrJ59TzUyUlu+vv76cXUxIyOVE7XEg9vFpk1qy9jUqfDjj2rL2Hvvqa+7f189CyQmPn3ejIxnb5EqZgO92qoDICERjp+DI6fVqp3ftsCVMEhJVTsiSpV4fJR0ALPnpEdKSYXI2xAZrY6btyEpGSwtwMMV6lSF9k3g82FQoxJYGGiXlF6vrs9XX6mJiM8+U7ntTLL59H/3bhr9+p3j5Ml4du6siY+P4fYfh4fH0qbNr4wb14Du3aWiWF6TFUJ5wMXFBj8/T/z9DxnsnO++W4LWrYvRrdulbG1dekinU3kPzpxW1cg8q6ibxYkTBmuqwaWnq6X47/YHp1IwchR4uMOhg2o7XJMmmV/eaWwM69bdQ69XPU2ZMuYMGuTI7Nk3SUrSY2ys49q1FJKT9VhbG9OyZbEsBYPi41Pp02cdEyYEsXZtNwkGCSFELmrY0I2jRwdx4IBakXn58t0cn3PIkJLs21eFffviqVTpBMuW3X5UjSwrKlWCn36Cq6HQsQMsDoBSzqrYw7JlEBeX46bmmogI9VDhWQU2/wX7/oEvvshZMAjg009vEBWVxrx55Qw2y7xp0wVSUzPo2DHzWweFEE/T6XTMnNkKDw97WrVaRkxM1lZJvkjz5vYcP16Hy5eT8PE5ytmz/77k5uHtoXp1lf6iVi3o0kVVDx41SqWI2LdPrcx8WDI9MhJKllR5hwB27VI53erXV/cz/b88PllbQf1aMLw3LP0azmyCpGC4ux8OrYJ5k2BgF6hdFUxNVLGcZx0W5vCGF3zYQ5WEP7YaYg5CwlE4uQ5+/gI+6AE+NQwTDEpPV31KjRqqiI6fH1y/rq5TdoNBhw7FUqvWEQCOHatj0GBQREQczZotpVUrD8aPb2Cw84rMkypjeeTAgTBatFhKWNhIgyXISkjIoHnzc1hbG7FuXUWD7Lv/5x/4aSH8/jt4ekL/d6FHD8PlGMquyEjYvRt27oR161Ugp1tX1bYnKw9kR8eOFyhd2gx//7KPPle//mm6dXOgc2d7PvjgKgsXlqN48cyVk3/o5MlbdO36O6VKFeXXX/0oVSqb6+lFoSTVY5TC1E8Iw0lJSWfs2O0sXnychQvb0qVL1X//pn+haRqrVt1l9OhruLmZ4+9fllq1cva3GRqqlvCvXAUXLkCbNtCsKTRqpJKq5lXuimdJTVWzyz8vVpMwjRurMUGnTtl/qHhI0zQmTgzjp5+i2LWrCp6e2ax1/wxNmvxC8+blDVLdtaCTfkKRfiL3JCen06XL70RGxhEY2Bt7e8P9raan65k48So//BDOjz9WpGfPkpn+3r/+UnmC2rVTSftDQ1XAY/x49VyQlKQqPy5frr525kw4cEBVJqtfX62WSU2FgICsJ/0vqBIT1c/z3/+q56RPPoE+fXIWuNc0DX//cMaPv8J//lOWUaPKGCx4D3Djxn2aNFlCgwauLFzYFmNjWatiaJnpJ+Sq55HXXy+Np2cJfvnluMHOaW1tzNatlUlN1Wjd+jxxcRk5Pmf9+hCwGCIjYMhgWLYcnF2gZy+1JSsqygANz4Tr11V0e+BAqFgJSpdR1cKsrGDlCrhxXd3cfXxyPmD+7DMX/vknjtWr7zz6XKNGNpQpY4azsxkrV3pkKRikaRoLFhzljTcW0b17NbZv7y3BICGEyEPm5ibMmtWKgID2DBq0iQ8++JPk5PQcnVOn09G9uwPnznnx1ls2NGhwhoEDrxAamv2Z83Ll1APMieNw9AjUqA6//Q61aqsVsF26qvw8p079+2y2IcTHw9696sGqdBkYNRpe84FLF9UK3G7dDBMMGj36OosXR7N7t2GDQadO3eLAgTAGDaptsHMKUZhZWJjwxx9dcXMrRuPGvxAdncMEOk8wMTHiyy/Ls3JlFYYNu8jgwedJTMzcs0zr1tCv3+Ngjrk5XL0KtR/86R86pALa/fqpBNWBgVCvnlpBVLkyrF4NM2ao54qXWUqKej7r1Uttr/vxR5VU+9w5GDQoZ8GgmJg0unY9wzffXCcw0IvRo10NGgwKDb1Hw4YBNG1ajkWL2kkwKB/JCqE89Ouvp5g8eRfnzn1o0F/6xMQMOnS4QFycnr/+qkSxYoZNDXX2LPz8M6zfABcvqkRutWpB7VrqtVYtcHbOemAmNVXdpM+fV8eFC3D+gnq9c0edt1FDNVPaoIHaF5xbVqy4zbBh1/j66zJcu5bKsmW3WbHCg9dey1ri6Li4FAYP3kRQUCi//tqJJk3K5VKLxatOZn6VwtZPCMO7ejWGbt1Wk5qawW+/daZCBcMk7bl8OZnPPgtjzZq7dOxox5gxztSubZi/1ZQUVRJ4927YvUdthdDp1LazihWhUsUHr5WgQoXsJXS+fx+Cg+HoUTgWDMeOqb64ZElo2lStBnrrLZWLw1D0eo1hw66yaVMMQUGeuLvnPC/JkwYM2ADAwoXtDHregkr6CUX6idyXlpZBnz7rOHnyVq5MdF67lkzPnmcIC0thxgwP/PyKZyn4EBcHw4bBjRuqHP1vv6mg0cSJMGYMrFihAtp79qjniqlTVRApO+XW81t6utoxsXKlKgpkawvdu6vDyyvnE+V6vUZAwE3GjbtC3bpFCQioTIkS2ctX+zwXL96hSZMl+PlVZtasVgYNNImnZaafkIBQHkpLy8DDw59vv21ukOXrT0pO1tOly0UiIlIJDKyMg0PWtjdlVmysGkAeO/Z4AHnunLqh2to+Pmxs1GvRompgGxurjri4xx/Hxqq8RRUqqEHtkwPcKlWyX7HkefT6F5cSXrnyDleuJHPqVBLffuuKi0vWbn6BgZcZPHgT7u52LFvmh5NT1oJJQjxJBvpKYesnRO5ITc1g/PjtLFhwjM8/b8ywYT4Gm5gJDU1m5sybLFoUzRtvFOGTT0rRvLmtQQe4aWmqr300gXLx8ccxMaq/LFpU9b02No8/LlJEbSO4f18dsbGPP05KgjJlHkzseKuZ9Vq1cq+wREaGxqBBoezeHcuOHZ64uRkoc+oD4eGxuLvPJjh4MJ6ehklQXdBJP6FIP5E3MjL09O+/gQMHwggK6oOLi2GvtV6vsWTJTcaOvUKNGkWYPdsDT8+s/V7Pm6fui2+/rXKKpqXByJHquWLYMPVM0rkzfPONSo3xMtDr1eT8nj3q2LFDrdTs2lUFgV57zXDbiw8fjmXo0IvcupXKzJkedOiQtcBcZpw9G03Tpkt4550afP11MwkG5TIJCBVA/v4HWbQomKNHBxl8aVxqqp6ePS9x/nwyf/1VidKlDTvYep6EBJVw8smB5sOBZ2wsWFo+PVB9OFi1t1erjQw5+/gswcEJTJ4c9ijng6HFx6cydOhm1q49x9dfN2PQoNovDDwJkRky0FcKYz8hcs/OnaEMGrQJe3tLli/3w8PDcMkjbt9OY+7cW/j738LFxYzJk13o0MEuVwe7mga3b6vt3M+aeImPV1sinpyoeXiUKJF3Fc5SUvT063eF48cT2L7dM8sTLpkxfPhf3LgRy5o13Qx+7oJK+glF+om8o9drDB68kaCgqwQF9cHNzfDL92Ni0pgy5SoLFkQydKgL//lPWSwts7+Ux89PbYOtXx/u3YOPP1Y7DwYOfPbXp6aCqWn+5XDTNLX9betWdfz9twrg16sHDRuqlZv16hl2dVNMTBpjx15h6dJbjBlThrFjXZ9b/S0nQkKiaNp0CYMG1WLq1MYSDMoDmeknpOx8HhswoBbff3+Q778/yMiRbxj03GZmRqxcWYEhQ0Lx8TnNmjUVeP313M9dY22tVvkUNEeOxPP55+Fs2xbLkCGOjB5t+GnPCxfu4Oe3ihIlrDl9+gNKl5aBiBBCFFSNG5fj5MkhjBu3nbp1f2Lp0o74+lY0yLmLFzdl0qTSjB5dikWLovngg6v85z/hTJzoQseOdrkyUaDTqcBOiQK8IObmzVQ6d75IaqrGrl1VKFnS8CuYDx8O56efjnHo0HOe8IQQBmFkpOPHH9sydOhm3nrrF7Zt623QwDpAsWKmzJpVgQEDSjFw4AW8vI6wcGElGjbMevApIwOqVYM5c1SOnT17ICzscSUyTfvfwM/48SoZda0nUmN4e0PZsoYPEun1cPnyg50XTxz376sAVuvWMHasaoOZ4ePoAGzceJshQy5Qvbo1ISF1KV/ecHndnhQcHEmLFssYNsyHSZMa5cp7iOyRFUL54O+/r9Gq1XKOHRtEpUrFDX5+TdP4/vubTJgQxpAhjkydWpoiRV7CTbLZdOhQPP/5Tzi7dqlA0JgxpXByMvxddN26c/Ttu47Bg2szfXpTTEwkGZowHJn5VQprPyFy38qVIQwcuJERI15n8uRGBl+1m5SkZ+HCKL76KgJ7exMmTnShc2f7QrOCVK/XWLQomk8+uY6vbzEWLCiPpaXh+8nk5HRq115Ar17VmTDh1a8s9iTpJxTpJ/KeSg4fyNKlJ9m0qSc+Pi658j4ZGRr+/mF89lkorVs7MH16OSpUyHom6M8/V6ttqlVTq2v69Hn+18bHw8mTTwdoTp9Wuxs8PMDJSR2lSj3+2NHx+QGblBRVES0yEm7efHxERqrcrCkpqkT8k8Gn6tXVDovcdPx4HGPHXuHQoThmznSnb1+nXFuxs3XrJbp0+Z3PPmvIJ5/Uz5X3EM8mW8YKsBEjtnDwYDh///1urmVVP3s2icGDQ7l6NQV/fzfat39F6io+g6Zp7N8fz9Sp4ezdG8eHH5Zk1KhSODoafiYyI0PPZ58FMWfOYX7+uT2dO1cx+HsIIQN9pTD3EyL3hYRE4ee3Cnd3e5Yt64iDg+FLziQn61m8OJovv4ygaFFjPvvMmS5dHDAxeXUDQyEhiQwZEkpYWCpz5pSlTRu7XHuvceO2s2NHKPv3v1foJmakn1Ckn8g/s2YdYOLEnaxY0clgqy2fJSIihSlTrrJ06S3ee8+JSZPK4uiYtcnejAyVkNn8QUaNZ60Oep7kZAgJUVu5HgZzngzu3Lqlzv8spqYqWf//DyI5OamVSlWrqq/JK9euJTNxYiirV0fzwQfOTJjghr197jUgIOA4H364mZ9+akvPntVz7X3Es8mWsQLsiy+aUrPmfGbOPMDo0fVy5T08PS3ZtcuTgIBo+vcPpWHD28ye7UaZMnmTWygv3LqVxvLlt/nll9tcuZLMsGFOLFvmnqUy8Vlx/PhNBg7cSHx8KgcPDig0iSuFEOJVVK2aI4cPD6Rfv/VUqzaP2bNb0blzFYPOklpYGPH++yV5770SBATcZsKEMEaNus477xSnb9/iVK36ktc9fkJiYgaffx7O99/fYujQkkye7IK1de6tUD54MIzZsw9y+PDAQhcMEqIg+Pjj13FxKUq3bquZMaMFgwfXyZX3cXY2Z8GCSowYUZrx46/g7n6QMWPKMHJkaYoUydzjrLHx03lLs3Kbt7CAOnXU8bK6ezeN6dOvMXduBJ07l+DsWR/c3Axb6fFJmqYxbdoevvtuPxs39pDKywWY9J75xMrKlMWL2z8oQ387197HyEhH//6OnDtXA1tbY6pUOcmsWZGkp+fbwrAcS0nRs3r1Hdq2PU+ZMsFs2hTDyJFOREbWYvr0MrkSDEpMTGPs2G3Uq7eIVq3cC1UVEyGEeJXZ2lqwZk1Xvv22OR98sJn27Vdy48Z9g7+PmZkRgwY5cumSF4sXlycsLJU6dUKoUyeEH364yZ07aQZ/z7yiaRpbtsRQrdopdu6MZf/+KnzzjWuuBoOSk9Pp1289kyY1ompVx1x7HyHEi3XpUpUtW3oxfvwOPvssCE3LvWcMT09r1q2rzl9/Veevv+7i4XGQ778PIyYmc/fPwpjDOCoqlenTr+HufpBTpxLYt8+bJUs8czUYlJ6uZ9Cgjfz441H+/vtdCQYVcBIQykf167syZEht+vVbR0aGPlffq0QJUwIC3NmwoSLz50fh6hrM2LHXOXcuKVff11Du309n3bq7DB4cSqlSxxg37gY+PkW4cMGLoCBP+vYtkWt5krZtu0z16vPYs+c6hw4N5PPPm2BhIYvrhBDiVaHT6ejVqwbnzn2Ig4MVVarMZfbsg7nSNxsb62jZshi//urBzZu1GDzYkZUr7+DsHEzHjhdYtCiKGzdSDP6+uSE6Oo1ZsyLx8jpF9+6X+OSTUuzbVxUvr9zfvjRp0k5sbMxzbZW1ECLz3nzTjX/+6c+yZSfp1289qanP2T9lIA0aFGPfPm/mzq3IqlVRODvvp3//cxw8GJurAamXhaZp7Nx5j+7dT1OmzH6Cgu7x229V2LrVi5o1c7fgUHx8Ku3br+TAgXAOHBhA9eolc/X9RM5JQCifTZvWhHv3kvnuu/158n6NG9ty+nQNFi8uz7VrKdSseYo33jjNggVR3L+fnidtyIyMDI2DB+OZOjWMBg1O4+BwlPHjb2BurmPDhkpcvOjFxIkulC2be9vfbt9OpE+ftXTq9BsjR77OP//0p1o1mYUUQohXlYODFYsXt2fdum7Mnn2QevV+5uTJW7n2fra2Jgwc6MjevVUJCamBt7cVP/8cTblyx6lS5QQjRlzjr79iSEjI3YerrEhP19i48R5+fhcoXTqYtWvvMXJkKcLCvBkypGSeJM0+cCCMOXMOs3hxe9kqJkQB4elZgv373+PUqVu0br2ciIi4XH0/nU6Hn18J9u2rxYEDtbC0NKJ58xPUqnWU+fPDiYsrOM81eeXOnTRmzLiBp+chunQ5TZkyFoSE1GX79po0b577uWQvXbpLo0YBJCWl8fff70r15ZeEJJUuAPbvv0GzZks5fHggVark7Taku3fTWbHiNosX3+bMmSQ6dLDjrbdsqFvXmmrVLDE1zf2BlqZphIamEBycyPHjCQQHJ7Jvn+pEmjWzpWVLW5o3t8XVNW9yHyUmpjF37mG+/HIvb77pyg8/vC03NJHnJFmoIv2EyC9JSWlMnbqb778/SL9+Nfn00zdxccmb38GYmHSCgmIJDLzP1q33iYhI5fXXi+DtbY23txU1a1pRpUre9dFXrqRw+HAC+/fHsWrVXczMdPTtW5x+/Urg7p572w6eJSkpDW/vH+nf37vQV6uRfkKRfqJgiYtL4cMPN/Pnnxf58UffPC2+Eh+fzsqVUfz4YyTnziXSpo09vr4OtGplT/HiuVS3PZ9FRKSwefMd/vzzLlu23MXHpyhDhjjj51cCc/O8CZhrmsZPPx1j1KhA+vevyTffNMfcXHZTFARSZewlMnbsNv788yL79r2HjU3+JH0+dSqRFSvucOBAPEeOxJOWplGzpjV166qjRg0rHB1NKV7cJMuD0LQ0PZGRaYSHpxIWpo7Q0BSOH0/kxIlEkpL0VK1qSc2aVnh7W/Paa0WoU8caY+O82+ybkpLOggVHmT59Ly4uRZk2rQmtWnnk2fsL8SQZ6CvST4j8dvZsNJMn72LTpgsMGVKHceMa4OiYd3+TmqZx+XIKe/bEcvx4IsHBiZw4kUBKikbVqpZ4e1tToYIFpUubUbq0GS4uZri4mGJllbVt1Hq9xr176URHp3P+fBKHDydw+HACR44kEBeXQY0aVtSta42fnz1Nmtjkaf/8kKZpvPvuei5cuJOrVVpfFtJPKNJPFEy//36aIUP+pE2bCvj7t8bWNm+Dx8HBcaxde5s//7zDiRPx+PjY4OvrQJs2DtSoYZ1rJdZzm16vceRIHJs23XnqZ2vTxgE/v+J4eubtveDWrXgGDNhIcHAkAQEdaNasfJ6+v3gxCQi9RNLT9fj6/oper7FhQ498z1Gj12tcuJDM4cPxjwaFZ84kERurlq0XK2ZMiRKmlChhgpOTKebmRqSk6ElJ0R69pqaq11u30rh5UyV7K1XKFBcXNWh1dTXHy8sKb28102lmln8Du/XrzzFs2F8UK2bB5583pl27Si9tRyFeDTLQV6SfEAXF8eM3mTRpJ0FBoXz66ZuMGVM/37Yr6fVq1c7DVbVXrqQQFpZKeLg6UlM17O1NcHY2xdLSCDMzHebmRpibP34FVakzKiqd6Og07txJR68HCwsd5ctbPJoMqlu3CF5eVnk20/wiU6bsYtGiYA4dGkCpUrmbB+NlIP2EIv1EwRUREce7767n3LnbrFrVmddfL51P7Xi8imbbtrsUK2ZCkyZ2tGhhR7Nmdjg5FewKzNevJ7Nt2z0CA++yc2cMaWkaLVva5fvqpy1bLtG791qaNSvP3LlvY2dnmS/tEM8nAaGXTGxsCi1bLqNYMQvWru2W70GhZ0lJ0XPnjho8RkenExWlgj2pqRrm5josLB4POM3MdJiZ6ShZ0pTSpc1wcjLDxKRgBVnu3Enko4+2sHnzRWbObEmfPl55kv9AiH8jA31F+glR0Ozbd4OBAzdiaWnC4sXtC1zCTL1e4/btdMLDU4mISCU5+fEETUqKnuRk9Qrg6GhKyZJqcqd4cfWam5XBcuLzz3cze/Yhdu7sK/n8HpB+QpF+omDTNI1Zsw7w2Wc7+eqrpgwd6pOvKneCtwAAGxRJREFUk64pKXr27r3Pzp33CAy8x9GjcVSvbk2LFva0aGFH/fq2WFrm730wPj6d3bvvExh4l8DAe1y8mMgbb9jSooUdjRsX4/XXbfI1f1pGhp6pU3czY8YB5sx5mz59vPKtLeLFMtNPFLyIQyFmY2POli29aNVqOR07riqQQSFzcyOcnc1wdn659+GmpmYwb95hpk7dQ4MGrpw584HMNgohhPhX9eqV4dixQUyduhsfn4UMHFiLSZMaUby4VX43DQAjIx2OjqY4Opri7f1qBAkkGCTEy0un0zFixBv4+LjQtetqgoKuMnfu2/k27jY3N6JpUzuaNrVj2jSViHnHjnts3XqXd989T2RkChUrWlGtmjXVqllTvbp6LV/e0uBbZdPT9Vy8mMSpUwmEhCQ8er18OQl3d0tatLDjq6/K89ZbxbC1LRjPhFeu3GPAgA2Eh8exf/97ck9+BRSM3yzxiK2tRYEPCr3MNE1j/frzfPLJNkxMjFi6tCOtW3vI9jAhhBCZZm5uwhdfNKVXrxp88sk2PDxm89lnDRk2zEcSaRqYBIOEeDXUr+/K8eODGT58C1WqzGXGjBb061cz38fgDg6mdO3qSNeujmiaxo0bKU8FZ9auvc2ZMwkYG+twdTWnRAkzHB1NKVHCFEdHM0qUMKV4cVNMTZ/9c6SmakRHpxEVlfr/XtO4fj0ZY2MdVauqoNObb9ry/vvOVKtmjbNzwdrGlpGhZ/bsg0ycuJO+fb1Yv747RYsWrDaK7JFRSwEkQaHcceRIBKNGBXL2bDRTpzZmwIBaUq5WCCFEtlWpUoJNm3qyffsVRo8OZO7cw3z1VTO6dKmS7w85rwIJBgnxailRwppff+3Exo3nef/9P/n11xAWLPClXDm7/G4aoFYzubpa4OpqwdtvOzz6fHq6nkuXkrhxI4WoqDSio1OJikojMjKVEyfiuX07jYyMZ2dhMTU1epB31ZSSJc2oVs36UTDJzc2ccuUMv/LI0EJConjvvQ3cu5fE5s29aNjQLb+bJAxIogwF1P8PCq1Z0xVLS9P8btZL6fLlu0yZsps//jjDxx+/zsaNPfKtkpsQQohXT7Nm5Tl6dBBLlpzg44+3MGvWAb78sikNG7pJYCgbNE1j2rQ9EgwS4hXVtm0lGjZ0Y+zY7dSoMZ9p0xozdKhPga0caGJiROXK1lSu/Gpsw82s1NQMpk//m2+++YePPnqNyZMbyfPoK6hg/tUJQAWFtm59h4SEVGrVWsCBA2H53aSXhqZpbNt2mbZtV1Clylx0Ojh3bijTpzeVYJAQQgiDMzY24t13vbl4cRgtW7rTocMqatVawOLFwSQnp+d3814aERFxtG27gnnzjkgwSIhXmK2tBfPn+7JhQ3f8/Q/RoMFi9u+/kd/NEjx+jqpV60fWrTvH33+/y1dfNZNg0CtKAkIFnI2NOUFBfenb14smTX5h7NhtMrB8gfj4VObOPUzVqnPp1WsNNWuW5MqVj1iypCOurrb53TwhhBCvOGtrMyZPfouwsBEMGVKbb7/dT5kyM5kwYQc3btzP7+YVWJqmsXTpCapWnYudnSUhIR9IMEiIQqBx43KcPPk+TZqUpUWLZTRrtoRdu66iaflWCLvQ0jSNTZsu8MYbi+jR4w96967B4cMDqV3bOb+bJnKRBIReAiYmRowb14DDhweyY0cotWr9yOHD4fndrAJD0zSCgyMZMWILpUvPYNGiYMaNa8D16yP4/PMmuLhICVIhhBB5y9rajMGD6xAS8j4rV3bizJloPDz86dr1d7ZuvURaWkZ+N7HAiIyMo337lYwZs42AgPYsXdoRe3vL/G6WECKPWFmZ8sUXTbl27WMaNHClY8dVNGwYwNatlyQwlAf0eo3Vq8/g7f0jAwZsoHPnKly9+jFjxzbA1NQ4v5sncpkEhF4iVas6cuDAAN55pwaNGgUwYcIOUlIK72qhM2eimTRpJ5Urz+HNNxcTHZ3I5s29OHJkIH36eEkibiGEEPlOp9PRtGl51q3rztmzH+LmZkv//hsoVeo7hgzZxM6doWRk6PO7mflC0zSWLz9J1apzKVrUnNOnP6B9+8r53SwhRD6xt7dkypS3uHp1OG+/7cE776zFx2ch69adK7T3ydyUmprBsmUnqVZtLiNGbGXAgFqEhg5n9Oh6FClilt/NE3lEAkIvGRMTIyZMeJODBwewdetlvL1/ZMOG84Umep6Roee3305Tt+5P1K69gDNnovniiyZERY1h2TI/6tUrIwk8hRBCFEjly9vx3/+24MaNEaxZ0w1jYx3duq3GzW0W3367j9jYlPxuYp45efIWbduuYOTIQBYtasfy5X44OFjld7OEEAWAra0F48e/ydWrw+nRoxpDh27Gw8OfBQuOkpoqqytzKiEhle++24eb2yymTNnFiBGvc+nSMIYO9ZE8QYWQBIReUtWrl+TAgfcYMqQOgwZt5LXXFr7SyyqvXLnHlCm78PDwZ8yYbfTuXYOoqNGsXt2Vzp2rYGUlNy8hhBAvByMjHQ0bujFnThsiIkbxww9v88cfZylTZiZDhmxi//4br2x/fvZsNN26rea11xbi4WHP6dMf0LGjZ343SwhRAFlbmzFy5Btcvfox06c3YdasA1So4M/8+UcK9S6J7EpISOW///2HcuW+Z8WKEH780ZcLF4YxcGBtzM1lZ0VhJQGhl5ipqTEfffQaly9/ROfOVejZcw0NGwawe/fV/G6aQcTFpbB4cTCNGgVQufIPBAff5LvvWnDp0jA++ug1ihaVamFCCCFebiYmRnToUJl9+/qzdes7ALRuvZzKlecwffrfr0wi6suX79Knz1q8vX/Ezs6CCxeGMmtWK4oXl1VBQogXMzExokeP6pw69T7ffNMMf/9DeHj4M3fuYSm2kwnx8al8/fVeypb9nt9/P8Pixe05fHgg7dpVwshIdlYUdhIQegVYW5vxySf1CQ0dTvPm5WnXbiXNmi0hKOjly0sQF5fCxo3n6dNnLU5O3zF79iE6dqxMWNhI1q/vjp+fpyQ3E0II8crR6XS8/npp5s/3JTJyFFOnvsXff1/H3X02zZsvZfHiYCIi4vK7mVl25kw0gwZtpGrVuRgbG3HmzIfMn+9LmTJS+VMIkTXGxkZ061aNU6feZ8aMFsybd4QyZWby8cdbOH78Zn43r0DRNI39+28wePBGXFxmsHbtOZYs6cDBgwNo06aipNgQj8jasFeIjY05kyY1YuhQH779dh/duq1Gp4MOHSrj5+dJkyblMDMrWMGU9HQ9R45EsG3bZbZtu8L+/WGUK1cMX9+K7NvXHy8vp/xuohBCCJGnLC1N6datGt26VSMiIo7ly08yf/5RBgzYiKdncZo3L0+LFu40bOiGtXXBSvypaRrHjkWyZs1Z1qw5x9WrMfj5eXLixBAqVSqe380TQrwCjIx0dOlSlU6dqrBnzzUCAo5Tv/7PVKhgT79+NenVqzolSljndzPzRVhYLEuXniAg4ARRUQn06FGNwMB38PFxkSCQeCbdzp07822TekJCAr6+vty/fx8bGykNbmjp6Xr++ef6o0FZbGwKbdtWxM/Pk4YN3fJ8mbamaURGxnPixE1OnLjF4cMRBAWFYmSko2nTcjRvXp7mzd0pW7ZYnrZLiIIoNjYWW1tbNm3ahLV14RzUgPQTQjzp3r0kgoJC2bbtCoGBlwkPj6NevTLUr18GL6+SeHk54eFhn+dbABIT0zh8OJx1686xZs057t1LwtdXjTdatfKQajW5RPoJRfoJAWqXwR9/nCUg4Dj79t3g7bcr0KmTJ82bu+PkVCS/m5errl+/T2DgZX7//Qw7d4bStGl5+vXzon37ylJ1uZDLTD8hvyGvMBMTIxo1KkujRmWZNasVR45EsGbNWSZM2MH583coVaoINWqUpHp1xwevJfH0LJ6jpGKaphEbm0J4eBwREXHcuHGfkJAoTpy4xYkTt7hzJ5EKFRzw8ipJ3brOjB/fAG9vJ4yNZfeiEEII8SJ2dpZ06lSFTp2qACovz7ZtVzh8OJy//rrE6dNRGBsbUb26I15eJalRoyRlyxbD2bkoLi42FC9ulaNgkV6vceXKPU6dusXJk7c4eTKKU6ducenSXUqUsKZt24rMm9eGpk3LSYJSIUSeKlrUnH79atKvX00uX77L0qUn8fc/RL9+66lWzZEWLdTKygYNXF/6Slrx8ans2nWVwMDLBAZe5tKlu7zxRhl8fSvw88/tcHGRwKjIPFkhVEjFxCQTEhL1aFB36lQUp05FEReXQrFiFtjbW2JnZ4md3cOPLbC2NiMtLYO0ND2pqRmPjrQ0PXfuJBIREUd4eByJiWlYWZni4lIUZ+eiVK1aAi8vJ7y8SlKtmmOBW94uREEkM7+K9BNCZF56up7z528/mIS5yalTUVy/fp+IiDju3UvG1NSIUqWK4uJSFEdHa8zNTTAzM8bU1AgzM+NHR0pKOvfuJT84krh7N+nRxzqdDk/P4o8mlKpXV4GnUqWKyHaEPCb9hCL9hHiRO3cS2bEjlMDAy2zdepnbtxNp0MCVunWd8fZ2wtu7FOXL2xXY5MoZGXouXLjD8eM3CQ6+yaFD4ezbdwM3t2KPglxvvVUWW1uL/G6qKIBkhZB4rmLFLGjQwJUGDVwffU7TNMLD47h9O/GpAaB6TSIhIQ0zM2OsrEyfGjiamhpjZ2eBi4vNg1nIotjYmMvAUAghhMhDJiZGVK3qSNWqjvTsWf2pf0tMTCMyMu7RCt6oqIQnJnYeT/KkpGRgbm5ClSolnpgUejxB5OpqK8UdhBAvDQcHK7p2rUrXrlXRNI3z5++wY8cVjh2L5Kuv/iEkJApzc2Nq1nTC29uJatUccXMrhpubLa6utnm2mighIZVr1+5z7VoMV6/GcOpUFMHBNzl58hZ6vUaNGiXx9naiV6/q/Pxze8qXt8uTdolXnwSExCM6nY7SpW0oXVpmV4QQQohXiZWVKe7u9ri72+d3U4QQIl/odDoqVy5O5cqPE9ynpmZw9mw0wcE3CQ6O5LffznDtWgzXr98nJSUDR0dr3NxscXMrhqOjFba2Ftjamj/1amNjjonJs9NfpKfruX8/mfv3U/7n9ebN+EdBoDt3krC0NHkUjKpWzZGhQ+vi7V2KihUdnnt+IXJKAkJCCCGEEEIIIQodMzPjB6ktnOjXr+ajz2uaRlRUwqOAzbVr94mOTuDu3SRCQ2OeCu7Exqag1z87C4uxsdH/BJDUqzkVKtjzzjvFHgWcHBwsZYeFyHMSEBJCCCGEEEIIIR7Q6XSULFmEkiWL4OPjkt/NESLXyNozIYQQQgghhBBCiEJGAkJCCCGEEEIIIYQQhYwEhIQQQgghhBBCCCEKGQkICSGEEEIIIYQQQhQyEhASQgghhBBCCCGEKGQkICSEEEIIIYQQQghRyEhASAghhBBCCCGEEKKQkYCQEEIIIYQQQgghRCEjASEhhBBCCCGEEEKIQkYCQkIIIYQQQgghhBCFjASEhBBCCCGEEEIIIQoZCQgJIYQQQgghhBBCFDISEBJCCCGEEEIIIYQoZHI1IOTv70/jxo35888/c/NthBBCvISkjxBCCPEi0k8IIUTuyrWA0LFjxzh+/DgODg659RZCCCFeUtJHCCGEeBHpJ4QQIvflSkAoPj6e7777jrFjx2JiYpIbbyGEEOIlJX2EEEKIF5F+Qggh8kauBIRmz55Ns2bNqFixYm6cXgghxEtM+gghhBAvIv2EEELkDYMHhPbs2UNoaCi9e/c29KmFEEK85KSPEEII8SLSTwghRN7J9BrMGTNmsHHjxuf+u5eXF1OmTMHf35+vvvpKlncKIUQhIn2EEEKIF5F+QgghCh7dzp07tcx8YXx8PElJSc/9d1NTU65evcqIESMwMnq88Eiv12NkZESVKlXw9/d/6nsSEhLw9fXlww8/xMzMDICWLVvSsmXL7PwsQgjxUtu6dStbt24FIDU1lTlz5rBp0yasra3zuWX/Ljf6CJB+QgghniT9hPQTQgjxIlntJzIdEMqMpKQkbt68+dTnPvnkE3x9fWnevDnOzs5P/dvDG/j9+/exsbExVDOEEOKlFxsbi62t7Usz0M+MrPYRIP2EEEI8j/QTivQTQgjxbJnpJwy6FtPS0pJy5co99TljY2OKFy/+zBu4EEKIwkP6CCGEEC8i/YQQQuStXKkyJoQQQgghhBBCCCEKrlzP1rZy5crcfgshhBAvKekjhBBCvIj0E0IIkXtkhZAQQgghhBBCCCFEISMBISGEEEIIIYQQQohCRgJCQgghhBBCCCGEEIWMBISEEEIIIYQQQgghChkJCAkhhBBCCCGEEEIUMhIQEkIIIYQQQgghhChkJCAkhBBCCCGEEEIIUchIQEgIIYQQQgghhBCikJGAkBBCCCGEEEIIIUQhIwEhIYQQQgghhBBCiEJGAkJCCCGEEEIIIYQQhYwEhIQQQgghhBBCCCEKGQkICSGEEEIIIYQQQhQyEhASQgghhBBCCCGEKGQkICSEEEIIIYQQQghRyEhASAghhBBCCCGEEKKQkYCQEEIIIYQQQgghRCEjASEhhBBCCCGEEEKIQkYCQkIIIYQQQgghhBCFjASEhBBCCCGEEEIIIQoZCQgJIYQQQgghhBBCFDISEBJCCCGEEEIIIYQoZCQgJIQQQgghhBBCCFHISEBICCGEEEIIIYQQopCRgJAQQgghhBBCCCFEISMBISGEEEIIIYQQQohCRgJCQgghhBBCCCGEEIWMBISEEEIIIYQQQgghChkJCAkhhBBCCCGEEEIUMhIQEkIIIYQQQgghhChkJCAEbN26Nb+bUCDIdZBr8JBcB7kG4mny+yDX4CG5DopcB7kG4mny+yDX4CG5Dopch5fjGkhAiJfjf1RekOsg1+AhuQ5yDcTT5PdBrsFDch0UuQ5yDcTT5PdBrsFDch0UuQ4vxzWQgJAQQgghhBBCCCFEIWOSn2+uaRoAsbGx+dkMUlNT870NBYFcB7kGD8l1yP9r8PC9H94nCyvpJwoOuQaKXAdFrkP+XwPpJxTpJwoOuQaKXAdFrkP+X4PM9BO6nTt35lsvEh0dTdeuXfPr7YUQosD77bffKFGiRH43I99IPyGEEC8m/YT0E0II8SIv6ifyNSCk1+u5c+cOlpaW6HS6/GqGEEIUOJqmkZSUhIODA0ZGhXd3r/QTQgjxbNJPKNJPCCHEs2Wmn8jXgJAQQgghhBBCCCGEyHuFdzpBCCGEEEIIIYQQopCSgJAQQgghhBBCCCFEIZOvVcYKMn9/f9asWcPo0aNp06ZNfjcnz2zatIktW7Zw9epVTExMqFGjBkOGDMHZ2Tm/m5brfv31V9asWUN8fDy1a9dm1KhR2Nvb53ez8syyZcvY83/t3U1IVG0AhuFHTWFEy1BhdBHEiJILK0RXEQRZGCFBtHARRJsoQih0DHJRIjVY2jSKFFH0AwkRBBUZbQIh2pVFuFJUXOiqMibCIWdaDP6MdvqEjznvGd/7Wh5dPIzDueXlOA4Pa3p6Wvn5+aqvr9epU6dUVFRkepoxHR0devfuna5fv67a2lrTc+AhtjZCohO2doJG/B2dgBM6QSfoBJ2QvN8JnhD6iw8fPmhkZETFxcWmp7ju06dPOnDggG7evKmenh7FYjFduHBBv3//Nj0trYaGhvTo0SO1tLSov79fP3/+1OXLl03PctWXL1907Ngx3b59W11dXZqcnFRnZ6fpWcYMDQ1pfn7e9Ax4kM2NkOiErZ2gEWvRCTihE3SCTtAJKTM6wYHQKtFoVD09PWpvb9emTfY9QHXx4kU1NTUpEAgoEAiora1N09PTmpqaMj0trZ49e6ajR49q7969qqioUDAY1OfPnzU2NmZ6mmtCoZAaGhq0bds27dixQ2fPntXHjx8VjUZNT3Pd7Oys7t+/r2AwaHoKPMb2Rkh0wtZO0IhUdAJO6ASdoBN0QsqcTnAgtEokEtH+/ftVWVlpeoonzM3NSZI2b95seEn6xGIxjY+Pa/fu3UvXysvL5ff7NTo6anCZWXNzc8rLy5PP5zM9xVXxeFyhUEgnTpxQaWmp6TnwGBqxFp2wsxO2NkKiE/g3OrEWnaATtsmkTnAgtMLw8LAmJiZ0/Phx01M8IZFI6O7du6qrq/P8G/n/+PHjh+LxuLZu3ZpyvaioSN+/fze0yqxYLKaHDx/q4MGDysnJMT3HVU+fPpXP51NjY6PpKfAYGrEWnbCzEzY3QqITcEYn1qITdIJOeJsVzzH29vbqxYsXjl/fuXOnLl26pL6+PoVCoQ35eOd6XoNwOJxybWBgQBMTE+rr60v3PKMSiYTpCZ6ysLCgK1euSJJOnz5teI27pqam9OTJE926dcv0FLiIRiTRCWd0YpnNjZDohK3oRBKdcEYnltGJzOpE1tu3bzf8uzcajerXr1+OX8/NzdXk5KTOnTun7Ozlh6bi8biys7NVXV2d8Tex9bwGKz8B/s6dO3rz5o0ikYjKysrcmGhMLBZTY2Ojuru7Uz75vbm5Wc3NzWpqajK4zl2LjzeOjY0pHA5v6Ed7/+b169fq7u5WVlbW0rXF+8C+ffvU0dFhcB3ShUYk0QlndCLJ9kZIdMJWdCKJTjijE0l0IvM6sTGPr1cpKChQQUHBP7+nqqpK9+7dS7kWDAZ1+PBhNTQ0pHOeK9bzGix68OCBXr16pXA4vOFv3pKUl5enQCCgkZGRpRv4zMyMZmdnVV1dbXidexKJhK5du6bR0VFFIhErb+B79uxRVVVVyrWTJ0/q/Pnzqq+vN7QK6UYjkuiEMzpBIxbRCTvRiSQ64YxO0IlFmdYJKw6E1sPn82n79u0p13JyclRSUqLy8nJDq9z3+PFjDQ4OqrOzU4WFhfr69askqbCwULm5uYbXpc+RI0fU39+vyspKlZWVaWBgQDU1NaqoqDA9zTW9vb16//69rl69KklLP/stW7ZY87e/Tr/o+P3+Df137/hvNGIZnbCzEzQiiU7ACZ1YRifohEQnVvNqJzgQQornz59rfn5e7e3tKddv3LihXbt2GVqVfocOHdK3b98UDocVjUZVW1ur1tZW07Nc9fLlS0nSmTNnUq4PDg7K7/ebmATAg+iEnZ2gEQDWi07QiZXohLdZ8RlCAAAAAAAAWMa/nQcAAAAAALAMB0IAAAAAAACW4UAIAAAAAADAMhwIAQAAAAAAWIYDIQAAAAAAAMtwIAQAAAAAAGAZDoQAAAAAAAAsw4EQAAAAAACAZTgQAgAAAAAAsAwHQgAAAAAAAJb5A7xymsToJagoAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(nrows=1, ncols=3, figsize=(18,6))\n", + "\n", + "CS = ax[0].contour(X, Y, Z1,20)\n", + "ax[0].clabel(CS, inline=1, fontsize=10)\n", + "ax[0].set_title('2D Gaussian: Positive Correlation')\n", + "\n", + "CS = ax[1].contour(X, Y, Z2, 20)\n", + "ax[1].clabel(CS, inline=1, fontsize=10)\n", + "ax[1].set_title('2D Gaussian: Negative Correlation')\n", + "\n", + "CS = ax[2].contour(X, Y, Z3, 20)\n", + "ax[2].clabel(CS, inline=1, fontsize=10)\n", + "ax[2].set_title('2D Gaussian: Isotropic')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Tuesday/discnet_notes.pdf b/Tuesday/discnet_notes.pdf new file mode 100644 index 00000000..6285ad93 Binary files /dev/null and b/Tuesday/discnet_notes.pdf differ diff --git a/Tuesday/ml101-tutorial/tutorial.md b/Tuesday/ml101-tutorial/tutorial.md index 73368105..68817141 100644 --- a/Tuesday/ml101-tutorial/tutorial.md +++ b/Tuesday/ml101-tutorial/tutorial.md @@ -25,9 +25,13 @@ You'll need access to a computer with the following installed: - `SciPy` (>= 0.19.1) - `scikit-learn` (>= 0.19.1) -The easiest way to install all of these together is with [Anaconda](https://www.continuum.io/downloads) (Windows, Mac & Linux installers available). +The easiest way to install all of these together locally is with [Anaconda](https://www.continuum.io/downloads) (Windows, Mac & Linux installers available). However, you could just use [colab](colab.research.google.com) which has everything installed already! + +Finally, you'll need the datasets we'll be using - you can download this from https://github.com/jonhare/DISCnetMachineLearningCourse/raw/master/Tuesday/ml101-tutorial/data.zip. If you're using colab then in the first cell do this: + + !wget https://github.com/jonhare/DISCnetMachineLearningCourse/raw/master/Tuesday/ml101-tutorial/data.zip + !unzip data.zip -Finally, you'll need the datasets we'll be using - you can download this from https://github.com/jonhare/DISCnetMachineLearningCourse/raw/master/Tuesday/ml101-tutorial/data.zip. ## A data set for experimentation @@ -35,9 +39,9 @@ For the purposes of this tutorial we're going to play with a dataset of internet > The 20 Newsgroups data set is a collection of approximately 20,000 newsgroup documents, partitioned (nearly) evenly across 20 different newsgroups. To the best of our knowledge, it was originally collected by Ken Lang, probably for his paper "Newsweeder: Learning to filter netnews," though he does not explicitly mention this collection. The 20 newsgroups collection has become a popular data set for experiments in text applications of machine learning techniques, such as text classification and text clustering. -Start by unzipping the datasets downloaded above and navigating to the `data/twenty_newsgroups` folder. Look at how the data set is structured; there are two folders - one with data for training models, and one for testing how well a model works. Within each of the training and testing folders are 20 folders representing the 20 different newsgroups. Within these folders are the actual messages posted on the newsgroups, with one file per message. Spend some time to open a few of the files in a text editor to see their contents. +Start by unzipping the datasets downloaded above and navigating to the `data/twenty_newsgroups` folder (if you're using colab you already unzipped it; you can use the file explorer on the left to see the contents). Look at how the data set is structured; there are two folders - one with data for training models, and one for testing how well a model works. Within each of the training and testing folders are 20 folders representing the 20 different newsgroups. Within these folders are the actual messages posted on the newsgroups, with one file per message. Spend some time to open a few of the files in a text editor to see their contents. -Now open a python interpreter (either `python3` or `ipython3`) to get started learning how to use `scikit-learn`. +Now open a python interpreter (either `python3`, `ipython3`, `jupyter notebook` or colab) to get started learning how to use `scikit-learn`. We're going to start by loading the dataset into memory. `scikit-learn` contains a number of tools that can help us do this. In order to get faster execution times for the initial parts of this tutorial we will work on a partial dataset with only 4 categories out of the 20 available in the dataset: @@ -210,7 +214,7 @@ The assignments of the original posts to cluster id is given by `km.labels_` onc ```python >>> order_centroids = km.cluster_centers_.argsort()[:, ::-1] ->>> terms = tfidf_vect.get_feature_names() +>>> terms = tfidf_vect.get_feature_names_out() >>> for i in range(4): ... print("Cluster %d:" % i, end="") ... for ind in order_centroids[i, :10]: diff --git a/Tuesday/ml101-tutorial/tutorial.pdf b/Tuesday/ml101-tutorial/tutorial.pdf index 95c37292..b4f642c4 100644 Binary files a/Tuesday/ml101-tutorial/tutorial.pdf and b/Tuesday/ml101-tutorial/tutorial.pdf differ diff --git a/Tuesday/ml101-tutorial/tutorial.py b/Tuesday/ml101-tutorial/tutorial.py index 94562465..f42af9ab 100644 --- a/Tuesday/ml101-tutorial/tutorial.py +++ b/Tuesday/ml101-tutorial/tutorial.py @@ -47,7 +47,7 @@ km.fit(X_train_tfidf) order_centroids = km.cluster_centers_.argsort()[:, ::-1] -terms = tfidf_vect.get_feature_names() +terms = tfidf_vect.get_feature_names_out() for i in range(4): print("Cluster %d:" % i, end="") for ind in order_centroids[i, :10]: diff --git a/Tuesday/ml_labs.pdf b/Tuesday/ml_labs.pdf new file mode 100644 index 00000000..3cd4d95c Binary files /dev/null and b/Tuesday/ml_labs.pdf differ diff --git a/Wednesday/LinearClassifier.ipynb b/Wednesday/LinearClassifier.ipynb new file mode 100644 index 00000000..9d26d9a0 --- /dev/null +++ b/Wednesday/LinearClassifier.ipynb @@ -0,0 +1,180 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 18, + "id": "0143315f-e377-4cd7-90e5-23f4b5380f96", + "metadata": {}, + "outputs": [], + "source": [ + "import torch\n", + "import matplotlib.pyplot as plt\n", + "from torchvision.datasets import MNIST\n", + "from torchvision.transforms import ToTensor, Compose, Lambda\n", + "\n", + "xform = Compose([ToTensor(), Lambda(lambda x: x.flatten())])\n", + "\n", + "train_ds = MNIST(\".\", train=True, download=True, transform=xform)\n", + "valid_ds = MNIST(\".\", train=False, download=True, transform=xform)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "ad05b777-e9e1-42e7-a755-c5bbedf12af9", + "metadata": {}, + "outputs": [], + "source": [ + "train_ds_mask = train_ds.targets <= 1\n", + "train_ds.data = train_ds.data[train_ds_mask]\n", + "train_ds.targets = train_ds.targets[train_ds_mask]\n", + "\n", + "valid_ds_mask = valid_ds.targets <= 1\n", + "valid_ds.data = valid_ds.data[valid_ds_mask]\n", + "valid_ds.targets = valid_ds.targets[valid_ds_mask]" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "9fecdc61-f1ad-40e7-a29f-fae059c24830", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [00:02<00:00, 3.95it/s]\n" + ] + }, + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from tqdm import tqdm \n", + "\n", + "loader = torch.utils.data.DataLoader(train_ds, batch_size=100, shuffle=True)\n", + "\n", + "model = torch.nn.Linear(784, 1)\n", + "\n", + "epochs = 10\n", + "eta = 1e-3\n", + "\n", + "optim = torch.optim.SGD(model.parameters(), lr=eta)\n", + "\n", + "losses = []\n", + "for epoch in tqdm(range(epochs)):\n", + " for xb, yb in loader:\n", + " optim.zero_grad()\n", + " \n", + " y_pred = model(xb)\n", + " loss = torch.nn.functional.binary_cross_entropy_with_logits(y_pred, yb.unsqueeze(1).float(), reduction='mean')\n", + " loss.backward()\n", + " \n", + " optim.step()\n", + " \n", + " losses.append(loss.detach())\n", + "\n", + "plt.figure()\n", + "plt.plot(range(len(losses)), losses)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "d08d2623-d1de-42a3-a349-29e4f35df587", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "accuracy tensor([[0.9991]])\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaAAAAGzCAYAAABpdMNsAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAI61JREFUeJzt3Qt0VNXd9/H/ACGAkGC4JZGA3LHcrAhIQURAEJUFXlpBfYWWgkTAIiI+uFREbaNoUVEKuqpEWwRLFVigxnKnCKiAyIMXHpJGQbkpr0lIIIGQ867/9p15MrkAZ5hkz+X7WeusZM6cPbNzOJzf7Muc43EcxxEAAKpZjep+QwAAFAEEALCCAAIAWEEAAQCsIIAAAFYQQAAAKwggAIAVBBAAwAoCCABgBQEEhIl7771XrrvuOt/j9PR08Xg8vuXHH3/0PXfppZf61k+aNElC1eWXX+6r50033eRbv3z5cr+/bfv27b7nrrrqKpk+fbqlGiOYCCC4UlRUJA899JAkJydL3bp1pVevXrJ69WoJFe+//748/vjjEmmys7Plr3/9qzz88MPlnnv++eflb3/7mzRo0MBv/dVXX23Wjx492jzu37+/30m9sqU699+f/vQnU8fGjRv7rb/yyivN+vHjx5cro8ffvHnz5PDhw9VWT1QND9eCgxujRo2Sf/7znzJlyhRp166d+RT+6aefyvr166Vv3762q2c+7evJKdIOa93fH3zwgezdu9e3Tvf9b3/7WxNO2uIpTR9r4Og2XvpB4ciRI77H+u82d+5cE2qXXXaZb33Xrl3NUp20vp07d5ZVq1b5rff+jVpXDSVVUlIil1xyiYwbN06eeOKJaq0ngqtWkF8PEeyTTz6RJUuWyLPPPivTpk0z6+6++25z4tAukS1btgT0ul9//bW0adNGYmJiglzj8FZQUCAXXXSRnD59WhYtWiQTJky4oNcr3X2n6tSpYwJI12tYnaseoaJGjRpy2223yZtvvimzZs0yrTaEJ7rgcN605VOzZk2/bhE9iY0dO1a2bt0qBw4cCOh1n376afOJVkPtq6++Crh+Y8aMMa0fVbpLyUs/Ob/wwgvSqVMnU+9mzZrJPffcIz/99FO5T+M6HrF582bp2bOn2bZ169bmhFeaBoOeALUlqNs0atTItALLdkmuW7fOdIfpSbxhw4YyfPjwcn+ndntpXb/88ku544475OKLL/a1KLUeOr4zaNAgqWpnq4eGVEVBpfu9bAvsfPd1oDQ0v/32W9m1a1dQXg920ALCefvss8+kffv2EhcX57deT9JKTwYpKSmuX3fy5MnmhDV//nz585//LL/61a9MqP3mN7+R+vXrn/fr6Anu4MGDJgB0/KCi571dOvfdd5/punr55ZfN3/XRRx/5tcAyMzPNp2yth46hvP766+ZE2717d3NS9Z6s09LS5Pe//73ZB3l5eWawfOfOnb7Wxpo1a2To0KEmwHT7kydPyksvvSR9+vQx25U9cf/61782gaZjI95uRG1Zaij88pe/lOpSUT3ccLOvA6H/Dkpfqzr3C4JMx4CA89GpUydnwIAB5dZ/8cUXeoZyFixYcEGvn5ub67zyyitOr169zOvVr1/fGTt2rLNly5bzfo2JEyeasmX9+9//NusXLVrktz4jI6Pc+pYtW5p1mzZt8q07evSoExsb6zzwwAO+dd26dXNuvPHGs9bn8ssvd5o2beocO3bMt+7zzz93atSo4dx9992+dTNnzjTvOWrUqHKvcddddzmNGjUqt37hwoWmTHZ2drnn9G8YPXr0Weu2dOlSU379+vXnVY9rrrnGLGXp++j7BbKvS9e3on3p/Rs//fTTcs/Vrl3bSU1NPevfiNBGFxzOm356j42NLbdeu1i8z18IbVlp9962bdtMF5COeeigtLaItNWhs8ACtXTpUomPjzctE+3O8i76SVpbWTqJorRf/OIXptvMq0mTJtKhQwf5z3/+41un3WlffPGF7Nu3r8L3PHTokGkVasspISHBt14H+LUeOmOvrIrGeY4dO2a6wqrThYw3ud3XgdJ9UnrqOcIPAYTzptOudRp2WYWFhb7nK5Ofn2+mzXqXH3744azvpbOydLKDdrH07t3bBJJ24QRKQyI3N1eaNm1qwqT0onU7evSo3/YtWrSo8IRXegxDZ2Dl5OSYbskuXbrIgw8+KLt37/Y9r2MUSoOror9PT546wF9aq1atKqx/dc/qq6weVbGvA6X7hAkI4Y0xIJy3pKQk+f777yv8pK/0u0GVee6558yAvVfLli3lm2++qXBbDbR3331XFi5cKGvXrjUtrLvuuktSU1MDrruOMekJUWeTVURPjqXpZItzBUG/fv0kKytLVqxYIf/6179MC02/k7NgwQIzLhSIikJcJzcEa/D+QuqhJ/uKgvDMmTMXtK8DpeFf9vtDCC8EEFx9a127T3SwvfREhI8//tj3fGV0unbp7wlVdILTad4aOosXLzafoHVwWVs9OhtLu7vOR2WfiHWat04I0MH/s7XU3NKuNR1o10U/3Wso6WQDDSANWVX6uzulp57ryfN8pjd37NjRnMx1n2jXli3aAizdBVm2pVfV+7o0/SB06tQpv+8vIfzQBYfzprPC9NPuq6++6lunXXIaGnpFhLPNgNNZYDqN2LvoycnrnXfeMd8l0tfQ7xndeeedZoaYLnr5mfMNH+U9oeun49J0Rp3W/cknnyxXpri4uNz250PHZkrT8Y22bdv6uim1xaih/MYbb/i9/p49e0yL6YYbbjiv99EuSG157NixQ2zSYNHgLN19+vnnn5tu0qre12V594WODyJ80QLCedOA0Om5M2bMMP34erLVk6t2pb322msBv+57771nWgP6PRsNuQv51OydnqtTf4cMGWK60kaOHCnXXHONmRqs06Z1YsDgwYPNVGAdr9BB8xdffNG8txs6UUG/F6PvqS0hnYKt35Uqfe01HcfSadgaIjql2zsNW1sy53vJG205ajectioGDBggtvzud7+TOXPmmP2qf4seA9rdqBNEtFXsVRX7uiydaq/jdEzBDnO2p+EhvJw8edKZNm2ak5iYaKYl9+jRw0yvvRD5+flBq19xcbEzefJkp0mTJo7H4yk3JfvVV191unfv7tStW9dp0KCB06VLF2f69OnOwYMHzzkluOw05Keeesrp2bOn07BhQ/N6HTt2dP74xz86p06d8iu3Zs0ap0+fPmabuLg4Z9iwYc6XX37pt413+vMPP/xQ4d913333OW3btq22adiV1ePvf/+707p1azMFWqeYf/jhh+WmYbvZ14FMwz5z5oyTlJTkPPLII2f9+xD6CCAgDGRlZTkxMTEmzMqenHfu3GkCo6SkxO+EPnLkSLM+mAEfbD/99JOpY0pKil8AFRUVmfUvvfRSuQBatmyZCbWKggzhhTEgIAzoGJp2e+lli8q64oorzMyysmNSOp6m6/Xq0aFKuzC1jmUv46TfkdL1epWMsp555hnTzaljbAhvXA0bCFM6/V2/CFt67MV7iRudGOD9YrBODqnou0ihQGdQHj9+3PyugdOtWzfzu0500AkOpccfy95uAuGPAAIAWEEXHADACgIIAGAF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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaAAAAGzCAYAAABpdMNsAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAJGFJREFUeJzt3Qt4FNX9//FvQBKuCQbITQIGkEu5REVARBCFgtBSUNqKl0doKSlXRUT8418F1DZeWqVQhPpUibQIllbgEVsst0ARooIif1T4ERoF5KapSSBCCMn8n+/ht9tsEiCzbHKyu+/X88yT7OycnckwzGfPmTNnIhzHcQQAgBpWp6ZXCACAIoAAAFYQQAAAKwggAIAVBBAAwAoCCABgBQEEALCCAAIAWEEAAQCsIICAIDFx4kT5/ve/732dkZEhERER3umbb77xvnf11Vd750+ePFlqq2uvvda7nT/84Q+981etWuXzt+3YscP73o033igzZsywtMUIJAIIrhQVFcmjjz4qSUlJ0qBBA+nVq5esW7dOaou///3vMnv2bAk1OTk58sc//lEee+yxCu+99NJL8qc//UmaNGniM79v375m/ujRo83r/v37+5zULzTV5P779a9/bbaxefPmPvNvuOEGMz8tLa1CGT3+FixYIMeOHaux7UT1iGAsOLhx9913y1//+leZOnWqXHPNNeZb+IcffiibNm2Sm2++2fbmmW/7enIKtcNa9/c//vEP2bdvn3ee7vuf/exnJpy0xlOWvtbA0WU89IvC8ePHva/1323evHkm1Dp16uSd361bNzPVJN3eLl26yJo1a3zme/5G3VYNJVVaWipXXXWVjBs3Tp566qka3U4E1hUB/jyEsA8++ECWL18uL7zwgkyfPt3Mu//++82JQ5tEtm3b5tfn7t27V9q2bSv16tUL8BYHt8LCQmnUqJEUFxfL0qVLZfz48Zf1eWWb71T9+vVNAOl8DatLbUdtUadOHfnxj38sS5YskTlz5phaG4ITTXCoMq351K1b16dZRE9iY8eOle3bt8uhQ4f8+txnn33WfKPVUPv888/93r4xY8aY2o8q26Tkod+c586dK507dzbbHR8fL7/85S/l22+/rfBtXK9HbN26VXr27GmWbdOmjTnhlaXBoCdArQnqMs2aNTO1wPJNkhs3bjTNYXoSb9q0qQwfPrzC36nNXrqtn332mdxzzz1y5ZVXemuUuh16fWfgwIFS3S62HRpSlQWV7vfyNbCq7mt/aWh++eWXsmvXroB8HuygBoQq+/jjj6V9+/YSHR3tM19P0kpPBsnJya4/d8qUKeaEtXDhQvntb38rN910kwm1n/70p9K4ceMqf46e4I4cOWICQK8fVPa+p0nngQceME1Xv//9783f9d577/nUwLKzs823bN0OvYby2muvmRNt9+7dzUnVc7JOT0+XX/ziF2YfFBQUmIvlH330kbe2sX79ehkyZIgJMF3+9OnTMn/+fOnTp49ZrvyJ+yc/+YkJNL024mlG1JqlhsJ1110nNaWy7XDDzb72h/47KP2smtwvCDC9BgRURefOnZ3bbrutwvxPP/1Uz1DOokWLLuvz8/PznT/84Q9Or169zOc1btzYGTt2rLNt27Yqf8akSZNM2fL+9a9/mflLly71mb927doK81u3bm3mbdmyxTvvxIkTTlRUlPPwww9756Wmpjo/+MEPLro91157rRMXF+fk5uZ6533yySdOnTp1nPvvv987b9asWWadd999d4XPuO+++5xmzZpVmL948WJTJicnp8J7+jeMHj36otu2YsUKU37Tpk1V2o5bbrnFTOXpenR9/uzrsttb2b70/I0ffvhhhfciIyOdCRMmXPRvRO1GExyqTL+9R0VFVZivTSye9y+H1qy0eS8rK8s0Aek1D70orTUirXVoLzB/rVixQmJiYkzNRJuzPJN+k9ZalnaiKOt73/ueaTbzaNGihXTo0EH+/e9/e+dpc9qnn34q+/fvr3SdR48eNbVCrTnFxsZ65+sFft0O7bFXXmXXeXJzc01TWE26nOtNbve1v3SflO16juBDAKHKtNu1dsMu78yZM973L+TUqVOm26xn+vrrry+6Lu2VpZ0dtImld+/eJpC0CcdfGhL5+fkSFxdnwqTspNt24sQJn+VbtWpV6Qmv7DUM7YGVl5dnmiW7du0qjzzyiOzevdv7vl6jUBpclf19evLUC/xlpaSkVLr9Nd2r70LbUR372l+6T+iAENy4BoQqS0xMlK+++qrSb/pK7w26kN/85jfmgr1H69at5Ysvvqh0WQ20t956SxYvXiwbNmwwNaz77rtPJkyY4Pe26zUmPSFqb7LK6MmxLO1scakg6Nevnxw4cEBWr14t//znP00NTe/JWbRokbku5I/K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uJkzZ0p+fr53OnTokO1NAgAEWwAlJCSYn8ePH/eZr68975UXFRUl0dHRPhMAIPQFNIBSUlJM0GzYsME7T6/paG+43r17B3JVAIBw6wV36tQpyc7O9ul4sGvXLomNjZVWrVrJ1KlT5ZlnnpFrrrnGBNITTzxh7hkaMWJEoLcdABBOAbRjxw659dZbva+nTZtmfo4ePVoyMjJkxowZ5l6htLQ0ycvLk5tvvlnWrl0r9evXD+yWAwCCWoSjN+/UItpkp73h+stwuSKinu3NQZip07Ch6zJf353quszLj89zXSY10nUROVl61n0hERm2537XZWJ/cdp1mXNfHXFdpq4f14m/fbOF+COz23LXZe641f39jiX/c0BCyTmnWDJltelYdrHr+tZ7wQEAwhMBBACwggACAFhBAAEArCCAAABWEEAAACsIIACAFQQQAMAKAggAYAUBBACwggACAFhBAAEArCCAAADB8TgGIJRFJCe5LvPeU+5Htq4pE7/8kV/looe4H535nNSMkoIC12Wi5nXwb2V/9K8YqoYaEADACgIIAGAFAQQAsIIAAgBYQQABAKwggAAAVhBAAAArCCAAgBUEEADACgIIAGAFAQQAsIIAAgBYwWCkQBklL5+R2qpzZprrMu0f+LJatgUX9k3vONdlrvwf94O/hgJqQAAAKwggAIAVBBAAwAoCCABgBQEEALCCAAIAWEEAAQCsIIAAAFYQQAAAKwggAIAVBBAAwAoCCABgBYORIiQdXdXJr3Ifd1zqukypH9/jjpecdl1Gjka5LlKS+x/364FXHT/+bb/uc851mStfl7BEDQgAYAUBBACwggACAFhBAAEArCCAAABWEEAAACsIIACAFQQQAMAKAggAYAUBBACwggACAFhBAAEArGAwUoSks59c6Ve5b7u7HyR02J77XZep/7tY12Xars1yXQbnHRzi33ftnUXuy7Re7deqwhI1IACAFQQQACA4AmjLli0ybNgwSUpKkoiICFm1apXP+2PGjDHzy0633357ILcZABCOAVRYWCipqamyYMGCCy6jgXP06FHvtGzZssvdTgBAuHdCGDJkiJkuJioqShISEi5nuwAAIa5argFlZmZKXFycdOjQQSZMmCC5ubkXXLaoqEgKCgp8JgBA6At4AGnz25IlS2TDhg3y3HPPyebNm02NqaSkpNLl09PTJSYmxjslJycHepMAAOFwH9CoUaO8v3ft2lW6desmbdu2NbWiAQMGVFh+5syZMm3aNO9rrQERQgAQ+qq9G3abNm2kefPmkp2dfcHrRdHR0T4TACD0VXsAHT582FwDSkxMrO5VAQBCuQnu1KlTPrWZnJwc2bVrl8TGxpppzpw5MnLkSNML7sCBAzJjxgxp166dDB48ONDbDgAIpwDasWOH3Hrrrd7Xnus3o0ePloULF8ru3bvl9ddfl7y8PHOz6qBBg+Tpp582TW0AAPgdQP379xfHcS74/rvvvuv2I4GLylmW6rrMM92X+rWubWdauC4TPeSAH2vypwzUFVe3cl1m+bDf+7WuSU894LpM7Dvb/VpXOGIsOACAFQQQAMAKAggAYAUBBACwggACAFhBAAEArCCAAABWEEAAACsIIACAFQQQAMAKAggAYAUBBACwggACAITGI7mBQBvUbq/rMsMbfePXurKLz7kuE9G9s+syzs5PXZfBefnd3T/c8q5/TvRrXZ3ez3VdpsSvNYUnakAAACsIIACAFQQQAMAKAggAYAUBBACwggACAFhBAAEArCCAAABWEEAAACsIIACAFQQQAMAKAggAYAWDkcJvdZvFui6T/UgH12XWJP3edZmD54rEH8Pfm+K6TNudH/u1LoicHtHTdZnozP2uyzT623/EHwwsWr2oAQEArCCAAABWEEAAACsIIACAFQQQAMAKAggAYAUBBACwggACAFhBAAEArCCAAABWEEAAACsIIACAFQxGCr/dtOmI6zLjG2S5LlMqpa7LDF3yiPij7RPbJZTUbZfiV7mS7BypCacS67ouc+hX7VyXaT/+A9dlUP2oAQEArCCAAABWEEAAACsIIACAFQQQAMAKAggAYAUBBACwggACAFhBAAEArCCAAABWEEAAACsIIACAFQxGCjkx8Sa/yj3abH6NDCzaacMvXZfp8KuPxR/ut67mRHTv7LrM2GVv+7Wu/7PjTtdlGm9t6LpM4pt7XZdpsfA/rsugdqIGBACwggACANT+AEpPT5cePXpIkyZNJC4uTkaMGCH79u3zWebMmTMyadIkadasmTRu3FhGjhwpx48fD/R2AwDCKYA2b95swiUrK0vWrVsnxcXFMmjQICksLPQu89BDD8nbb78tK1asMMsfOXJE7rzTfXsyACC0ueqEsHbtWp/XGRkZpia0c+dO6devn+Tn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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "acc = 0\n", + "count = 0\n", + "for xb, yb in valid_ds:\n", + " # print(model(xb.unsqueeze(0)))\n", + " prediction = model(xb.unsqueeze(0))>0\n", + " acc += prediction == yb\n", + " count += 1\n", + " if prediction != yb:\n", + " plt.figure()\n", + " plt.title(str(yb) + \" -> \" + str(prediction))\n", + " plt.imshow(xb.reshape(28,28))\n", + "\n", + "print(\"accuracy\", acc/count)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "800af9a5-5d4a-4eab-af55-a55bf1d62fc4", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Wednesday/LinearRegression.ipynb b/Wednesday/LinearRegression.ipynb new file mode 100644 index 00000000..53a65016 --- /dev/null +++ b/Wednesday/LinearRegression.ipynb @@ -0,0 +1,664 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "adfcdc3b-fe58-4bc1-8407-e145e9170482", + "metadata": {}, + "outputs": [], + "source": [ + "import torch\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "ee04a98a-d2d2-4577-9edb-491e07b5535b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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CFAAAEDoEKAAAIDQKfoA5amnnpIePXpIq1atZNCgQbJu3bqgTynSZs+eLVdccYXp8tupUye5/vrrZcuWLU2OOXLkiEyePFk6duwobdu2lXHjxsmePXsCO+e4ePTRR01n5fvuu69xG9faOzt37pSbbrrJXMvWrVvLxRdfLG+++Wbjfq03eOihh6RLly5m//Dhw2Xr1q2BnnMUnThxQmbOnCk9e/Y01/G8886TWbNmNVm7hWudm1WrVsl1111nurjqz4qXXnqpyX4n13X//v0yYcIE07ytffv2MmnSJDl06JD4wipizz//vNWyZUvrt7/9rfXee+9Zt99+u9W+fXtrz549QZ9aZI0YMcJ65plnrE2bNlm1tbXWqFGjrO7du1uHDh1qPObOO++0unXrZi1fvtx68803rcGDB1tf+9rXAj3vqFu3bp3Vo0cPq3///ta9997buJ1r7Y39+/db5557rnXLLbdYa9eutT788EPrv//7v60PPvig8ZhHH33UqqiosF566SXr7bfftr71rW9ZPXv2tD7//PNAzz1qfvzjH1sdO3a0lixZYm3fvt168cUXrbZt21q//OUvG4/hWufmlVdesf71X//V+v3vf6/RnrVw4cIm+51c15EjR1qXXHKJtWbNGut//ud/rPPPP9+68cYbLT8UdYBy5ZVXWpMnT258feLECatr167W7NmzAz2vONm7d6/5D2HlypXm9YEDB6wWLVqYHzq2999/3xxTU1MT4JlG18GDB60LLrjAWrZsmfWNb3yjMUDhWntn+vTp1tChQ9PuP3nypFVVVWX97Gc/a9ym17+srMxasGBBgc4yHkaPHm3ddtttTbaNHTvWmjBhgvkz19obyQGKk+u6efNm877169c3HvPqq69aJSUl1s6dOy2vFe0Uz7Fjx2TDhg1mCCtxjR99XVNTE+i5xUl9fb157tChg3nWa378+PEm1713797SvXt3rnuOdApn9OjRTa6p4lp75+WXX5bLL79c/vEf/9FMXV566aXy61//unH/9u3bpa6ursm11vVGdNqYa+3O1772NVm+fLn85S9/Ma/ffvttWb16tVx77bXmNdfaH06uqz7rtI7+t2DT4/XeuXbtWs/PKZKLBXrh008/NXOdnTt3brJdX//5z38O7LziRFed1nyIIUOGSL9+/cw2/Q+gZcuW5h958nXXfXDn+eefl40bN8r69etP28e19s6HH34oc+bMkWnTpsn3v/99c73/5V/+xVzfiRMnNl7PVD9PuNbuPPjgg2YlXQ2mmzVrZn5O//jHPzZ5D4pr7Q8n11WfNUBP1Lx5c/MLqB/XvmgDFBTmN/tNmzaZ337gPV0G/d5775Vly5aZJG/4G2zrb40/+clPzGsdQdF/23PnzjUBCrzzwgsvyHPPPSfz58+Xiy66SGpra80vOprYybUuLkU7xVNZWWmi8+SKBn1dVVUV2HnFxZQpU2TJkiXy+uuvyznnnNO4Xa+tTq8dOHCgyfFcd/d0Cmfv3r1y2WWXmd9i9LFy5Up54oknzJ/1Nx+utTe0qqFv375NtvXp00d27Nhh/mxfT36e5O+BBx4woyjjx483lVI333yzTJ061VQIKq61P5xcV33WnzmJvvjiC1PZ48e1L9oARYdmBw4caOY6E39L0tfV1dWBnluUae6VBicLFy6UFStWmFLBRHrNW7Ro0eS6axmy/qDnurtz9dVXy7vvvmt+w7Qf+lu+DoXbf+Zae0OnKZPL5TVH4txzzzV/1n/n+gM68VrrNIXOy3Ot3fnss89MTkMi/WVSfz4rrrU/nFxXfdZfePSXI5v+nNf/bzRXxXNWkZcZa4byvHnzTHbyHXfcYcqM6+rqgj61yLrrrrtMmdof//hHa/fu3Y2Pzz77rEnpq5Yer1ixwpS+VldXmwfyl1jFo7jW3pVxN2/e3JTAbt261XruueesM844w3r22WeblGjqz49FixZZ77zzjjVmzBhKX3MwceJE6+yzz24sM9aS2MrKSut73/te4zFc69wr/t566y3z0Nv/v//7v5s///Wvf3V8XbXM+NJLLzXl9qtXrzYVhJQZ++RXv/qV+QGu/VC07Fhru5E7/Uef6qG9UWz6j/3uu++2zjzzTPND/oYbbjBBDLwPULjW3lm8eLHVr18/80tN7969rf/4j/9osl/LNGfOnGl17tzZHHP11VdbW7ZsCex8o6qhocH8G9afy61atbJ69eplenccPXq08RiudW5ef/31lD+fNSh0el337dtnAhLtTVNeXm7deuutJvDxQ4n+j/fjMgAAALkr2hwUAAAQXgQoAAAgdAhQAABA6BCgAACA0CFAAQAAoUOAAgAAQocABQAAhA4BCgAACB0CFAAAEDoEKAAAIHQIUAAAQOgQoAAAAAmb/w/ikIhlGgpa7gAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "m_true = 2.0\n", + "c_true = 4.5\n", + "N = 100\n", + "\n", + "x = (torch.rand(N)*100)\n", + "y = (m_true * x + c_true) + torch.randn(N)*10\n", + "\n", + "plt.figure()\n", + "plt.scatter(x, y)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "164fe4e8-4990-49d5-a1b2-ea05e8c39c84", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tensor(1353995.6250)\n" + ] + } + ], + "source": [ + "m = 0\n", + "c = 0\n", + "\n", + "def error(x, y, m, c):\n", + " y_pred = m * x + c\n", + " e = ((y - y_pred)**2).sum()\n", + " return e\n", + "\n", + "print(error(x, y, m, c))" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "fdfa7a99-2ed4-4dfc-aca6-30966feb14f2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tensor(10901.4492)\n" + ] + } + ], + "source": [ + "print(error(x, y, m_true, c_true))" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "ea8ea8cc-3c0a-46fe-a740-9a7b56df7df3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 tensor(1189031.6250)\n", + "1 tensor(1044332.1250)\n", + "2 tensor(917407.8125)\n", + "3 tensor(806075.2500)\n", + "4 tensor(708419.)\n", + "5 tensor(622759.)\n", + "6 tensor(547621.6250)\n", + "7 tensor(481714.4688)\n", + "8 tensor(423903.3750)\n", + "9 tensor(373194.)\n", + "10 tensor(328713.8125)\n", + "11 tensor(289697.7500)\n", + "12 tensor(255474.4844)\n", + "13 tensor(225455.2812)\n", + "14 tensor(199123.6875)\n", + "15 tensor(176026.7500)\n", + "16 tensor(155767.0938)\n", + "17 tensor(137996.1562)\n", + "18 tensor(122408.2578)\n", + "19 tensor(108735.2109)\n", + "20 tensor(96741.7969)\n", + "21 tensor(86221.6641)\n", + "22 tensor(76993.8438)\n", + "23 tensor(68899.5781)\n", + "24 tensor(61799.6641)\n", + "25 tensor(55571.9062)\n", + "26 tensor(50109.1875)\n", + "27 tensor(45317.5156)\n", + "28 tensor(41114.4688)\n", + "29 tensor(37427.7266)\n", + "30 tensor(34193.8867)\n", + "31 tensor(31357.2852)\n", + "32 tensor(28869.1367)\n", + "33 tensor(26686.6523)\n", + "34 tensor(24772.2539)\n", + "35 tensor(23093.0449)\n", + "36 tensor(21620.0918)\n", + "37 tensor(20328.0898)\n", + "38 tensor(19194.7930)\n", + "39 tensor(18200.7070)\n", + "40 tensor(17328.7500)\n", + "41 tensor(16563.9004)\n", + "42 tensor(15893.0059)\n", + "43 tensor(15304.5293)\n", + "44 tensor(14788.3408)\n", + "45 tensor(14335.5586)\n", + "46 tensor(13938.3945)\n", + "47 tensor(13590.0264)\n", + "48 tensor(13284.4492)\n", + "49 tensor(13016.4062)\n", + "50 tensor(12781.2910)\n", + "51 tensor(12575.0586)\n", + "52 tensor(12394.1641)\n", + "53 tensor(12235.4883)\n", + "54 tensor(12096.2988)\n", + "55 tensor(11974.2129)\n", + "56 tensor(11867.1221)\n", + "57 tensor(11773.1895)\n", + "58 tensor(11690.7891)\n", + "59 tensor(11618.5176)\n", + "60 tensor(11555.1182)\n", + "61 tensor(11499.5107)\n", + "62 tensor(11450.7285)\n", + "63 tensor(11407.9434)\n", + "64 tensor(11370.4160)\n", + "65 tensor(11337.4922)\n", + "66 tensor(11308.6123)\n", + "67 tensor(11283.2812)\n", + "68 tensor(11261.0635)\n", + "69 tensor(11241.5762)\n", + "70 tensor(11224.4814)\n", + "71 tensor(11209.4834)\n", + "72 tensor(11196.3271)\n", + "73 tensor(11184.7900)\n", + "74 tensor(11174.6670)\n", + "75 tensor(11165.7920)\n", + "76 tensor(11158.0020)\n", + "77 tensor(11151.1709)\n", + "78 tensor(11145.1758)\n", + "79 tensor(11139.9180)\n", + "80 tensor(11135.3086)\n", + "81 tensor(11131.2617)\n", + "82 tensor(11127.7139)\n", + "83 tensor(11124.5996)\n", + "84 tensor(11121.8701)\n", + "85 tensor(11119.4727)\n", + "86 tensor(11117.3701)\n", + "87 tensor(11115.5254)\n", + "88 tensor(11113.9082)\n", + "89 tensor(11112.4883)\n", + "90 tensor(11111.2441)\n", + "91 tensor(11110.1494)\n", + "92 tensor(11109.1914)\n", + "93 tensor(11108.3477)\n", + "94 tensor(11107.6084)\n", + "95 tensor(11106.9629)\n", + "96 tensor(11106.3926)\n", + "97 tensor(11105.8926)\n", + "98 tensor(11105.4570)\n", + "99 tensor(11105.0703)\n" + ] + } + ], + "source": [ + "m = 0\n", + "c = 0\n", + "\n", + "epochs = 100\n", + "eta = 1e-7\n", + "\n", + "for epoch in range(epochs):\n", + " y_pred = m * x + c\n", + " dm = (-2*(y - y_pred) * x).sum()\n", + " dc = (-2*(y - y_pred)).sum()\n", + "\n", + " m = m - eta * dm\n", + " c = c - eta * dc\n", + "\n", + " print(epoch, error(x, y, m, c))" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "0eebabf1-e08d-4405-b56d-34518c6da70b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tensor(2.0545) tensor(0.0331)\n" + ] + }, + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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GAAAeM9633Yy4SSQAWXr1q3m52w8MBAAgGyn7+M6DyXrBrXpuT3r1q2T5s2bS15ecif9Wicjf/PNNwx9SzFe6/ThtU4fXuv04bUO/mutkUPDSYcOHSQ/Pz/7VlD0D3XggQd6+jP1/wH8B58evNbpw2udPrzW6cNrHezXOt7KiYUiWQAA4DsEFAAA4Ds5H1CKiork1ltvNT8jtXit04fXOn14rdOH1zq3XutAFskCAIDslvMrKAAAwH8IKAAAwHcIKAAAwHcIKAAAwHdyPqA8/vjj0qVLFykuLpa+ffvK/PnzM31JgTZp0iQ57rjjzCm/bdu2lbPPPluWLVsW9pzq6mq54oorpFWrVtKsWTMZMWKErF+/PmPXnC3uuecec7LyNddcU38fr7V31q5dKxdccIH5WjZp0kSOOOII+fDDD+sf136DCRMmSPv27c3HBw4cKMuXL8/oNQdRXV2djB8/Xrp27Wq+jt27d5c77rgj7OwWXuvEzJkzR8466yxziqv+XfHyyy+HPe7kdd28ebOMHDnSHN7WokULueSSS2Tbtm2SEkYOe+6554zGjRsbf//7343PPvvMuPTSS40WLVoY69evz/SlBdagQYOMp556yliyZImxePFiY8iQIUanTp2Mbdu21T/nt7/9rdGxY0dj1qxZxocffmj069fPOOGEEzJ63UE3f/58o0uXLkbv3r2Nq6++uv5+XmtvbN682ejcubNx0UUXGR988IGxatUq4z//+Y+xYsWK+ufcc889RmlpqfHyyy8bH3/8sfHzn//c6Nq1q/Hjjz9m9NqD5q677jJatWplvPbaa8bq1auNF154wWjWrJnx8MMP1z+H1zoxb7zxhnHzzTcbL774oqY946WXXgp73MnresYZZxh9+vQx5s2bZ/z3v/81evToYZx33nlGKuR0QDn++OONK664ov52XV2d0aFDB2PSpEkZva5ssmHDBvN/CO+++655e8uWLUZhYaH5l47l888/N59TXl6ewSsNrq1btxoHHXSQMXPmTOOkk06qDyi81t654YYbjAEDBkR9fPfu3UZZWZlx//3319+nr39RUZHx7LPPpukqs8PQoUONiy++OOy+4cOHGyNHjjS/5rX2RmRAcfK6Ll261Py+BQsW1D/nzTffNPLy8oy1a9caXsvZLZ6dO3fKwoULzSWs0DN+9HZ5eXlGry2bVFZWmp9btmxpftbXvLa2Nux1P/TQQ6VTp0687gnSLZyhQ4eGvaaK19o7r7zyihx77LHyy1/+0ty6POqoo+Svf/1r/eOrV6+WioqKsNdazxvRbWNea3dOOOEEmTVrlnz55Zfm7Y8//ljmzp0rgwcPNm/zWqeGk9dVP+u2jv5vwaLP1/fODz74wPNrCuRhgV7YuHGjudfZrl27sPv19hdffJGx68omeuq01kOceOKJ0qtXL/M+/R9A48aNzf/II193fQzuPPfcc7Jo0SJZsGBBg8d4rb2zatUqmTx5sowdO1Zuuukm8/W+6qqrzNd31KhR9a+n3d8nvNbujBs3zjxJV8N0QUGB+ff0XXfdZdY9KF7r1HDyuupnDeihGjVqZP4DNBWvfc4GFKTnX/ZLliwx//UD7+kx6FdffbXMnDnTLPJGasO2/qvx7rvvNm/rCor+tz1lyhQzoMA7zz//vEydOlWmTZsmhx9+uCxevNj8h44WdvJa55ac3eJp3bq1mc4jOxr0dllZWcauK1uMGTNGXnvtNXn77bflwAMPrL9fX1vdXtuyZUvY83nd3dMtnA0bNsjRRx9t/itGP95991155JFHzK/1Xz681t7QrobDDjss7L6ePXvK119/bX5tvZ78fZK86667zlxFOffcc81OqQsvvFCuvfZas0NQ8VqnhpPXVT/r3zmhdu3aZXb2pOK1z9mAokuzxxxzjLnXGfqvJL3dv3//jF5bkGntlYaTl156SWbPnm22CobS17ywsDDsddc2ZP2LntfdnVNPPVU+/fRT81+Y1of+K1+Xwq2vea29oduUke3yWiPRuXNn82v971z/gg59rXWbQvflea3d2bFjh1nTEEr/Mal/Pyte69Rw8rrqZ/0Hj/7jyKJ/z+v/b7RWxXNGjrcZa4Xy008/bVYnX3bZZWabcUVFRaYvLbAuv/xys03tnXfeMb777rv6jx07doS1vmrr8ezZs83W1/79+5sfSF5oF4/itfaujbtRo0ZmC+zy5cuNqVOnGvvtt5/xzDPPhLVo6t8f06dPNz755BNj2LBhtL4mYNSoUcYBBxxQ32asLbGtW7c2rr/++vrn8Fon3vH30UcfmR/69v+nP/3J/Pqrr75y/Lpqm/FRRx1lttvPnTvX7CCkzThFHn30UfMvcJ2Hom3H2tuNxOl/9HYfOhvFov+x/+53vzP2339/8y/5X/ziF2aIgfcBhdfaO6+++qrRq1cv8x81hx56qPHEE0+EPa5tmuPHjzfatWtnPufUU081li1blrHrDaqqqirzv2H9e7m4uNjo1q2bObujpqam/jm81ol5++23bf9+1lDo9HXdtGmTGUh0Nk1JSYkxevRoM/ikQp7+H+/XZQAAABKXszUoAADAvwgoAADAdwgoAADAdwgoAADAdwgoAADAdwgoAADAdwgoAADAdwgoAADAdwgoAADAdwgoAADAdwgoAADAdwgoAABA/Ob/ByPqoLGyJ0wKAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "print(m, c)\n", + "\n", + "plt.figure()\n", + "plt.scatter(x, y)\n", + "plt.plot(x, m*x+c)\n", + "plt.plot(x, m_true*x+c_true)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "dfef4047-3ca9-4859-b844-a5ec43d75e86", + "metadata": {}, + "outputs": [], + "source": [ + "class LinearModel(torch.nn.Module):\n", + " def __init__(self):\n", + " super().__init__()\n", + " \n", + " self.m = torch.nn.Parameter(torch.zeros(1))\n", + " self.c = torch.nn.Parameter(torch.zeros(1))\n", + "\n", + " def forward(self, x):\n", + " return self.m * x + self.c" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "4929ca4f-122a-48a7-8c64-d360cd61c51b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 tensor(1353995.6250, grad_fn=)\n", + "1 tensor(1189031.6250, grad_fn=)\n", + "2 tensor(1044332.1250, grad_fn=)\n", + "3 tensor(917407.8125, grad_fn=)\n", + "4 tensor(806075.2500, grad_fn=)\n", + "5 tensor(708419., grad_fn=)\n", + "6 tensor(622759., grad_fn=)\n", + "7 tensor(547621.6250, grad_fn=)\n", + "8 tensor(481714.4688, grad_fn=)\n", + "9 tensor(423903.3750, grad_fn=)\n", + "10 tensor(373194., grad_fn=)\n", + "11 tensor(328713.8125, grad_fn=)\n", + "12 tensor(289697.7500, grad_fn=)\n", + "13 tensor(255474.4844, grad_fn=)\n", + "14 tensor(225455.2812, grad_fn=)\n", + "15 tensor(199123.6875, grad_fn=)\n", + "16 tensor(176026.7500, grad_fn=)\n", + "17 tensor(155767.0938, grad_fn=)\n", + "18 tensor(137996.1562, grad_fn=)\n", + "19 tensor(122408.2578, grad_fn=)\n", + "20 tensor(108735.2109, grad_fn=)\n", + "21 tensor(96741.7969, grad_fn=)\n", + "22 tensor(86221.6641, grad_fn=)\n", + "23 tensor(76993.8438, grad_fn=)\n", + "24 tensor(68899.5781, grad_fn=)\n", + "25 tensor(61799.6641, grad_fn=)\n", + "26 tensor(55571.9062, grad_fn=)\n", + "27 tensor(50109.1875, grad_fn=)\n", + "28 tensor(45317.5156, grad_fn=)\n", + "29 tensor(41114.4688, grad_fn=)\n", + "30 tensor(37427.7266, grad_fn=)\n", + "31 tensor(34193.8867, grad_fn=)\n", + "32 tensor(31357.2852, grad_fn=)\n", + "33 tensor(28869.1367, grad_fn=)\n", + "34 tensor(26686.6523, grad_fn=)\n", + "35 tensor(24772.2539, grad_fn=)\n", + "36 tensor(23093.0449, grad_fn=)\n", + "37 tensor(21620.0918, grad_fn=)\n", + "38 tensor(20328.0898, grad_fn=)\n", + "39 tensor(19194.7930, grad_fn=)\n", + "40 tensor(18200.7070, grad_fn=)\n", + "41 tensor(17328.7500, grad_fn=)\n", + "42 tensor(16563.9004, grad_fn=)\n", + "43 tensor(15893.0059, grad_fn=)\n", + "44 tensor(15304.5293, grad_fn=)\n", + "45 tensor(14788.3408, grad_fn=)\n", + "46 tensor(14335.5586, grad_fn=)\n", + "47 tensor(13938.3945, grad_fn=)\n", + "48 tensor(13590.0264, grad_fn=)\n", + "49 tensor(13284.4492, grad_fn=)\n", + "50 tensor(13016.4062, grad_fn=)\n", + "51 tensor(12781.2910, grad_fn=)\n", + "52 tensor(12575.0586, grad_fn=)\n", + "53 tensor(12394.1641, grad_fn=)\n", + "54 tensor(12235.4883, grad_fn=)\n", + "55 tensor(12096.2988, grad_fn=)\n", + "56 tensor(11974.2129, grad_fn=)\n", + "57 tensor(11867.1221, grad_fn=)\n", + "58 tensor(11773.1895, grad_fn=)\n", + "59 tensor(11690.7891, grad_fn=)\n", + "60 tensor(11618.5176, grad_fn=)\n", + "61 tensor(11555.1182, grad_fn=)\n", + "62 tensor(11499.5107, grad_fn=)\n", + "63 tensor(11450.7285, grad_fn=)\n", + "64 tensor(11407.9434, grad_fn=)\n", + "65 tensor(11370.4160, grad_fn=)\n", + "66 tensor(11337.4922, grad_fn=)\n", + "67 tensor(11308.6123, grad_fn=)\n", + "68 tensor(11283.2812, grad_fn=)\n", + "69 tensor(11261.0635, grad_fn=)\n", + "70 tensor(11241.5762, grad_fn=)\n", + "71 tensor(11224.4814, grad_fn=)\n", + "72 tensor(11209.4834, grad_fn=)\n", + "73 tensor(11196.3271, grad_fn=)\n", + "74 tensor(11184.7900, grad_fn=)\n", + "75 tensor(11174.6670, grad_fn=)\n", + "76 tensor(11165.7920, grad_fn=)\n", + "77 tensor(11158.0020, grad_fn=)\n", + "78 tensor(11151.1709, grad_fn=)\n", + "79 tensor(11145.1758, grad_fn=)\n", + "80 tensor(11139.9180, grad_fn=)\n", + "81 tensor(11135.3086, grad_fn=)\n", + "82 tensor(11131.2617, grad_fn=)\n", + "83 tensor(11127.7139, grad_fn=)\n", + "84 tensor(11124.5996, grad_fn=)\n", + "85 tensor(11121.8701, grad_fn=)\n", + "86 tensor(11119.4727, grad_fn=)\n", + "87 tensor(11117.3701, grad_fn=)\n", + "88 tensor(11115.5254, grad_fn=)\n", + "89 tensor(11113.9082, grad_fn=)\n", + "90 tensor(11112.4883, grad_fn=)\n", + "91 tensor(11111.2441, grad_fn=)\n", + "92 tensor(11110.1494, grad_fn=)\n", + "93 tensor(11109.1914, grad_fn=)\n", + "94 tensor(11108.3477, grad_fn=)\n", + "95 tensor(11107.6084, grad_fn=)\n", + "96 tensor(11106.9629, grad_fn=)\n", + "97 tensor(11106.3926, grad_fn=)\n", + "98 tensor(11105.8926, grad_fn=)\n", + "99 tensor(11105.4570, grad_fn=)\n" + ] + } + ], + "source": [ + "model = LinearModel()\n", + "\n", + "epochs = 100\n", + "eta = 1e-7\n", + "\n", + "for epoch in range(epochs):\n", + " model.m.grad = None\n", + " model.c.grad = None\n", + " \n", + " y_pred = model(x)\n", + " loss = torch.nn.functional.mse_loss(y_pred, y, reduction='sum')\n", + " loss.backward()\n", + "\n", + " model.m.data = model.m.data - eta * model.m.grad\n", + " model.c.data = model.c.data - eta * model.c.grad\n", + " \n", + " print(epoch, loss)" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "7b4155f7-e209-4774-94a2-9170df9d95b6", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGsCAYAAAAPJKchAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAXZ5JREFUeJzt3Ql4VNXZB/D/7JNksu+BsO9bQAREQKWiVK3aWq1aqxSr1gVrpZvUql9rFVuX2ipKtW5tVaytUleUgogLyi4gOyQkhOzbzGQy+/2ec+7MkIQsk2SSyfL/9bm9d2buzJxcYuadc97zHo2iKAqIiIiIokQbrTcmIiIiEhiMEBERUVQxGCEiIqKoYjBCREREUcVghIiIiKKKwQgRERFFFYMRIiIiiioGI0RERBRVDEaIiIgoqhiMEBERUVT1qWBk48aNuPjii5GTkwONRoPVq1d3+DVE9ftHHnkEY8aMgclkwqBBg/DAAw90S3uJiIiofXr0IfX19cjLy8P111+Pyy67rFOvcccdd+DDDz+UAcnkyZNRXV0tNyIiIooOTV9dKE/0jLz55pv49re/HbrP5XLh7rvvxquvvora2lpMmjQJf/jDH3DOOefIx/ft24cpU6Zgz549GDt2bBRbT0RERH1ymKY9S5YswaZNm7Bq1Srs2rULV1xxBb75zW/i0KFD8vG3334bI0aMwDvvvIPhw4dj2LBhuOGGG9gzQkREFEX9JhgpLCzECy+8gNdffx3z5s3DyJEj8fOf/xxz586V9wtHjx7FsWPH5Dl///vf8eKLL2Lbtm24/PLLo918IiKiAatP5Yy0Zffu3fD5fDIxtTExdJOamiqP/X6/vC0CkeB5zz33HKZPn44DBw5w6IaIiCgK+k0wYrfbodPpZE+H2DdmsVjkPjs7G3q9vknAMn78+FDPCoMRIiKintdvgpFp06bJnpHy8nI5TNOSOXPmwOv14siRI3IYRzh48KDcDx06tEfbS0RERH1wNo3o/Th8+HAo+Hjssccwf/58pKSkYMiQIfjBD36Azz77DI8++qh8vKKiAuvWrZMzaC666CI5TDNjxgzZU/L444/L27fddhsSEhLkdF8iIiLqeX0qGNmwYYMMPppbtGiRTEb1eDz4/e9/L3NCiouLkZaWhjPOOAO//e1vZU0R4cSJE7j99ttl8BEXF4cLLrhABi8ioCEiIqKe16eCESIiIup/+s3UXiIiIuqbGIwQERFRVPWJ2TQi0VTkesTHx8sy8ERERNT7iUwQm80mF7jVarV9OxgRgUhubm60m0FERESdUFRUhMGDB0cuGNm4cSMefvhhWVyspKTklMXq2iKm3Z599tlyAbudO3eG/Z6iRyT4w4hpuERERNT7Wa1W2ZkQ/ByPWDBSX1+PvLw8XH/99bjsssvCfp5YRfe6667Dueeei7Kysg69Z3BoRgQiDEaIiIj6lvZSLDocjIi6HGLrqJtvvhnf//73Zan21atXd/j5RERE1D/1yGwasWquWDH3vvvuC+t8sZid6NppvBEREVH/1O3ByKFDh3DXXXfhn//8p1ykLhzLly9HYmJiaGPyKhERUf/VrcGIWLhODM2IcuyNV8ptz7Jly1BXVxfaROIqERER9U/dOrVXzC3eunUrduzYgSVLloRqhoh5x6KXRKwP841vfOOU55lMJrkRERFR/9etwYiY+bJ79+4m9z311FNYv349/v3vf2P48OHd+fZERETUH4MRu92Ow4cPh27n5+fLmiFi1dshQ4bIIRaxYq5YOVdUWxM1RRrLyMiA2Ww+5X4iIiIamDocjIhhl/nz54duL126VO4XLVqEF198URZCKywsjGwriYiIqN/SKCKBo5cTU3vFrBqRzMqiZ0RERH1DuJ/fXLWXiIiIoorBCBEREUUVgxEiIiLqv1N7e7sXliyD356AUZcMxdmXfT/azSEiIhqQBnTPiM82Gk7zLBzfdiDaTSEiIhqwBnQwokGl3Huq/dFuChER0YA1oIMRxVCr7htio90UIiKiAWtAByOwOOVOUZKj3RIiIqIBa0AHI/pMo9x7dWnRbgoREdGANaCDkaQxg+TeY0yB21of7eYQERENSAM6GBk+cRp0Xoc8rthzNNrNISIiGpAGdDAyetg06DwV8jh/+55oN4eIiGhAGtDBSKw5Dn6owUhFQXm0m0NERDQgDehgRPDq1VojjjpftJtCREQ0IA34YMRjVmuNeNxx0W4KERHRgMRgJEGdRePVstYIERFRNAz4YETJUi+By5gCr0MtgkZEREQ9Z8AHI7E5GdD6XIBGi6qvj0W7OURERAPOgA9GBqWNhj4wvbf60IloN4eIiGjAGfDByNDsifApajBSc6w62s0hIiIacAZ8MDJ2yFTUGwK1RkrUmTVERETUcwZ8MBIXGw+HWQ1G7PZot4aIiGjgGfDBiOCwVMm9U4mPdlOIiIgGHAYjABqSrXLvMiTD63RFuzlEREQDCoMRUWskCdD63FC0OtQeOB7t5hAREQ0oDEYAJJnTQ9N7q/YXR7s5REREAwqDEQBpcYPgU9QF82oK1fwRIiIi6hkMRgBkJ49Eg17tGakrd0S7OURERAMKgxEAw7ImojZG7RmxWZVoN4eIiGhAYTAiCp8Nm4qyBLVnxOYxRrs5REREAwqDEQDxcUmoTSqXxw36JPg83mg3iYiIaMBgMBLgTLBC4/dA0epRd5DTe4mIiHoKg5GABI0ZBreaN1LFWiNEREQ9hsFIQJI2Hv7g9N4CTu8lIiLqKQxGApKMaSen95bVR7s5REREAwaDkYC02BzUmdWeEWudP9rNISIiGjAYjARkJ49AWbzaM2Ln9F4iIqIew2AkYFj2RBSmqsGIQ5cIv9cX7SYRERENCAxGAsYMnYai1Bo5vdevNaD2QFG0m0RERDQgdDgY2bhxIy6++GLk5ORAo9Fg9erVbZ7/xhtv4LzzzkN6ejoSEhIwe/ZsfPDBB+htEi0piIc/NL23Yi+DESIiol4ZjNTX1yMvLw8rVqwIO3gRwch7772Hbdu2Yf78+TKY2bFjB3qbFJ8WPkWtxFqTrwYlRERE1L30HX3CBRdcILdwPf74401uP/jgg/jvf/+Lt99+G9OmTUNvkqSY4TCUwwSglqv3EhER9c5gpKv8fj9sNhtSUlJaPcflcsktyGq19kjbEjUW1MSWI8st3rNH3pKIiGjA6/EE1kceeQR2ux3f+973Wj1n+fLlSExMDG25ubk90rYkQxpKEgPTe33mHnlPIiKiga5Hg5FXXnkFv/3tb/Gvf/0LGRkZrZ63bNky1NXVhbaiop5JJk2Ny0FBmhqMNOgT4al39sj7EhERDWQ9FoysWrUKN9xwgwxEFixY0Oa5JpNJzrxpvPWE7KThKEuwQed1ABotqnbn98j7EhERDWQ9Eoy8+uqrWLx4sdxfdNFF6K2Gpo0AtBroPOqMmqoDxdFuEhERUb/X4QRWke9x+PDh0O38/Hzs3LlTJqQOGTJEDrEUFxfj73//e2hoZtGiRfjzn/+MWbNmobS0VN4fExMj80F6k+FZI4BdgEcjgpFhqCmsiXaTiIiI+r0O94xs3bpVTskNTstdunSpPL733nvl7ZKSEhQWFobOf+aZZ+D1enHbbbchOzs7tN1xxx3obdJThkKrKLAb1LyR2sqTM3qIiIiol/SMnHPOOVAUpdXHX3zxxSa3N2zYgL5Ca7Qg0e9HlaUccQ2A1cFq+URERN2Nn7aNaTRI8gHHk9SekXrFEu0WERER9XsMRppJVHTIz1CDEbfeAkc580aIiIi6E4ORZhI1Bthi3TC46+Ttyl0F0W4SERFRv8ZgpJkUnVp5VedVF8qrPqzO/iEiIqLuwWCkmVSjmifigxqM1BRzkRoiIqLuxGCkmUxzktzXm9S8kbpqT5RbRERE1L8xGGkmxZws99UWtQqrzdnjCxsTERENKAxGmkk2p8p9UXKZ3NdrE+H3+6PcKiIiov6LwUgzqXHqasKHMisAxQ+fzgRbAZNYiYiIuguDkWaS47Ll3mr2weSulceVu49FuVVERET9F4ORZhLjs+X6NILGp86kqT6q5o8QERFR5DEYaUYbk4KkQI5Ig6Ze7mtK1T0RERFFHoOR5mKSkOLzycMKnUPurXVMYCUiIuouDEaaMycixacGH2VmtUfE7lGrshIREVHkMRhpzmhBcmCY5kSSmjPi0CXC52LxMyIiou7AYKQ5jQbJGoM8rEyugdbnhqLVoXofZ9QQERF1BwYjLUjRmuReZ7DD5FWn91btOx7lVhEREfVPDEZakKKPlXuN3g4t1CTW6oKqKLeKiIiof2Iw0oJkg7pyr6JvQIPOK49ryp1RbhUREVH/xGCkBSkmdeVer86JMp1GHlvt6p6IiIgii8FIC1JM6sq9bp0b+7RqMqtNUXtLiIiIKLIYjLQgJTZd7t06H/bGqvkjHr0F9SeYN0JERBRpDEZakBCbAV1gfRp7jFgwr04el391NMotIyIi6n8YjLRAG5uMxEDhM43ODhNs8rjqUFmUW0ZERNT/MBhpifnk+jQaXT00BrX6anWxWpGViIiIIofBSKuL5QV6RvT1cJjVy2StU4duiIiIKHIYjLTbM2LHCZNakdXGBfOIiIgijsFIS2KSkNyoZ2SXKUYeO/SJcNez+BkREVEkMRhpiTkJyX61Z0Svs2KXxwi91wFotKj66ki0W0dERNSvMBhpiSkeqX41P8RksEIUhI9T1OTVyv0notw4IiKi/oXBSEs0GiRr1fwQk7E+sHfLfXVhTVSbRkRE1N8wGGlnsTyNXl21F7HqpaqtVIMSIiIiigwGI61IMcbLvUfTIPf2BHVGjbVBXauGiIiIIoPBSDuL5bk0LrF+L47FqT0ldm0i/IGZNkRERNR1DEZakWBODq1PI4ZqdupiofF74dcZUXvweLSbR0RE1G8wGGmFNiYZScFaIzo7jtS6Eeetlbcrdh+LcuuIiIj6DwYjbRU+C9QaEYXPbC4v4oxqwbOq/MooN46IiKj/YDDSGnMSUgM9Iynx6gwaY5z6UG1ZYIYNERERdRmDkTZLwqs9I8mBYMQTr86oqbNpoto0IiKiAR2MbNy4ERdffDFycnKg0WiwevXqdp+zYcMGnHbaaTCZTBg1ahRefPFF9ImS8IGekbjYwPBMUmBGjaLuiYiIKArBSH19PfLy8rBixYqwzs/Pz8dFF12E+fPnY+fOnfjpT3+KG264AR988AF6tZgkpARyRkwmdVjmQFyC3Lv1FtSXsRIrERFRJOg7+oQLLrhAbuFauXIlhg8fjkcffVTeHj9+PD799FP86U9/wsKFC9FrmZOQEqwnolNLwh9wAuM9dXAZElGx8wjiFp4e3TYSERH1A92eM7Jp0yYsWLCgyX0iCBH3t8blcsFqtTbZotIzEsgZ8cIm98cqHYjXqoFJ1cGynm8TERFRP9TtwUhpaSkyMzOb3CduiwCjoUEttd7c8uXLkZiYGNpyc3MRzZyRBm+tWDtPnd5rUe+rLlYDFCIiIuqHs2mWLVuGurq60FZUVNTzjTAlINmvBh41rmrkJMbIY12CUe7ratVeEyIiIurhnJGOysrKQllZ0yENcTshIQExMeoHfHNi1o3YokqrRapeLSxi89RjUpoRxbUNcCTHAWXiPnN020dERNRPdHvPyOzZs7Fu3bom961du1be39vFmxND69NkJ6s9ISUp6gJ6Dn0iPPaWh5mIiIioG4MRu90up+iKLTh1VxwXFhaGhliuu+660Pk333wzjh49il/+8pfYv38/nnrqKfzrX//CnXfeid5Oaz65Pk1agkfu92nN0HsdgEaL8p1HotxCIiKiARiMbN26FdOmTZObsHTpUnl87733ytslJSWhwEQQ03rfffdd2Rsi6pOIKb5/+9vfeve03hZqjSRY1CqsBdUNiFfq5HHFXq7eS0RE1OM5I+eccw6UwNBFS1qqriqes2PHDvQ5otaIQ+0ZiTGLwmcxOFblQKLFjxoXUHVMDUqIiIion82m6TUa1RrR6O1yeq/d5YUlXU2ura32RrmBREREfR+DkTCrsNo8daHpvf4MtSy81c0ZNURERF3FYCTMnpFqZzWGp6lTfSsz00IzalycUUNERNQlDEba6xkJJLBWN1RjWFqsPC4wxsLgqZczaiq2c0YNERFRVzAYabdnJFD+3VmNYalqz0hBtRPxGnW9HM6oISIi6hoGI20xJ4aGaaqcVaFgJL+yXs6okfcX1Ua1iURERH0dg5G2mJOQ2rhnJJAzcqyqHilZ6pBNbTXXqCEiIuoKBiNhJrA2eBuQngBoNUC92wfzkBR5v9Xd8vo6REREFB4GI20xJyFWUWAKrN5r99ZhULIafDhyM+W+QZ8Al40zaoiIiDqLwUhbzInQAEgJBCNyRk0gb+S4yQKDx67OqNlxOMoNJSIi6rsYjLRFqwNMJ5NYm86ocTSaUVMc1WYSERH1ZQxG2hMjgpFTk1gLquqRZFHX6Kkq5IwaIiKizmIwElZJ+MbTe9VZNPmVDqTkBGbU1HBGDRERUWcxGOlo4bNgz0hlPVJHZchjzqghIiLqPAYjYdUaOZkzMiQlFgadBg0eHzSjB8v7GwxJcFkdUW4oERFR38RgpD3mhCbr0xh02lASa5EhFkaPTR6Xb+eMGiIios5gMNIeOZvm5DCNMDrTIveHK+oRr1GDEc6oISIi6hwGI+H0jDQaphFGZcTL/eFyO5Lig2vUqNN8iYiIqGMYjLTHJIIRNeCocdbAr/gxOkPtGTlUbkdKtjpkwxk1REREncNgpAM9I17FC5vbFhqmOVRmQ+potSy81csZNURERJ3BYKQ9pgQYAMQrmlCtkeFpcXLBPKvTC8OYXHm/U58IZ119lBtLRETU9zAYaY85Qe5S1WKrckaNSa87OaPGKGbUqPkinFFDRETUcQxG2mNSg5HmM2pGNcobidfY5XHFvhNRayYREVFfxWAk3GDE62k1GElKCMyoKeSMGiIioo5iMBLmME2Kx9VyrZFyO1IHqVN9a2rVoISIiIjCx2AkzJ6R5OaFzxrVGsmYmCOPrV41j4SIiIjCx2CkPQYzoDOeUvhsZLoFGg1QVe+GccIwQPHDrbfAVlwV5QYTERH1LQxGwi185g/khTSowUaMUYfByWptkUKvHrGeGnlcuuVQFBtKRETU9zAYCYc5IbRyb41LDToaD9WIJNZEo7pqb/mB0ig1koiIqG9iMBJ2SfimwzRCsCy8yBtJSRWl0YDqEjUoISIiovAwGAm7JLw6TFPnqoPHr07zHRma3mtD+ogUeVxr10exoURERH0Pg5FwmBKQ6PdDC7UkfK2z9pSekcy8YfLYpk2C1+ONYmOJiIj6FgYj4TAnyguVrDO1WPiszOqCbvQQ6LxOKFo9KncXRLW5REREfQmDkY5UYdUYQ4vlCfFmA7ITzfL4aK0L8X41ubV8J4MRIiKicDEY6UgVVo3+lCTWYO/I4XIbki3q8ExF/snHiYiIqG0MRsJhUqfwpiia0Mq9p0zvLbMjJTtWHtdUMmeEiIgoXAxGOjBMk9qsJHzjNWpErZGMcVnyuM6jBiVERETUPgYjHRmmaaHWyMlhGjsyZ4yRx059AhyVXMGXiIgoHAxGOpLA2mzlXmFUuhqMFNc2AOmpMLsDZeG3siw8ERFRtwUjK1aswLBhw2A2mzFr1ixs3ry5zfMff/xxjB07FjExMcjNzcWdd94Jp9OJPsOcKHcpbucpwUhynBFpFnXK75EKOxL1dnlcsfdEVJpKRETU74OR1157DUuXLsV9992H7du3Iy8vDwsXLkR5eXmL57/yyiu466675Pn79u3Dc889J1/j17/+Nfpcz4iz/pRgpHHxM5HEmpykXtLKYjUoISIioggHI4899hhuvPFGLF68GBMmTMDKlSsRGxuL559/vsXzP//8c8yZMwff//73ZW/K+eefj6uvvrrd3pRemTPitLYcjASSWA+W2ZA2LFke19o4AkZERBSODn1iut1ubNu2DQsWLDj5AlqtvL1p06YWn3PmmWfK5wSDj6NHj+K9997DhRde2Or7uFwuWK3WJlvvmE2jJrA2eBvg8JxcEG9clvr43hIrMibnymOrkghfYPYNERERRSgYqayshM/nQ2ZmZpP7xe3S0tIWnyN6RH73u99h7ty5MBgMGDlyJM4555w2h2mWL1+OxMTE0CbyTKLKEANo9YhRFJiblYQXJuSowci+EhvSp4+F1ueGX2dEzYHiqDWZiIior+j2sYQNGzbgwQcfxFNPPSVzTN544w28++67uP/++1t9zrJly1BXVxfaioqKEFUajewdESXPUgwJpwQjYzPjodUAlXYXqn2Axas+VrbjaNSaTERE1Fd0aL37tLQ06HQ6lJWVNblf3M7KUgt+NXfPPffg2muvxQ033CBvT548GfX19bjppptw9913y2Ge5kwmk9x6Xd5IQzVSDHE44axoEozEGHUYnhaHIxX12HvCiqRYN6w+oOJwZVSbTERE1O96RoxGI6ZPn45169aF7vP7/fL27NmzW3yOw+E4JeAQAY2gKAr63IwafWyLSawTchJDeSMpmeriedUVal0SIiIiiuAwjZjW++yzz+Kll16SU3VvueUW2dMhZtcI1113nRxmCbr44ovx9NNPY9WqVcjPz8fatWtlb4m4PxiU9KlgRGtsORjJbpQ3MjpDHtc51aCEiIiIIjRMI1x55ZWoqKjAvffeK5NWp06dijVr1oSSWgsLC5v0hPzmN7+BRqOR++LiYqSnp8tA5IEHHkBfXrm3qqGqycPBJNa9J+qQdfFI4OMjcOiT4LI6YErgWjVEREQRC0aEJUuWyK21hNUmb6DXy4JnYuvTgj0jirbFnpHx2erqvUcr66EbmgOTeztcxkSUbDmEYefmRaHBREREfQMrc3W0ZyRQOqR5MJIRb5Zl4UUazMEyOxK1am2Usl1RnglERETUyzEY6WThs+bBSPN6I6mpYiIwUFHEsvBERERtYTDS0Z4Rr6f1YCSQxLq3pA7pI1LkcY2tDyXpEhERRQGDkY7mjDRaudfnV3tJmueNiFojWdNHyGObJglel7fHm0tERNRXMBjpaM+I2wGtRgu/4keNq6bJKRMDwzT7S21InjwKeq8DilaHsh1HotJkIiKivoDBSLhMalEzvdOGFLM6BFPuKG9yyvA0C8wGLRxuH4psHiT61aGc0p0FUWgwERFR38BgpIM9I3DVIT0mXR5WNjQt967TauQ6NcGhmpQktcJsRX5tT7eWiIioz2Aw0sGcEbhsyIjNaLFnpEnxM5HEOjSwqF6NOrOGiIiITsVgpKM9I04r0mLS5GGFo+KU0xqXhc+aOlQe1yEBPl+gQAkRERE1wWAkXCZ1+AWKDxmmJHlY0dBCMBIqC29F+ozx0Ppc8GuNqNp3vGfbS0RE1EcwGAmX0QJo1MuVrre02jMyNksNRkqtTtT5tUjwqmvYlGw53KPNJSIi6isYjIRLown1jqTrYlrtGbGY9BiWGhsaqkm2qEXSyo80XViPiIiIVAxGOjG9N11jbLVnpGlZeCvSB6u9KNVVTQukERERkYrBSCeSWNMDl63SWXlKFVZhfGCoZm+JFZmTB8vjWm88FLGKHhERETXBYKQzJeH9/larsDZPYs06Yzw0fi+8uhjU5p86FZiIiGigYzDSiZ4RvbseqebUdmuNHK6wwx8fD4tbLY5WsuVQjzaXiIioL2Aw0pnCZ+3UGslKMCM1zgifX5F5I8kxLnl/2QH2jBARETXHYKRTJeGtoSqsLc2o0Wg0yMtVa5HsLKpFWo5ZHleVuXuytURERH0Cg5FO9oykx6a3OaNmaiAY+aqoFpnjs+VxrVud8ktEREQnMRjpVM+ILbRYXnlDy0MvjXtGsmaNBRQ/XDoL7GV1PddeIiKiPoDBSKcWyzvZM1LpaLpyb1DeYLUmSUGVA+7UVMS51KJnJ7480FOtJSIi6hMYjHRqmKYOGTEZbfaMJMUaMTwtTh5/dbwOSUaHev7ekp5qLRERUZ/AYKSTCaxpsa3PpmneO7KzsBapGQb1/BMNPdFSIiKiPoPBSCcTWIM9I1XOqharsDbOG/nquEhizZTH1Q3qujZERESkYjDSyZ6RFHNKqAprtbO6zRk1Iok158xxMonVqYuHvdzak60mIiLq1RiMdLJnRKfRnqzC2kreyPjsBBh0GlTXu1GdkII4l5rsevyzfT3XZiIiol6OwUhnekb8HsDrbHdGjdmgw4Rs9Tk7j9chxVwvj0u/ZhIrERFREIORjjDGi/qqp+SNtNYz0iRvpKgW6TlqvkhFiVoenoiIiBiMdIxWC5jiT5lR01rPiJA3+GQwkj15kDyucVugKEpPtJiIiKjXYzASgRk1bfWMTB2iBiO7i+uQPnsCNH4PPLoY1Ba0HsAQERENJAxGOj2jpi6sWiPDU+MQb9bD5fUj32dEvFs99/im/T3TXiIiol6OwUinS8LbQj0jLa3cG6TVappM8U2NU/NFSve3/hwiIqKBhMFIZ3tGwli5t6W8kYwhFnlcVeHt7pYSERH1CQxGOqpRAmtw5d62qrA2X8E3e+pQeVzjS4Df5++JFhMREfVqDEa6kMAaThVWIS9XXaPmcIUdsaeNhc7bAL/WiIq9xT3VaiIiol6LwUgXSsLrtDqkmdPanVGTEW/GoKQYiNm8+6w+JHrVmTTFXx7qmTYTERH1YgxGutAzIoQzo6Zx74hMYk1U80XKjrTem0JERDRQMBjpKHNiaGqvEM6MGiE4o2b7sRpkjFCPqxiLEBERMRjpas9IuDNqZgxLkfstBTXInj5CHluRCI+bs2qIiGhg61QwsmLFCgwbNgxmsxmzZs3C5s2b2zy/trYWt912G7Kzs2EymTBmzBi899576Os5I0JwRk25o/WcEWHSoETEGHSoa/CgKncwDG4bFI0Opdvzu7/NRERE/SkYee2117B06VLcd9992L59O/Ly8rBw4UKUl7f8Yex2u3HeeeehoKAA//73v3HgwAE8++yzGDRIXaelv/SMVDa0Xd7doNNi+tBkebz1RD2SUCWPS7Yd7d72EhER9bdg5LHHHsONN96IxYsXY8KECVi5ciViY2Px/PPPt3i+uL+6uhqrV6/GnDlzZI/K2WefLYOY/tAzkhGbEVbPiDBzuDpU82V+NdJS1NV/y46qr0NERDRQdSgYEb0c27Ztw4IFC06+gFYrb2/atKnF57z11luYPXu2HKbJzMzEpEmT8OCDD8Lna71ImMvlgtVqbbL12tk0MWlhJbA2DkY251cjc7R6XGXTdV9biYiI+lswUllZKYMIEVQ0Jm6Xlpa2+JyjR4/K4RnxPJEncs899+DRRx/F73//+1bfZ/ny5UhMTAxtubm56HWzaXwuwOMM9YyIomdev7fdGTVGnRYVNhe044fI++q1SXDa1PVqiIiIBqJun03j9/uRkZGBZ555BtOnT8eVV16Ju+++Ww7vtGbZsmWoq6sLbUVFRehdPSPqEAucdUg2JUOn0bVbhVUwG3SheiO7TEkwO9W8keObDnR/u4mIiPpDMJKWlgadToeysrIm94vbWVlZLT5HzKARs2fE84LGjx8ve1LEsE9LxIybhISEJluvodU2WiyvVlZhTTWnhjW9t0neyLE6pOrVWiUndhR2Z4uJiIj6TzBiNBpl78a6deua9HyI2yIvpCUiafXw4cPyvKCDBw/KIEW8Xp9kTgr1jDSpNRJW3khqKG8kI8ckj8uKGrqvrURERP1tmEZM6xVTc1966SXs27cPt9xyC+rr6+XsGuG6666TwyxB4nExm+aOO+6QQci7774rE1hFQmufFcwbaajtUK0RQUzv1WqA4zUNiBun5t5Uuy3w+5XubDEREVGvpe/oE0TOR0VFBe6991451DJ16lSsWbMmlNRaWFgoZ9gEieTTDz74AHfeeSemTJki64uIwORXv/oV+qyYYM9IbYd7RiwmvSyAtut4HQpyBkHnPQav3oyKAyXIHJ/Tve0mIiLqD8GIsGTJErm1ZMOGDafcJ4ZwvvjiC/QbzYZpsuOy5b7EXhLW02cOS5HByBfVfuR5y1ClH4rjnx1gMEJERAMS16aJwDBNjkUNIk7Unwjr6SfrjVQhLUnNpSk5qM6sISIiGmgYjERgmGaQRS1tf8IeXjASXDTvSEU9kkeqr1VR26lOKiIioj6PwUhXekacTXtGSutL2y18JiTHGTEuK14eVw5Rh3gc2gTU1zi6r81ERES9FIORCOSMiJLwBq0BPsUX1oyaxkM1m5R4xDWo1WuLPt3XXS0mIiLqtRiMdCUYCeSMaDXaUO9Isb24Y3kjx2qRaqqXxyd2hvdcIiKi/oTBSJdyRtSeESEnLqdDeSNiRo2wr9SK1EFmeVxe0nJFWiIiov6MwUiXhmnUnpEmM2rCDEYyEswYkRYHRQFsg9WqrDXeBPi8JyvVEhERDQQMRro0tfdkz0hwRk24wzTC3NFpcv95bCoMHjv8Wj1Kv+I6NURENLAwGOnKMI3LKhbn6VStEeGs0Wrl1vVF9Uj2qYmvRV8cinx7iYiIejEGI13pGYECuOo6VWtEmD0yFQadBkXVDUhIUtemKT1ysreFiIhoIGAw0hl6E6CPaZLE2tFaI0KcSS8XzhPsabFyX2k3QRGJJERERAMEg5GuDtUEpvc2rjVS5igL+2XmBYZqNsUmQuP3waWNg7XU2j1tJiIi6oUYjHS5CmvdKbVGOjJUc/YYNRh5v0aHeKe60F7RJ/sj314iIqJeisFIJKf3BmqNdGRGzYTsBKTGGVHv8cNiDBQ/2xPe6r9ERET9AYORCPWMCJ3pGdFqNZgXmOLrsKj/HGXlrDVCREQDB4ORCOWMdLbWSOO8kc1mNSnWqiSgwc5qrERENDAwGInQyr2d7RkR5o1Re0beUxIRK5JfNVrmjRAR0YDBYCRCK/d2ttaIkBFvxvjsBHg0elg01fK+wq3HItlaIiKiXovBSASHaYI9I2Jqb7i1RoLOCvSO2GIDxc9OdOz5REREfRWDkQgmsHa21ohwdiBv5BNRUA1AnT8eznrmjRARUf/HYCSCU3s7W2tEmD4sGTEGHT41pyO2oVzmjRR+djCybSYiIuqFGIxEsGeks7VGBJNehzNGpMCjMyDGXynvK9pcEKnWEhER9VoMRiKYMyJ0tmdEOCtQjbXaoOaLlJ7wdL2dREREvRyDkQj3jHS21ojwjXEZcv+xzij3tb54OB0MSIiIqH9jMNLVnBGfC/A0RKRnZGhqHMZlxWNHUg5iGipk3sjxTYci12YiIqJeiMFIZ5niZbDQWhXWzgQjwvkTs+DWGWD0qLNxCr/Mj0RriYiIei0GI52l0bS5Pk1nao0ICydmyv1xxSn3pcddkWkvERFRL8VgJMLTe7tSayS4iu+gpBjsjImVt2t9CXA1MG+EiIj6LwYjXdFCz0hXao0IGo0GCydmYUdKDswNlVBE3sjmo5FrMxERUS/DYKQ7pvd2stZI0PkTM+HSm6B1lsjbhZuOdLWlREREvRaDkQgvlid0pWdEmDEsBSlxRpQG8kZKitQ9ERFRf8RgJCLDNLURqzUi6LQaLBifgT1xMfJ2rTcBbicXziMiov6JwUgvq8IadP6ELGxPGQRzQxXzRoiIqF9jMNKNVVi7EozMHZ0GTVwctI7j8nbBZ8wbISKi/onBSISn9kai1oh8aYMO54xNR4lGzRcpLmK9ESIi6p8YjHRDz4ioNWLWmWWtkc7mjQSHarYmJACKH1Z/Auw1J8vOExER9RcMRrohZ0TUGhmWOEweH63tfK7H/HEZ2JuWizh7kbydv35vV1pLRETUKzEY6Qpzcos9I8KIxBFyf6Su87keiTEGzByTBberXN4+tk3NHyEiIupPGIx0w9ReYWTSSLnPr+vaQnffnpqDIwb1uKTKAMWvdOn1iIiI+kUwsmLFCgwbNgxmsxmzZs3C5s2bw3reqlWrZLnzb3/72+hXwzQuK+D3tdwzUtu1WTCiNPz29CzovE64NWaUH6nq0usRERH1+WDktddew9KlS3Hfffdh+/btyMvLw8KFC1Ferg4ltKagoAA///nPMW/ePPS7npEWhmpGJKnByNG6o/Ar/k6/RZxJj/FnTEasTe1hObru606/FhERUb8IRh577DHceOONWLx4MSZMmICVK1ciNjYWzz//fKvP8fl8uOaaa/Db3/4WI0aoH9L9gs4AGOJaHKrJjc+FXqNHg7cBZfUdX723se+cNhi1Pqs8Ltpf06XXIiIi6tPBiNvtxrZt27BgwYKTL6DVytubNm1q9Xm/+93vkJGRgR/96EdhvY/L5YLVam2y9bXpvQatAUMThnY5iTVYAC0/US0NX9kQC4+r6ZAQERHRgAlGKisrZS9HZmZmk/vF7dLS0haf8+mnn+K5557Ds88+G/b7LF++HImJiaEtNzcXfW16b5Ohmi5M7xUMOi3Sz50Jk1OUhtejcEtBl16PiIhowMymsdlsuPbaa2UgkpaWFvbzli1bhrq6utBWVKTW2ehLK/c2TmIVeSNddeG8CdDbC+XxkY8Pdvn1iIiIegt9R04WAYVOp0NZWdMcCHE7KyvrlPOPHDkiE1cvvvji0H1+v5rMqdfrceDAAYwcqU6BbcxkMsmtv0zv7eqMGiFvcCI+NnvlP1hRIUvDExHRAO0ZMRqNmD59OtatW9ckuBC3Z8+efcr548aNw+7du7Fz587Qdskll2D+/PnyuFcPv3R0mKadnhFF6Vp9EDElOmnmaFka3qlJgK26ndLw9ZUtDh0RERH1+WEaMa1XDLu89NJL2LdvH2655RbU19fL2TXCddddJ4dZBFGHZNKkSU22pKQkxMfHy2MR3PR5wZ6RFj74RQKrKA1vdVtR5ex6fZCzLp8Pi00dqtnzwe7WTzy0FnhsPPD0mUADZ98QEVE/C0auvPJKPPLII7j33nsxdepU2cOxZs2aUFJrYWEhSkpKMGC0kTNi1psxyDIoYkM1w3OSofFVyuMDX7SSR3N0A7DqGsDnBqzFwP/+r8vvS0RE1GtyRoKWLFkit5Zs2LChzee++OKL6FdCwzQtD4mMTByJIluRHKqZlT2ry2+XMCoJtirA4YiBz+uDTq87+WDBZ8ArVwE+FzB4BnB8C7DtRSDvamDIGV1+byIiou7AtWm6cZim8fTeSPSMCLOvnAe9xw5FZ8ZnGxute1O0BXjle4C3ARh1HvDDd4FpP1Afe+dOwOeJyPsTERFFGoORbhymaZzE2tUF84IyJo9Dok0NbHa9u0u9s3Q38M/vAm47MPws4Mp/AHoTcN79QGwqUL4X2PRkRN6fiIgo0hiMdOPU3khP7w3OqknPDYyu1WpQ5/CoeSGuOmDIbODqVYBBrdaK2BTg/AfU4w1/AGpYLI2IiHofBiPdOLVXGJ44XO7FbJo6ETBEwGmXTofG74HGkIj/rN0LFHyqPnDRo4AxsFZOUN5VwLB56vDNuz8HujjFmIiIKNIYjEQyZ6SFD/o4Qxyy4rIiVolVSJo9A0lW9bXq/rcJ8DoBSxaQMeHUkzUa4Ft/AnRG4PBaYP+7EWkDERFRpDAYiVTOiN8DeBpanVET0aEagwGD0tzyOKHeHHiTb6iBR0vSRgOzblaPd70WkTYQERFFCoORrhLDIlp9m3kjwaGaSAUjwuizRqlvaRiMBn+8Goy0ZcKl6v7ox4DPG7F2EBERdRWDka4SvRGhJNa6NpNYIzWjRshcOBcWexGg0eJI3QxUZLRTRyRnGhCTrCa6Fm+LWDuIiIi6isFIJIdqWqs1Epjee6Qucj0jusREZGvUKqxf2+Zh1dfOtp+g1QEjzlGPj5xcW4iIiCjaGIz0wPTeYDBSWl+Kek99xN52eKoa3FTrx+O1Lwvh87czU2bkuer+MIMRIiLqPRiM9MD03iRzElLNqZEdqlEUDLF8BqOrFn6tCZYyO/63r6zt5wTzSk5sBxzVkWkHERFRFzEY6YGS8N1RFl5UVTXpy5BpVauwzrTV45mN7UwdThwEpI8HFL+6oB4REVEvwGAkoiXh2whGAkM1kao1giPr5W5I0jG5z9RasK2gBlsK2unxGBUYqmHeCBER9RIMRiJBlF0XHFWtnjI6abTc76/eH9FgZMTcwdCKVXr1FmR5FTy94Uh4QzWH17MaKxER9QoMRiIhLkPd28tbPWVS+iS53125G34xTNIVorjasc/lYfzCq5BmOyyPZ9vsWL+/HAdKba0/d+iZgN4M2E4AFREKjIiIiLqAwUgkWALBSH1Fq6eMSR4Dk84Em9uGY1Z1aKXTCgMl4ONzoMmegCHZPvU9EAsowF8/bqN3RCyiN3SOesxZNURE1AswGIlkMNJGz4hBa8CE1Amh3pFIDNEES8CPvjAPWp8bfq0FWT7gv1+dwPEaR/t5I4f/17V2EBERRQCDkR4aphEmp02W+10V6gyYTjvykbofOV/uks+egzTrAXn8bb9H1hv52yf57dcbEUM97jaCFiIioh7AYCQSLOnqXpRa97ReCXVyegSCEVsZULZHPQ5UVNUYjRiWqyajpjUY5FDNqi2FqK5XF9M7RfpYIGEQIBJfA7knRERE0cJgJFJTe3XGdvNG8tLy5P5QzSE0eFte4bddx7eo+4yJQFxa6O7RF02HzuuES4nBvORYOD1+vPR5Qevr6QRn1XCKLxERRRmDkUgQH+7BoZr61odqsuKykBaTBq/ixb6qfZ17r7Kv1X32lCZ3J849A+lWdXbMhW61R+TFzwtQ1+BpJ2+EwQgREUUXg5FID9W0kTei0WgwJW1K15JYywLPy5zU9LUNBgwbrpfHjlIfRqfHyUDk2daqsoohHo0WqDwA2Eo71xYiIqIIYDDS00msgbyRryq+6tz7lAbyRbKaBiPC6EtmQO91wOk347YJOfK+5z7NR7mthTyWmGQgY0LToR8iIqIoYDAS6Z6RNoZphC71jLhsQE1+iz0jQvwZM5FhU2fVWPYWY2puEho8Pjy5Xi2KdorBp6t7BiNERBRFDEYixZKp7u2tJ7AKE9MmQqvRorS+FOWOtgOXU5TtDbxXVpPk1SCNTofhI9VE2oLDTvzy/LHy+JUvC1FY1cIU3sEz1P3xrR1rBxERUQQxGIn4ME1Z26cZ4jAyaaQ83l3Rwd6RstaHaIJGXToLBo8dLsWEwU4/zhqTDq9fwWNr1R6TFoOR4u2Az9uxthAREUUIg5GID9O03TPSeKhmV+WuzgUjLQzRBMXNOB0ZdjXw2P/+Hvxyodo7Iqqy7j1hbXpy6mjAlAiIacblgVk6REREPYzBSA8nsApT0juZNxJKXlWTYFui0WoxYmyMPC7Id2N8Rjy+NSVbLtD78AfNFsbTaoFBp6nHzBshIqIoYTAS6ZyRdhJYG5eF31O5Bz6/ushdu/z+kzVGMie2eeqIS8+EyVUDj2LE0S3F+Nn5Y6HTavDRgQp8ebSq6cnMGyEioihjMBLpYRpn2yXhhRGJI2TuiKjCeri2lZkuzdUWAJ56QGdSh1faEHfaNAxqUIuq7X53H4anxeHKGbny9v+9vRden7+FYIQ9I0REFB0MRnq4JLyg0+owKXVSx4ZqgkM0GeMAnVrcrK3iauNnZ8vjkkodbNVO/Oy8MUiMMWBfiRX/+OLYqdN7qw4Djurw2kJERBRBDEYiWhI+vFojjfNGwl40L5S82nq+SGODrvoWkmoPynbteW8vUi0m/PKbajLrox8eRLk10HsTmwKkjDw5q4aIiKiHMRiJpGAw0k6tkcZ5Ix3uGWljWm9jhsxMDE9Uezr2f1EGxa/gqhlDkDc4EXaXFw+812htHA7VEBFRFDEY6ZbCZ23XGmlcFv5I7RHY3fYO9Iy0nbza2LhLT5fl4R1eE47vq5RJrPd/e5LsxPnvzhP4/EileiIrsRIRURQxGIlCSXhBrN472DIYChRsK9vW9slOK1B7rN0aI80lLzgHWbVqz8uu/6r7KYOT8INZQ+Xxvf/9Gm6vv1Hxs63qrB0iIqIexGCkW2qNtD9MI8wZNEfuNx7f2PaJwSm9CYPUHI8waYxGjJ0UJ48LC31w1nvk8c/PH4vUOCMOl9vlQnqyt0Ufo84EEomsREREPYjBSCRZMsLuGRHOGnyW3G8s3ghFVCXrQuXV1gy9eiEs9uPwQ4f9Hx2V9yXGGrDswvHy+C/rDqGgxg3kTFOfwKEaIiLqYQxGuiMYCbNnZGbWTJh1Zrlo3qHaQxHNFwmKGTsWQzTqEM/e9WowInz3tEGYPSJVruq79F874R80XX2AwQgREfUwBiNRWCwvyKw3Y2b2zPaHajo4k6a58eePhcbvQY3DhPJCa6gWycNXTEG8SY/thbX4oG6IejIrsRIRUV8IRlasWIFhw4bBbDZj1qxZ2Lx5c6vnPvvss5g3bx6Sk5PltmDBgjbPH0jDNMJZg9Shmk+Of9LyCaJcfPneDtUYaS792xcgvVoNaHatPjmVeHByLP7vErW35f6dseqdYsE8Vxize4iIiKIVjLz22mtYunQp7rvvPmzfvh15eXlYuHAhystb/gDesGEDrr76anz00UfYtGkTcnNzcf7556O4uBj9ts6ISAT1ujqUN7KzYifqXHWnnlCdD3gcaoJpaqA4WQfp4uMxdqiavHporwMNdnfosctOG4RvTszCCX8yyjVpgOIHTuzo1PsQERH1SDDy2GOP4cYbb8TixYsxYcIErFy5ErGxsXj++edbPP/ll1/GrbfeiqlTp2LcuHH429/+Br/fj3Xr1qHfiUkGtIawSsIHZVuyMSppFPyKH58Vf3bqCWWBnoyM8YBW1+mmjbr2m4i3FcpE1t3vn8xPEcM1D142GWkWEzZ7A8EO80aIiKi3BiNutxvbtm2TQy2hF9Bq5W3R6xEOh8MBj8eDlJTWp6i6XC5YrdYmW58gqolZOpY30nxWzSnCXKm3PbFTp2KkVp22u/vj4/CJ+iIBKXFG/PHyydjhHyVvVx9oISgiIiLqDcFIZWUlfD4fMjMDlUYDxO3S0tKwXuNXv/oVcnJymgQ0zS1fvhyJiYmhTQzt9MeS8M2DEdEz4hM5Ii0mr3YuX6SxCVfPhdFVC6fXgIObjjd57BvjMpE2bp564/hmlNU1dPn9iIiIet1smoceegirVq3Cm2++KZNfW7Ns2TLU1dWFtqKiIvTnJNa89DwkGBNQ66o9da2aCPWMCEnnL8AQq7oY3o7/7j+ltsmi714CN/RIgRX/99K7anVWIiKi3hSMpKWlQafToays6RCEuJ2VldXmcx955BEZjHz44YeYMkVdsbY1JpMJCQkJTba+N703/GBEr9VjTk4L1VhFGfi6QvU4Y0KXm6bR6zH5/FHQ+tyosetRfLCmyeOxsXFQsvLksbl0K+5/JzCLh4iIqLcEI0ajEdOnT2+SfBpMRp09e3arz/vjH/+I+++/H2vWrMHppwcWZeuvLB0PRoR5g+edGoxU7Ff38dkdKgPflsyrL0N2pboWzvbXd53yuGnYGXJ/mvYQ/vHFMfx7W9PhHCIioqgP04hpvaJ2yEsvvYR9+/bhlltuQX19vZxdI1x33XVymCXoD3/4A+655x4520bUJhG5JWKz2/tpLYtODNMIcwfNhQYaHKg5ICuyNhmiiUCvSJAuIQETp6hDZEVFPtSWO5qekKsumrcwUe2RufvN3dhT3MKUYyIiomgFI1deeaUccrn33nvldN2dO3fKHo9gUmthYSFKSkpC5z/99NNyFs7ll1+O7Ozs0CZeo1/qRAKrkGxOxpR0dfjqk+JAAbRQsbPIBSPC0OsvR2rVHjn7Z8ebgYAnaLBaETbdcRgXjomHy+vHj/+xDRW28OqmEBERdZS+w88AsGTJErm1VuSssYKCAgwonewZCc6q+ariK3xU+BGuGHMFUBYIRjK6nrzamHHoUIxJq8YmBTiwsxZn2N2IsRjVBxMHAQmDobEexx/P9GJvVSwKqhy4/sUtePWmM2AxdepXhoiIqFVcmybSLJkdrjMStGCoOt35sxOfoUwM1YjS7N3QMyKMWXSBLILmU3TY9t8DLQ7VWMq34YXFM2Udkt3Fdbjln9s4w4aIiCKOwUgvKAkfNCJxBKZnTpfVWN/4+h9AQw2g0QJpYyPfzFkzMVZRa5js+bQU9XWuU4ZqULQFw9Pi8MIPZyDWqMMnhyrxy39/Bb+/6ZRgIiKirmAw0gtKwjd2+ZjL5f6NI29Blj9LGQkYWq/J0lmiDPyEmy9FgjVf9o5sfXPfyQdzZ54sC68oyMtNwlPXnAa9VoPVO0/goTWBWT5EREQRwGCkO0rCh5JYO543ct7Q85BkSkKpuxafxZi7ZYgmyDJvLsbp1MBi7xeVsNc41QeypgA6E9BQDVQdkXedMzYDf7xcTbB9ZuNRrPxYvZ+IiKirGIz0olojgklnwiUjL5HHr8dbIp682rx3ZPyt30Vi7WH4ocWWfwcSZvVGIGeaenx8c+j8y04bjLsuGCePH3p/P57aoK51Q0RE1BUMRnrZjBrhu2O+K/cbY2NQmjwI3cky+wxMiFF7OfZtq4a1sqFJEiuKvmxy/s1nj8SdC8bI4z+uOYA//+/kCsBERESdwWCkl5SEb2xE/FCc7nTDr9HgTccxdLdxt1+F5Op9UKDFl6/vOSWJtbk7FozGLxaqSbV/+t9BPPrhgVPWuSEiIgoXg5HuYEnvdAKrVH0UV1it8vA/xz+C1+9Fd4o9bRomJqpl3w99VadWZQ0msYrCa2KNnGZumz8Kd184Xh4/sf6wHLZhQEJERJ3BYKRbe0Y6XmtEKvsaC+odSFI0KHOU4bPiz9DdxvzkGlmVVfSOfP7yLiA+C0gaAkABitW1bJq78awR+L+L1QTbv248ip+/vot1SIiIqMMYjHRrAmsne0bK90LUQ73UrOaLvH7wdXS3mMmTMCm9FFD8yD/gQNHe6pNDNWKKbyt+OGc4ll82GTqtBv/ZfhzXPvclah3ubm8vERH1HwxGemECa3BNmu9mzw2tVVNiP7neT3cZvfR6DC5R18XZ8MJO+HJmtZjE2tzVM4fguUWny1LxX+ZX47KnPkdBZX23t5eIiPoHBiO9MIE1uCbN8MFnYlbWLFmR9emvnkZ3M40ahelnJsDoqoPVBmzPH3+yZ8Tf9vCLqEPy71tmY1BSDI5W1uM7T32GzfnV3d5mIiLq+xiMdGfPiLO2wyXh4XbIBFYpcyKWTFMXJFx9eDUOVDdbQ6Yb5Nx+M8ZWrpPH2z51wYpctbR9RftVV8dlJeDN287ElMGJqHF4cPWzX+CvHx9h+XgiImoTg5HuKglviFWPazo4NVd+6CtAbJoMaqZmTMX5Q8+HAgV/2vYndDdtXBzybv0WkmoPwqdosdF+u/rAETVAaU9GvBmv3TQbl+TlwOdXsPz9/bjh71tRU888EiIiahmDke4qCZ8RKONetrtT+SKNy8D/9LSfQq/Vy9V8Pz/xObpbwjcXYmrcQWj8Phyzj0aB8zTg0Nqwnx9j1OHPV03Fg9+ZDKNei/X7y3HRXz7BtmMRGLYp+AxYfSvwwd3AzleBkl0d730iIqJehcFId8mapO5Ld3cqX6RxGfjchFxcNfYqefzo1kfh88sl9Lq1TPyo39yO3JKP5e2Pa26Cp2Ab4LJ36DW+P2sIVt86R678e6LOie/99Qs89uGBzk3/FWvkrLoGePFCYOfLwKYngdU3A3+dBzyQDTx/QWgdHSIi6lsYjHSXrMnqvjRQ0TRc5V+r+2YL5P14yo8Rb4jHwZqDePvo2+hupuHDcdr8TJhcNbBrMvFp9Q+A/I0dfp0JOQl4a8kcXBwYtvnL+sO4+IlPset4bXgv4KgG3r8LWDET2P8OoNEB064FZv4YGDoXMCcBig8o/Bx4dj5w6H8d/2GJiCiqGIx0F7HybWd6Rsr3qftmC+QlmZNw05Sb5PETO55Agzewhkw3yr7lBkyuXCNrj+x1LcSRTzr4swTEmw34y1VT8eT3pyElzogDZTZ856nP8Yc1++H0tNHLYy0BVs4FvnwaEFVoR58P3PI5cOmTwIV/BBa/C/yqALh9u1oTRSTavnw58MljAKvBEhH1GQxGuovMGdEA9tLwi5/VV52s2pqhro7b2NXjr0ZOXA7KHeX4+9d/R3fTxsRg8m9vwZDjavLq+m0TYKvqXBAkhm2+NSUHa+88K9RL8vSGI7jgz59g/f4WKtV6GoBV3wesxUDycODaN4FrXj/1uoj8nNSRwA/fAU5bpCb/rvst8PoPOzSsRERE0cNgpLuYLEDKiI4lsQaHaJKHAca4U19SZ8Idp90hj/+666/4uipwfjeKPe00zFyYjXhrAdyIw4dPbOrSVN1UiwlPXD0Nf712OtLjTcivrMf1L27Fouc343B5IHgQvRpv/QQ4sV2dmSQCkZHfaPuF9Sbgkr8A3/oToDUAe1cDL1/B5FYioj6AwUiP5I2EGYwEK51m57V6ygXDL8D83Pnw+D342Yafoc5Vh+6WcdttOL32Vei8TpSWAlvf6Xqi6MKJWVj/s7Px47NGwKDT4OODFfjm4xvxu7f3wvHRY8Duf6n5Id/7O5AyPPwXPv16tZfElKDmkbx9B4dsiIh6OQYjvSkYCSaIDj+rzeGO38/9PQZZBqHYXozffPobWaG1O2l0OoxesgDj8l+Vt7e8dwwlh8NMQG0nl2TZhePx4Z1nY8H4THj9CvI3vQHzx/fLxx0LHmzzWrRqyBnAFS+qwcxXrwKfPNLlthIRUfdhMNKdOhKMeJxAYaBnZPjZbZ6aYEzAn875E4xaIzYc34AX9ryA7maY8R1MH/EBMks3y1yY957cDmtlZJJoxdTfvy06Ha9/NwUrjE9Cq1HwsvdczPpwGB5bexB1DZ6Ov+ioc9UkV2H974E9b0SkrUREFHkMRnoiGKk8pCZktjdE43MB8dlA6qh2X3p86nj8etav5fFfdvwFW0pbX1k3ItJGI35iJmb5n4PFfhxOJ/DWI5vRYI9QZVW/DzN2LEMsGlCdNhOvpt4Gm8uHv6w7hDkPrcfv39mLompHx15zxg3AGbeqx6tvAY5vjUxbiYgoohiMdCcRWMSmqnUwglN2wxmiETNEwnDZ6MtwychL5DDNLz7+BUrrS9FtRJtGnYdBeeU4o+4VmJzVqKv14Z3Ht8LjjkARti9XAid2AKZEpCz6B9664xt46prTMCbTArvLi799mo+zH/4It728HdsLa8J/3fN/D4z5JuB1Aq9eBdQWdb2tREQUUQxGupP4AM8MsxJrGPkip768Br854zcYnTwaVc4q/HDND1FoLUS3GX0etDpg1NzjmGF7D3qPA+XHnfhw5c6uLYYn1u8RQynC+b8D4rOg1Wpw4eRsrLnjLLyweAbmjkqDeIt3d5fgsqc+x7ee+AT/2FTQ/hCOaPB3nwMyJwP1FcC/rlWHxIiIqNdgMNJTQzVlbVRiddmA4m3qcQcTNmP0MXjyG09iSPwQmdC6aM0iHKo5hG4h2qYzQtdQhAm/vxHTSl+H1u9Bwd46bHx5L5TOzFoRz3nnTsDjAIbOAaZd1+RhEZTMH5uBf94wC+/fMQ9XTB8Mo06LPcVW3PPfrzHzgf9h6Ws7selIVesBkZhmfdXLQEyK2vvy7lLOsCEi6kUYjPSGSqzHNqlDOaK+SNKQDr9FjiUHL13wEsYkj0FlQ6XsIdld0blqqW0StU+GnikPDbXbkffEfZh07HVZofXrz8qw8eX9He8h2f26uiKwzgRc/GcRfbR66vjsBDx8RR6++PW5uOdbE+QQjsvrxxs7inH1s1/gzIfWy6nBOwprTg2MkocCV7wAaLTq2jZb/tapS0BERJHHYKTHFszbA/hbmYKbry5I16lprAFpMWl4fuHzmJI+BVa3FTd8eAO+KPkCESdKsgtfvynXr5n+0G0Ym/+GDEj2fFqCNU/thLetEu/NK86uuUs9PusXMkk2HKKk/I/mDscHPz0Lb956Jq6akYt4sx6lViee/yxflpqf98ePcP87e/H5kUp4fIHrPuIcYMFv1WPxviIIJCKiqNMonepb71lWqxWJiYmoq6tDQkIC+hSfB3gwB/C5gZ/sOFmVtbGV84DSXWpuw+TLu/R2Do8DP/noJ/iy5EtoNVosnrgYt069FUadERFhKwUen6LO/Fn0tgyg7J99hu33/g17Rl4FRWtA9tBYXHTHdJhiDW2/1ps3q3VAROn8mz4G9J1vo8vrw8aDlXhn1wms3VsGR6OkWhGonDM2A98Yl445I1OR8cGtwNdvAHEZwI8/BhJyOv2+RETU9c9vBiM94a9nASVfAd/7BzDhklNXpf2jCFAU4GcHgfjMLr+dy+fC7zb9Dm8deUveHpU0ShZKm5jadPG9Tnv358CWZ4Fh89RqpwCce/di553LsTP3Kvj0MUhO1eOSn8+EJdnc8msceF+d3SLW7/nRWiB3RmTaBqDB7cPHB8uxdm85PjpQjur6ptOPp2QY8KznLmQ2HIEvayp0i0XF1viIvT8REXXs85vDNNEuflbwqRqIpI+LSCASXMPmgbkP4PFzHkeKOQWHaw/jmnevwZM7npSBSpfN/am6/kvBJ0ChOhRknjAB059/CGdUvg6jqxY1VV689n+f4+jOFhYJFAsHvnW7ejz7togGIkKMUYdvTsrGo9/Lw5a7F+A/t8zGLeeMxMQc9T+EXeUeXFG7BNWKBbrSndj58IW47z9b8eaO4yiscnQuEZeIiDqNPSM94YuVwJpfAWMuAL6/quVehpk3ARc+HPG3rnHW4IEvH8AHBR+Eckt+OPGHuGLMFYg1xHb+hcVCdttfAkaeC1x7srqpr64OB5f8CpuVM2G3DJb3jZuRjnnfHw9jjF6dxfLq1cDB94GMicCN6wFDK70n3UD0koiZN58dqUTVgS/wSMM9iNc04EPfdNzi+Sl80CE51oBJgxIxZXAiJg9KkkHM4OQYOZW624jrUn0UqM5Xa6KIoFEM8YnhPUsmkDZGTW4WU5WJiPoIDtP0JgWfAS9eCCQMBpY2W2n3yZlA5QHgyn8C4y/utiasKViDR7c+GiqMlmRKwg/G/wBXj79alpfvMPGh+cR0dRbQDeuBwdNDD/ndbpx48CHs2OxAYe4COYPFYtHgvB9PRY71LeDtn8gpwrjxo5MJvlFSs3cdEv59FXR+Nz4yfQM/tv8Ibt+pQUe8SY8xWfEYF9hGZlgwKt0iVx7uVJAikpmPbwEKNwFFm6GIpQDqK2UnmRi5EtspL6s3A6mjgYzxwMj5wKgFgCWj8z88EVE3YzDSmzjrgIcCU3Z/mQ/EppxMBn10rPrJ88ujJ+/vJh6fB+8cfQd/2/03FNoKQ0M6Zw0+S64GPG/QPJjFB1643rwF+OqVlnt8xGSZTZvw9e9XYnfaRXDGpMnhqJGmLzAr/mUkX/BjYM4d6BVE/sqqa2Rg5Z1xE/ZO+TV2FVux+3gddhXX4XC5DR5fy/+ZiCBlRIYFI5PNGGV0Y5jiQI7XjhSnFTEOG3x1tfDVqpvfaoPfXgd/bQX89Xb4PX7Ar1FLnigtBDQiINFq5Hp/Gq0PWp0fWr0CjU6BzuCH1qhAl5gCbdZw6IZOhm7IeOiSkqFLToI+ORm61FTokpKgaWO6NBFRd2Iw0ts8PhmoLQzNQJF2vQ68cQOQnQf8OFCBtQf4/D58eOxDPLv72SYF0uIMcZifOx9zB83F6ZmnIzOunRyWysPAihlyWq9sv/g5mr+XvR7Ff3gMW3cBJdlz1DsVP0ZPTcbM745HUkYXhooiade/gDduVI8nXAp86/FQcOj2+nG0wo5Dh46j5OuDsB3Oh//EcZgry5DpqEamowYJHi98Rgvcxni4jQlwG+LhMcTCqw9uMfDqzfBpjfDrTPBpDfDpjFA0OigardxED5ICDTSKHxrRRSL2igKt4pXF5bQ+j7r3e6D3OaHzuaD3ir0Tem8D9F4HDGLvEft6GDx2GPxOmOPNMKSlQJ+WBn16urplqHtDRgb0mZnyMY2hndlPREQdxGCktxHfvPe/A+RdDYyYr479f7UKOLwWOPN2dQ2VHib+6fdX78f7Be9jTf4alNSXNHk8Nz5XBiXTMqbJgmojkkbIiq9N/OcGtXCZGGISQ00t8ThR/5cbcOid4ziQeikq09SgRXzgjpgQj3HzRyB3Qgp0uih/g9/2IpS3fwa3VYHbmwlXznfgrvHDUVAIa4kVDo8RTnMqnOYUOM3JcJmS4TQlwWVKklOaezO9Rw1OjGJz29RjubfJvdFjgzlOh7ikGMSkJ8IgApSM9MA+I7Sxp4WIOoLBSG+z4Q/Ahgdbfuyaf8t1X6JJLLa3q2IX/nfsf9hStkUGKeK+xkTdEhGgjE4ajSEJQzDIMgiDvH7krF6CbK8X5jl3AnN+AsQkn3xS+X7gPz+S5fDFb5p9+C9w5MNS7PeMQVXqyXwRk86LEVOSMe7c0cgcntDtgYnf4YC7oACuo/lwHj4M+5HjqC2uhbXGgwZjMhpi0tFgTkNDTBrcpqSwXtMUq0dsvAExxgbEuAthtu2HSWOFSVsPiMlHlonYbpyEfFcsKhrcqHF5IaqhiKss/iP0B0ZqZMqIEkodgR6AThF7jXgZJBj0SNTrYNFpEafTIVajRZzfi1RXJSzOWmjdHrj8Fjj98XApHZ+yrPH7mgQpBrcIYgKBi68B5hgtYhJMiEk0IzYtHjHpyTCkp8phIX1g0yUlQqtzQ9NQDTiq1HwYd/3JxFyvC/B71FlZehOgM6hVeI2x6u+POQmIEVsyYEoIe/FIIupdGIz0NiI/ZO29QEMN4PcGNh+QMlwdEhB/jHsRm9uGHeU7sLVsK76u/FoO59S42l4tN87vR6pfQWpcFlLTJyLRXoGEws1I8HoQr49F/PTFiM09A7G6GMTuOgrHqs9RUpWMsvTT4GmURKuDDykJXmQOjcegaUOQPjoNliQzdIbwAxTF74e3shLeEyfgLDoBW1EZbMerZQ+HvdYNh8cgezgaRE9HTBp84oOwDXqtBwlJOiTkpCI+LQ6WFBPik82ISzbBkqBDXM0W6A6sVnu/xIdv0OAZwKybgfGXnFLUzenxoarejQqbS26VdhcqbS55X43DLWf+VNndcjHAWocb9WGujpwAO87TbsdC3RbM1eyBBiY0+BPg9CfA5kvGUd8IFPiHotyXDY+SAJ1iRqxfA7NfA72i7VTwopfDQsHhoXo5ZCQ2I8RWD5OmHkatQ930DTDrHDDpHTDonTAaHDAavNCKPBiDIvNigrkxIgZRxL9NXJpapM6SAY0lPXCcCQSPxerYYlhNrD/UheJ5HSL++xVBlZjxJI5FMnfwv2sZXoaukLoTvaFafWALHItEbrFnsEX9VLcGIytWrMDDDz+M0tJS5OXl4YknnsDMmTNbPf/111/HPffcg4KCAowePRp/+MMfcOGFF0b8h6HuI35NxMrAB2sO4nDNYbkoX+OtwdvQqdeNdyg4/aAGpx0bDYv/dFSlToG3lSnHWp8NWr8V0NhEJge0EDkVXmjgh9anQOczQOMXmx4KjPAa1BwOkbMRxk8IxVAPj6UBriQnvPEN8OqK4bVvhldfAr/OHpjhopMfeiKXQ/0gEtNw1ZWDQx8n4sMzcRA0KSPVD8lGujI9WCz74/b64PEqcPv8ssz9yU2Re29g7/Er8Pn98Pu8SPJWIs1XgVSlBma0XGfGDQPqFTPcfjN0vnjovRbovBYYfPEwemNh8sbA5ImDyW2BwWuB1mcBFIuoMINIEAGN1u+GzucO5MWIPBl34N/XKz/o5V5smuCHvQ+KRvQr+cULiH9B+Y8g9iIfOJgXLPJw5B85jdgH+5sCq2orjaYuKRqRsaOuX4RGt2U5pmZ7TfC2yPNR9yf7sgI5QI2eo4Se06gNgddQ/wAH23QyGFTP64jAM0J/0hvvFfV3tvHtwP7k+WofnZqvFHhM3g72kAbv8zd5vMlrhbaTr9e8HfJIo7ZH/Xdp1AZNS21va9/acUsfa+F81J08J+yr3+u/zrespZz58d+ZiDmXXIE+EYy89tpruO6667By5UrMmjULjz/+uAw2Dhw4gIyMU6cZfv755zjrrLOwfPlyfOtb38Irr7wig5Ht27dj0qTwpnUyGOndxK+QzWNDVX0lqva9iaqv/okqRzmsegOsw+fCljIMVrdNntPgaZCBi8PrkJvL65KF2MSfpRingkkFwIjydGTbhyHWOxzumGFwxGTA39Vy9ooPfljh1NXAaq5GpaUG1XE1sJmqYDVXwWaqhl8b5po6FKLz62EWQYo3DmYZtMTC7I1DrDsWcU4z4twxiHHHyMeMPjN0fhN0iglaxAAaE6ARg1BE1BsMnvgVLr39zr4RjIgAZMaMGXjyySflbb/fj9zcXNx+++24667AomeNXHnllaivr8c776hlw4UzzjgDU6dOlQFNJH8Y6iV8XuDQh+rCd2Esfid+BT1+jwxKxOb1e+U0ZHGfu7Ya3hOlcFXUwVneAGe1B26rDz5FfF/Tib4R0S8CRacBYnRAnB5KcEs3QRMPaGP8gFn9lhb6n/hWJr+ZBb6pBe9r9jWn8X8eisihsZdBqSsCdGYoIr9BrGQsNoP4cG17iKP5f2rN3yuSOvTaHifgrAUaagFPQ+Cbb+Dbr9hEToeY8i1+RtFrJfbiZ47A0IIY2YBXC3g0UDwawKeBIqr3O33QOPzQNPgAMQXarUAjNo8CxatAIzpJxAKI4vk++YdM/SLu88leFvGYvE/OSBJTqBt9a1ca9xSI3pRG39DlPnAFRU+KVjyuUXtYxM+rEbk9GtnhoT4e6H0JnhPqVFGgaDWh15a3A4+ffK9QtpDs2ZHXXB6Ln8UHjUb97Vbb3HSGlThPba7685w81kArX0c0RPxOq307wa/B4pbsPwl2HQV7b9QfQr0coftEU4I/VLCbKfA6wR6lwP3y/QOvp7Yl+PqB1wte6kbPOXmxA+1v/JqhX5DGt1s5Dv2qN+rxOsWp97Xf89TK4536tY9y94kS3mlTr5qNaecGFkONkHA/vzv0tcTtdmPbtm1YtmxZ6D6tVosFCxZg06aWV0AV9y9durTJfQsXLsTq1atbfR+XyyW3xj8M9SE6PTAu/GE4MXQhFvITWzyaJVwmjQCGRb6JRETUe3QoW62yshI+nw+ZmU3rT4jbIn+kJeL+jpwviCEdEUkFN9HzQkRERP1TrywYIHpeRJdOcCsqKop2k4iIiKibdGiYJi0tDTqdDmVlZU3uF7ezsrJafI64vyPnCyaTSW5ERETU/3WoZ8RoNGL69OlYt25d6D6RwCpuz549u8XniPsbny+sXbu21fOJiIhoYOnwvDqRjLpo0SKcfvrpsraImNorZsssXrxYPi6m/Q4aNEjmfQh33HEHzj77bDz66KO46KKLsGrVKmzduhXPPPNM5H8aIiIi6v/BiJiqW1FRgXvvvVcmoYopumvWrAklqRYWFsoZNkFnnnmmrC3ym9/8Br/+9a9l0TMxkybcGiNERETUv7EcPBEREUX187tXzqYhIiKigYPBCBEREUUVgxEiIiKKKgYjREREFFUMRoiIiCiqGIwQERFR36ozEg3B2cdcvZeIiKjvCH5ut1dFpE8EIzabTe65ei8REVHfIz7HRb2RPl30TKx/c+LECcTHx0Oj0UQ0YhMBjlgVmMXUuhevdc/hte5ZvN49h9e6711rEWKIQCQnJ6dJdfY+2TMifoDBgwd32+uLC81f7J7Ba91zeK17Fq93z+G17lvXuq0ekSAmsBIREVFUMRghIiKiqBrQwYjJZMJ9990n99S9eK17Dq91z+L17jm81v33WveJBFYiIiLqvwZ0zwgRERFFH4MRIiIiiioGI0RERBRVDEaIiIgoqgZ0MLJixQoMGzYMZrMZs2bNwubNm6PdpD5v+fLlmDFjhqyWm5GRgW9/+9s4cOBAk3OcTiduu+02pKamwmKx4Lvf/S7Kysqi1ub+4KGHHpLViX/605+G7uN1jqzi4mL84Ac/kNczJiYGkydPxtatW0OPi7kA9957L7Kzs+XjCxYswKFDh6La5r7I5/PhnnvuwfDhw+V1HDlyJO6///4ma5vwWnfOxo0bcfHFF8tqqOLvxerVq5s8Hs51ra6uxjXXXCMLoSUlJeFHP/oR7HZ7J1vU9M0HpFWrVilGo1F5/vnnla+//lq58cYblaSkJKWsrCzaTevTFi5cqLzwwgvKnj17lJ07dyoXXnihMmTIEMVut4fOufnmm5Xc3Fxl3bp1ytatW5UzzjhDOfPMM6Pa7r5s8+bNyrBhw5QpU6Yod9xxR+h+XufIqa6uVoYOHar88Ic/VL788kvl6NGjygcffKAcPnw4dM5DDz2kJCYmKqtXr1a++uor5ZJLLlGGDx+uNDQ0RLXtfc0DDzygpKamKu+8846Sn5+vvP7664rFYlH+/Oc/h87hte6c9957T7n77ruVN954Q0R2yptvvtnk8XCu6ze/+U0lLy9P+eKLL5RPPvlEGTVqlHL11VcrXTVgg5GZM2cqt912W+i2z+dTcnJylOXLl0e1Xf1NeXm5/KX/+OOP5e3a2lrFYDDIPzBB+/btk+ds2rQpii3tm2w2mzJ69Ghl7dq1ytlnnx0KRnidI+tXv/qVMnfu3FYf9/v9SlZWlvLwww+H7hP/BiaTSXn11Vd7qJX9w0UXXaRcf/31Te677LLLlGuuuUYe81pHRvNgJJzrunfvXvm8LVu2hM55//33FY1GoxQXF3epPQNymMbtdmPbtm2yC6rx+jfi9qZNm6Latv6mrq5O7lNSUuReXHePx9Pk2o8bNw5Dhgzhte8EMQxz0UUXNbmeAq9zZL311ls4/fTTccUVV8jhx2nTpuHZZ58NPZ6fn4/S0tIm11usxyGGf3m9O+bMM8/EunXrcPDgQXn7q6++wqeffooLLrhA3ua17h7hXFexF0Mz4r+FIHG++Pz88ssvu/T+fWKhvEirrKyU45KZmZlN7he39+/fH7V29TditWWRwzBnzhxMmjRJ3id+2Y1Go/yFbn7txWMUvlWrVmH79u3YsmXLKY/xOkfW0aNH8fTTT2Pp0qX49a9/La/5T37yE3mNFy1aFLqmLf1N4fXumLvuukuuGCuCZ51OJ/9WP/DAAzJPQeC17h7hXFexF8F4Y3q9Xn7Z7Oq1H5DBCPXct/Y9e/bIbzUUWWJZ7zvuuANr166VCdjU/YG1+Db44IMPytuiZ0T8bq9cuVIGIxQ5//rXv/Dyyy/jlVdewcSJE7Fz5075pUYkXfJa918DcpgmLS1NRtzNZxaI21lZWVFrV3+yZMkSvPPOO/joo48wePDg0P3i+ophstra2ibn89p3jBiGKS8vx2mnnSa/mYjt448/xl/+8hd5LL7N8DpHjphdMGHChCb3jR8/HoWFhfI4eE35N6XrfvGLX8jekauuukrOWLr22mtx5513ypl6Aq919wjnuoq9+LvTmNfrlTNsunrtB2QwIrpWp0+fLsclG3/zEbdnz54d1bb1dSIvSgQib775JtavXy+n5zUmrrvBYGhy7cXUX/FHndc+fOeeey52794tvzUGN/HNXXRlB495nSNHDDU2n6IuchqGDh0qj8Xvufhj3Ph6i6EGMY7O690xDodD5iA0Jr48ir/RAq919wjnuoq9+IIjvgwFib/z4t9G5JZ0iTKAp/aKLOEXX3xRZgjfdNNNcmpvaWlptJvWp91yyy1yatiGDRuUkpKS0OZwOJpMORXTfdevXy+nnM6ePVtu1DWNZ9MIvM6RnT6t1+vltNNDhw4pL7/8shIbG6v885//bDItUvwN+e9//6vs2rVLufTSSzndtBMWLVqkDBo0KDS1V0xDTUtLU375y1+GzuG17vzsux07dshNfPw/9thj8vjYsWNhX1cxtXfatGlyivunn34qZ/Nxam8XPfHEE/KPtag3Iqb6innT1DXiF7ylTdQeCRK/2LfeequSnJws/6B/5zvfkQELRTYY4XWOrLfffluZNGmS/BIzbtw45ZlnnmnyuJgaec899yiZmZnynHPPPVc5cOBA1NrbV1mtVvl7LP42m81mZcSIEbI2hsvlCp3Da905H330UYt/n0UAGO51raqqksGHqP2SkJCgLF68WAY5XaUR/9e1vhUiIiKizhuQOSNERETUezAYISIioqhiMEJERERRxWCEiIiIoorBCBEREUUVgxEiIiKKKgYjREREFFUMRoiIiCiqGIwQERFRVDEYISIioqhiMEJERERRxWCEiIiIEE3/D+gkG+pSdggIAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "model = LinearModel()\n", + "\n", + "epochs = 100\n", + "eta = 1e-7\n", + "\n", + "optims = [\n", + " torch.optim.SGD(model.parameters(), lr=eta),\n", + " torch.optim.SGD(model.parameters(), lr=eta, momentum=0.9),\n", + " torch.optim.SGD(model.parameters(), lr=eta, momentum=0.5),\n", + " torch.optim.Adam(model.parameters(), lr=1e-1),\n", + " torch.optim.AdamW(model.parameters(), lr=1e-1),\n", + "]\n", + "\n", + "plt.figure()\n", + "for optim in optims:\n", + " model.m.data *= 0 \n", + " model.c.data *= 0 \n", + " \n", + " losses = []\n", + " for epoch in range(epochs):\n", + " optim.zero_grad()\n", + " \n", + " y_pred = model(x)\n", + " loss = torch.nn.functional.mse_loss(y_pred, y, reduction='sum')\n", + " loss.backward()\n", + " \n", + " optim.step()\n", + " \n", + " losses.append(loss.detach())\n", + " \n", + " plt.plot(range(epochs), losses)" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "131cd626-42ac-4b7f-8f75-83e6549e3172", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([[0., 0., 0., ..., 0., 0., 0.],\n", + " [0., 0., 0., ..., 0., 0., 0.],\n", + " [0., 0., 0., ..., 0., 0., 0.],\n", + " ...,\n", + " [0., 0., 0., ..., 0., 0., 0.],\n", + " [0., 0., 0., ..., 0., 0., 0.],\n", + " [0., 0., 0., ..., 0., 0., 0.]], device='mps:0')" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "torch.zeros(1000,1000).to(\"mps\") @ torch.zeros(1000,1000).to(\"mps\")" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "31fb8a41-34ac-4585-b68f-dd7beab453a1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAGdCAYAAAD+JxxnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAANslJREFUeJzt3Ql4VGWe7/F/VfY9ISEJISxhjSwCgiCu48CADtfrNi160eG6NK2N49aDNtMjdk9fG1tsu9sNoXu69Y4owtx2AVGbAcFBw74vRhSECIQAIQvZU/Xe530rVaaQJSGVOlV1vp9+juecOm+qXo8N9cu7HYdSSgkAAIANOa2uAAAAgFUIQgAAwLYIQgAAwLYIQgAAwLYIQgAAwLYIQgAAwLYIQgAAwLYIQgAAwLaira5AKHO73XL48GFJSUkRh8NhdXUAAEAb6LWiq6urJS8vT5zOc7f5EITOQYegHj16WF0NAABwAUpKSiQ/P/+cZQhC56Bbgrw3MjU11erqAACANqiqqjINGd7v8XMhCJ2DtztMhyCCEAAA4aUtw1oYLA0AAGyLIAQAAGyLIAQAAGyLIAQAAGyLIAQAAGyLIAQAAGyLIAQAAGyLIAQAAGyLIAQAAGyLIAQAAGyLIAQAAGyLIAQAAGyLh65a4EhlnfzfogPiVkpmXn+R1dUBAMC2aBGyQE2DS+au+lreXHvQ6qoAAGBrBCELdEuLN/vqhmaprm+yujoAANgWQcgCSXHRkhrv6ZU8WlVvdXUAALAtgpBFuqUlmP2RSoIQAABWIQhZJLele+xIBUEIAACrEIQsHidEixAAANYhCFncNVZaVWd1VQAAsC2CkEVoEQIAwHoEIYswRggAAOsRhCxvEaJrDAAAqxCELNIt3TNGqKq+WWoamq2uDgAAtkQQskhyXLSkxHkWVSxlUUUAACxBELIQ44QAALAWQSgUghDjhAAACP0g5HK55Mknn5SCggJJSEiQvn37yi9/+UtRSvnK6ONZs2ZJt27dTJnx48fL3r17/d6nvLxcpkyZIqmpqZKeni733nuvnDp1yq/M9u3b5aqrrpL4+Hjp0aOHPPvss9+rz+LFi6WwsNCUGTp0qCxbtszvelvqYqU871pCTKEHACD0g9Cvf/1rmTt3rrz00kuyZ88ec64Dyosvvugro89feOEFefXVV2XdunWSlJQkEydOlPr6777sdQjatWuXLF++XJYuXSqffvqpTJs2zXe9qqpKJkyYIL169ZJNmzbJnDlz5Oc//7nMnz/fV+bzzz+XO+64w4SoLVu2yE033WS2nTt3tqsuIdEixBghAACsodph0qRJ6p577vF77ZZbblFTpkwxx263W+Xm5qo5c+b4rldUVKi4uDj11ltvmfPdu3fr5iO1YcMGX5kPP/xQORwOdejQIXP+yiuvqIyMDNXQ0OAr88QTT6iBAwf6zm+77TZTn9bGjBmjfvSjH7W5LudTWVlp6qr3neGtdQdUryeWqv/9p3Wd8v4AANhRZTu+v9vVInT55ZfLihUr5MsvvzTn27ZtkzVr1sj1119vzvfv3y+lpaWmC8orLS1NxowZI0VFReZc73V32KhRo3xldHmn02labbxlrr76aomNjfWV0S05xcXFcvLkSV+Z1p/jLeP9nLbU5XQNDQ2mNar1FpwxQrQIAQBgBc/87Tb66U9/asKBHpcTFRVlxgw9/fTTpqtL08FDy8nJ8fs5fe69pvfZ2dn+lYiOli5duviV0eOQTn8P77WMjAyzP9/nnK8up5s9e7b84he/kGDJa1lLiOnzAABYo10tQosWLZIFCxbIm2++KZs3b5bXX39dnnvuObOPBDNnzpTKykrfVlJSEpQWoYraJqlrdHXqZwEAgA62CM2YMcO0Ct1+++3mXM/UOnDggGlJmTp1quTm5prXjx49amZqeenz4cOHm2NdpqyszO99m5ubzUwy78/rvf6Z1rzn5yvT+vr56nK6uLg4swWLXlAxKTZKahpdZgp9n67JQftsAADQzhah2tpaM5anNd1F5na7zbHuztIBRI8j8tJdaXrsz9ixY8253ldUVJjZYF4rV64076HH73jL6JlkTU1NvjJ6htnAgQNNt5i3TOvP8Zbxfk5b6mI1h8Phe9QGU+gBALBAe0ZhT506VXXv3l0tXbpU7d+/X/3lL39RWVlZ6vHHH/eVeeaZZ1R6erp677331Pbt29WNN96oCgoKVF1dna/Mddddp0aMGKHWrVun1qxZo/r376/uuOMOv9ldOTk56q677lI7d+5UCxcuVImJiWrevHm+Mp999pmKjo5Wzz33nNqzZ4966qmnVExMjNqxY0e76mLlrDHtzj+uNTPH/nNjSad9BgAAdlLZju/vdgWhqqoq9fDDD6uePXuq+Ph41adPH/Wzn/3Mb5q7nrb+5JNPmiCjp6qPGzdOFRcX+73PiRMnTPBJTk5Wqamp6u6771bV1dV+ZbZt26auvPJK8x46fOlQc7pFixapAQMGqNjYWDV48GD1wQcf+F1vS12sDkL/vGirCUIvrdzbaZ8BAICdVLbj+9uh/2FFS1Q40F1pesq9HjitV8HuDM//tVheWPmVTBnTU56+eWinfAYAAHZS1Y7vb541ZjHGCAEAYB2CkMVYVBEAAOsQhCzWrSUIsagiAADBRxCyWLdUT9dYeU2j1DexqCIAAMFEELJYakK0JMZGmWPGCQEAEFwEoRBYVJFxQgAAWIMgFFLjhOqsrgoAALZCEAoBuS3jhA5X0CIEAEAwEYRCQF56S4sQXWMAAAQVQSgEMEYIAABrEIRCAGOEAACwBkEohMYIHWGMEAAAQUUQCqExQidYVBEAgKAiCIWAtIQYiY/x/Kcoq2qwujoAANgGQShEFlXsltbSPVbJOCEAAIKFIBRiA6aZOQYAQPAQhEJsCv1hWoQAAAgaglCIyE/3dI0dOkkQAgAgWAhCISI/I9HsvyUIAQAQNAShEJGf4WkR+vZkrdVVAQDANghCIdgipJSyujoAANgCQSiEBks7HSINzW45doq1hAAACAaCUIiIjXZKbqpn5hjjhAAACA6CUAjJ78KAaQAAgokgFEIYMA0AQHARhEIIU+gBAAguglAItgiVlNMiBABAMBCEQjAIsbo0AADBQRAKIT28XWMVdeJ2s5YQAACdjSAUYk+gj3I6pLHZLcdZSwgAgE5HEAoh0VHfrSVUwswxAAA6HUEoZKfQM04IAIDORhAKMUyhBwAgeAhCIaZHFxZVBAAgWAhCIYYWIQAAgocgFGJYVBEAgOAhCIXqooqsJQQAQKcjCIUYPX1eryXU5FJSVs1aQgAAdCaCUAiuJZSX7llLiAHTAAB0LoJQCMpPZ8A0AADBQBAKQQyYBgAgOAhCIYgp9AAABAdBKJQfs1FBixAAAJ2JIBSCeN4YAADBQRAKQT26eLrGDlfUiYu1hAAA6DQEoRCUkxov0S1rCR2tqre6OgAARCyCUAjSCyrmpdM9BgBAZyMIhfw4IQZMAwDQWQhCIYoB0wAAdD6CUIjq0bKWEIsqAgDQeQhCISq/Cy1CAAB0NoJQqK8uzaKKAAB0GoJQiI8ROlxRL80ut9XVAQAgIhGEQlROSrzERjvNgoo6DAEAgMAjCIUop9MhvVpWmN5/osbq6gAAEJEIQiGsV2aS2R8gCAEA0CkIQiGsIKulReg4QQgAgM5AEAphvbM8LULfEIQAAOgUBKEQVuDrGmMKPQAAnYEgFMJ6tbQIHSyvZQo9AACdgCAUwrqlxktctFOa3UoOVbDCNAAAgUYQCvUp9JmeAdPf0D0GAEDAEYTCZAo9A6YBAAg8glCIK2gZJ8QUegAAAo8gFOJ6e1uEWFQRAICAIwiFuN4tiyoyhR4AgMAjCIVJi1AJU+gBAAg4glCIy201hf7bk0yhBwAgkAhCYTCFnnFCAACESBA6dOiQ3HnnnZKZmSkJCQkydOhQ2bhxo++6UkpmzZol3bp1M9fHjx8ve/fu9XuP8vJymTJliqSmpkp6errce++9curUKb8y27dvl6uuukri4+OlR48e8uyzz36vLosXL5bCwkJTRtdj2bJlftfbUpdwGifEFHoAACwMQidPnpQrrrhCYmJi5MMPP5Tdu3fLb37zG8nIyPCV0YHlhRdekFdffVXWrVsnSUlJMnHiRKmvr/eV0SFo165dsnz5clm6dKl8+umnMm3aNN/1qqoqmTBhgvTq1Us2bdokc+bMkZ///Ocyf/58X5nPP/9c7rjjDhOitmzZIjfddJPZdu7c2a66hIPvWoQYMA0AQECpdnjiiSfUlVdeedbrbrdb5ebmqjlz5vheq6ioUHFxceqtt94y57t371b6Yzds2OAr8+GHHyqHw6EOHTpkzl955RWVkZGhGhoa/D574MCBvvPbbrtNTZo0ye/zx4wZo370ox+1uS7nU1lZaeqq91Z6c90B1euJpeof/32dpfUAACActOf7u10tQu+//76MGjVKfvCDH0h2draMGDFC/vCHP/iu79+/X0pLS00XlFdaWpqMGTNGioqKzLne6+4w/T5eurzT6TStNt4yV199tcTGxvrK6Jac4uJi0yrlLdP6c7xlvJ/TlrqEW4vQAcYIAQAQUO0KQvv27ZO5c+dK//795eOPP5YHHnhAHnroIXn99dfNdR08tJycHL+f0+fea3qvQ1Rr0dHR0qVLF78yZ3qP1p9xtjKtr5+vLqdraGgw3XKtt1AaI1Rysk6amEIPAIA1Qcjtdssll1wiv/rVr0xrkB7X88Mf/tCMwYkEs2fPNq1G3k0P0g4FOSnxEh/jFBdT6AEAsC4I6dlXgwYN8nvtoosukoMHD5rj3Nxcsz969KhfGX3uvab3ZWVlftebm5vNTLLWZc70Hq0/42xlWl8/X11ON3PmTKmsrPRtJSUlEgqYQg8AQAgEIT1jTI/Tae3LL780s7u0goICEzJWrFjhu667l/TYn7Fjx5pzva+oqDCzwbxWrlxpWpv0+B1vGT2TrKmpyVdGzzAbOHCgb4aaLtP6c7xlvJ/TlrqcLi4uzkzpb72FCl8QYgo9AACB055R2OvXr1fR0dHq6aefVnv37lULFixQiYmJ6o033vCVeeaZZ1R6erp677331Pbt29WNN96oCgoKVF1dna/Mddddp0aMGKHWrVun1qxZo/r376/uuOMOv9ldOTk56q677lI7d+5UCxcuNJ8zb948X5nPPvvM1OW5555Te/bsUU899ZSKiYlRO3bsaFddwmHWmParZbvNzLFZ73737wcAADr2/d2uIKQtWbJEDRkyxExDLywsVPPnz/e7rqetP/nkkybI6DLjxo1TxcXFfmVOnDhhgk9ycrJKTU1Vd999t6qurvYrs23bNjNVX79H9+7dTag53aJFi9SAAQNUbGysGjx4sPrggw/aXZdwCUJvMYUeAICAf3879D8C2MAUUXRXmh40rccLWd1NtnbfCbl9/lrplZkoq2dca2ldAACIlO9vnjUWJgqyPGOE9KwxptADABAYBKEwkZ0SJwkxUWYKfUk5j9oAACAQCEJhwuFwmG4x7QDPHAMAICAIQmHYPbafKfQAAAQEQSiM9CYIAQAQUAShMNK3a7LZf33slNVVAQAgIhCEwkj/bE8Q2ltGEAIAIBAIQmGkb0sQOlbdIBW1jVZXBwCAsEcQCiPJcdGSlxZvjr+iVQgAgA4jCIWZfjkpZk8QAgCg4whCYYZxQgAABA5BKMwQhAAACByCUJjpn+MJQl8drba6KgAAhD2CUJjp19UzRuhwZb1U1zdZXR0AAMIaQSjMpCXGSNeUOHP89TFWmAYAoCMIQuE8TojuMQAAOoQgFMZB6CsetQEAQIcQhMJ5LaGjBCEAADqCIBSGmEIPAEBgEITCOAiVnKyVukaX1dUBACBsEYTCUGZynHRJihWl9MwxWoUAALhQBKEw1c87YJruMQAALhhBKMyD0N4yptADAHChCELhPoWeFiEAAC4YQShM9c/2TKFn5hgAABeOIBTmD189cKJWGpqZOQYAwIUgCIWp7JQ4SYmPFpdbyTfHa62uDgAAYYkgFKYcDkerhRUZMA0AwIUgCEXCOCEetQEAwAUhCIUx1hICAKBjCEJhrF/LgGmCEAAAF4YgFMa8Y4T2HT8lzS631dUBACDsEITCWF5agiTGRkmTS8k3J2qsrg4AAGGHIBTGnE6HDMz1DJjefYSZYwAAtBdBKMwN6pZq9nuOVFldFQAAwg5BKMwNyvMEod2HCUIAALQXQSjMXdTSIrSbFiEAANqNIBTmCnNTxOEQOVbdYDYAANB2BKEwlxgbLQVZSeaYcUIAALQPQSgC0D0GAMCFIQhF0MwxBkwDANA+BKEImjlG1xgAAO1DEIoAg1tahL4+dkrqm1xWVwcAgLBBEIoAXVPiJDMpVtxKpLiUFaYBAGgrglAEcDgc3y2sSPcYAABtRhCKEDxqAwCA9iMIRdoUemaOAQDQZgShCJw55taDhQAAwHkRhCJEn6wkiY12Sk2jS0pO1lpdHQAAwgJBKEJERzllYE6KOaZ7DACAtiEIReIK0wyYBgCgTQhCEcQ3hZ4WIQAA2oQgFEF41AYAAO1DEIoghbmeMUKHK+vlZE2j1dUBACDkEYQiSEp8jPTskmiOaRUCAOD8CEIRhgHTAAC0HUEowrDCNAAAbUcQijBDunuC0PZDlVZXBQCAkEcQijDDeqSb/dfHTklVfZPV1QEAIKQRhCJMVnKc5GckiFIiO76lVQgAgHMhCEVwq9DWkgqrqwIAQEgjCEWgES1BaBtBCACAcyIIRXiLkNJ9ZAAA4IwIQhFoSF6aRDkdUlbdIKVV9VZXBwCAkEUQikAJsVEyMMfzuI2tB+keAwDgbAhCkd499i1BCACAsyEIRfiAaVqEAAA4O4JQhLcI7ThUKS43A6YBADgTglCE6pedLEmxUVLb6JKvyk5ZXR0AAEISQShC6VljQ/PTzPHWkpNWVwcAgMgLQs8884w4HA555JFHfK/V19fL9OnTJTMzU5KTk+XWW2+Vo0eP+v3cwYMHZdKkSZKYmCjZ2dkyY8YMaW5u9iuzatUqueSSSyQuLk769esnr7322vc+/+WXX5bevXtLfHy8jBkzRtavX+93vS11scd6QjxqAwCAgAahDRs2yLx58+Tiiy/2e/3RRx+VJUuWyOLFi2X16tVy+PBhueWWW3zXXS6XCUGNjY3y+eefy+uvv25CzqxZs3xl9u/fb8pce+21snXrVhO07rvvPvn44499Zd5++2157LHH5KmnnpLNmzfLsGHDZOLEiVJWVtbmukS64fk8agMAgHNSF6C6ulr1799fLV++XF1zzTXq4YcfNq9XVFSomJgYtXjxYl/ZPXv26JG6qqioyJwvW7ZMOZ1OVVpa6iszd+5clZqaqhoaGsz5448/rgYPHuz3mZMnT1YTJ070nY8ePVpNnz7dd+5yuVReXp6aPXt2m+tyPpWVlaa83oejwxW1qtcTS1WfmR+omoYmq6sDAEBQtOf7+4JahHR3k26xGT9+vN/rmzZtkqamJr/XCwsLpWfPnlJUVGTO9X7o0KGSk5PjK6NbcqqqqmTXrl2+Mqe/ty7jfQ/dmqQ/q3UZp9Npzr1l2lKX0zU0NJh6tN7CWW5qvGSnxJlZYzsPhfe/CwAAnaHdQWjhwoWmK2r27Nnfu1ZaWiqxsbGSnu7pkvHSoUdf85ZpHYK8173XzlVGB5O6ujo5fvy46WI7U5nW73G+upxO/zulpaX5th49ekg40+O3hvMAVgAAAhOESkpK5OGHH5YFCxaYAcqRZubMmVJZWenb9L9vuGOFaQAAAhSEdHeTHoysZ3NFR0ebTQ9CfuGFF8yxbm3R3VYVFf5funqmVm5urjnW+9NnbnnPz1cmNTVVEhISJCsrS6Kios5YpvV7nK8up9Mz1PRntN7CnbdFiBWmAQDoYBAaN26c7Nixw8zk8m6jRo2SKVOm+I5jYmJkxYoVvp8pLi420+XHjh1rzvVev0fr2V3Lly83oWPQoEG+Mq3fw1vG+x66y2vkyJF+Zdxutzn3ltHXz1cXO9BrCTkcIocq6uRYdYPV1QEAIKREt6dwSkqKDBkyxO+1pKQks06P9/V7773XTGvv0qWLCTf/9E//ZILHZZddZq5PmDDBBJ677rpLnn32WTNe51//9V/NAGzdIqPdf//98tJLL8njjz8u99xzj6xcuVIWLVokH3zwge9z9WdMnTrVhK/Ro0fL7373O6mpqZG7777bXNdjfM5XFztIjY+Rvl2TzerSmw+elImDz9waBgCAHbUrCLXFb3/7WzODSy9eqGdh6dler7zyiu+67tJaunSpPPDAAyaU6CClA82//du/+coUFBSY0KPXAfr9738v+fn58sc//tG8l9fkyZPl2LFjZv0hHaaGDx8uH330kd8A6vPVxS4u7d3FBKEN+8sJQgAAtOLQc+hbv4Dv6FlqumVJD5wO5/FC7245JI+8vVUuzk+T9x+80urqAAAQMt/fPGvMBkYXdDH7nYcq5VSD/6NMAACwM4KQDeSlJ0h+RoK4lcimAzyAFQAAL4KQzVqF1u8/YXVVAAAIGQQhmxjjC0LlVlcFAICQQRCyidEFmWa/raRS6ptcVlcHAICQQBCyid6ZidI1JU4aXW7ZynPHAAAwCEI2oR/A+t04IbrHAADQCEI2wjghAAD8EYRsxNsipKfQN7ncVlcHAADLEYRsZEB2iqQlxEhdk8ssrggAgN0RhGzE6XSY545pdI8BAEAQsh3GCQEA8B2CkM34Zo59Uy4u/cwNAABsjCBkM4PzUiUxNkqq65uluLTa6uoAAGApgpDNREc5ZWSvDHPMc8cAAHZHELLxOKF1jBMCANgcQciGxvTxPHds7b4TjBMCANgaQciGhvdIl+S4aDlZ2yS7DrOeEADAvghCNhQT5ZTL+3pahT798pjV1QEAwDIEIZu6akBXs//0y+NWVwUAAMsQhGzqmv6eILT54Emprm+yujoAAFiCIGRTPTMTpXdmojS7lRR9zTR6AIA9EYRs7Gpv99hexgkBAOyJIGRjV7V0jzFOCABgVwQhGxvbN1OinQ45WF4rB07UWF0dAACCjiBkY3otIe/jNphGDwCwI4KQzXnHCa2mewwAYEMEIZu7umWcUNHXx6XJ5ba6OgAABBVByOYG56VKZlKs1DS6ZPOBk1ZXBwCAoCII2ZzT6ZAr+2eZY6bRAwDshiAEX/fYf+9lnBAAwF4IQpCrWlqEdhyqlPKaRqurAwBA0BCEINmp8VKYmyJKMY0eAGAvBCEY4y7KNvvlu49aXRUAAIKGIARjwqBcs19VXCb1TS6rqwMAQFAQhGBcnJ8muanxZhr9518zaBoAYA8EIRgOh0MmDM4xxx/vpHsMAGAPBCH4TBzs6R77rz1HxeVWVlcHAIBORxCCz+iCLpKWECMnahplE6tMAwBsgCAEn5gop4wr9Mwe+3hXqdXVAQCg0xGE4GdCS/fYX3eXitILCwEAEMEIQvBz9YAsiYt2Skl5new5Um11dQAA6FQEIfhJjI2Wqwd09bUKAQAQyQhCOOvssY93MY0eABDZCEL4Hj1gOsrpkD1HqqSkvNbq6gAA0GkIQviejKRYGd27izlm9hgAIJIRhHBG3lWm/0r3GAAgghGEcM5xQhsOlMuRyjqrqwMAQKcgCOGM8tITzErTeimh97cetro6AAB0CoIQzurmEd3N/p0th6yuCgAAnYIghLP6+yHdJDbKKV+UVpsZZAAARBqCEM4qLTFGri30LK747lZahQAAkYcghDZ1j7235bC43Tx7DAAQWQhCOKe/GZgtqfHRUlpVL2v3n7C6OgAABBRBCOcUHxMlky7uZo7fZdA0ACDCEIRwXjcN93SPfbijVOqbXFZXBwCAgCEI4bwu7d1FuqcnSHVDs6z8oszq6gAAEDAEIZyX0+mQ/zk8zxyzphAAIJIQhNCu2WOrisvkZE2j1dUBACAgCEJokwE5KTKoW6o0uZQs3c4jNwAAkYEghDb7h5H5Zr9g3UFR+iFkAACEOYIQ2uzWS/IlPsbzyI3NB09aXR0AADqMIIR2PXLjhos9g6bfWHvQ6uoAANBhBCG0y5TLepn9BzuOSDmDpgEAYY4ghHYZlp8mQ7qnSmOzW/5zU4nV1QEAoEMIQmgXh8Mhd47p5Rs0zYNYAQDhjCCEdtOLK6bER8uBE7Wy5qvjVlcHAIALRhBCuyXGRpsZZNobaw9YXR0AAC4YQQgX5H+N6Wn2K74okyOVdVZXBwCAC0IQwgWvND26oIu43EoWrmfQNADABkFo9uzZcumll0pKSopkZ2fLTTfdJMXFxX5l6uvrZfr06ZKZmSnJycly6623ytGjR/3KHDx4UCZNmiSJiYnmfWbMmCHNzc1+ZVatWiWXXHKJxMXFSb9+/eS11177Xn1efvll6d27t8THx8uYMWNk/fr17a4LLtydLVPpF244aGaRAQAQ0UFo9erVJlisXbtWli9fLk1NTTJhwgSpqanxlXn00UdlyZIlsnjxYlP+8OHDcsstt/iuu1wuE4IaGxvl888/l9dff92EnFmzZvnK7N+/35S59tprZevWrfLII4/IfffdJx9//LGvzNtvvy2PPfaYPPXUU7J582YZNmyYTJw4UcrKytpcF3TMdYNzpWtKnBytapD3t/H8MQBAGFIdUFZWpudOq9WrV5vziooKFRMToxYvXuwrs2fPHlOmqKjInC9btkw5nU5VWlrqKzN37lyVmpqqGhoazPnjjz+uBg8e7PdZkydPVhMnTvSdjx49Wk2fPt137nK5VF5enpo9e3ab63I+lZWVprze48zmrvpK9XpiqRr/m1XK5XJbXR0AAFR7vr87NEaosrLS7Lt06WL2mzZtMq1E48eP95UpLCyUnj17SlFRkTnX+6FDh0pOTo6vjG7Jqaqqkl27dvnKtH4Pbxnve+jWJP1Zrcs4nU5z7i3TlrqcrqGhwdSj9YbzD5pOiYuWvWWnzMBpAADCyQUHIbfbbbqsrrjiChkyZIh5rbS0VGJjYyU9Pd2vrA49+pq3TOsQ5L3uvXauMjqY1NXVyfHjx00X25nKtH6P89XlTGOg0tLSfFuPHj0u6N7YSWp8jO+xG3NXfcVT6QEA9ghCeqzQzp07ZeHChRIpZs6caVq5vFtJCbOh2uKeK3pLbLRTNh+skA3f8FR6AECEB6EHH3xQli5dKp988onk53sW1tNyc3NNt1VFRYVfeT1TS1/zljl95pb3/HxlUlNTJSEhQbKysiQqKuqMZVq/x/nqcjo9Q01/RusN55edGu9bYPHV1V9bXR0AADonCOluDx2C3nnnHVm5cqUUFBT4XR85cqTExMTIihUrfK/p6fV6uvzYsWPNud7v2LHDb3aXnoGmQ8egQYN8ZVq/h7eM9z10l5f+rNZldFedPveWaUtdEDg/urqPOB0iK78oky9KGVsFAAgT7RmF/cADD6i0tDS1atUqdeTIEd9WW1vrK3P//fernj17qpUrV6qNGzeqsWPHms2rublZDRkyRE2YMEFt3bpVffTRR6pr165q5syZvjL79u1TiYmJasaMGWam18svv6yioqJMWa+FCxequLg49dprr6ndu3eradOmqfT0dL/ZaOery/kwa6x9fvzGJjOD7JGFW6yuCgDAxirb8f3driCk3/RM25///Gdfmbq6OvXjH/9YZWRkmDBz8803m7DU2jfffKOuv/56lZCQoLKystRPfvIT1dTU5Ffmk08+UcOHD1exsbGqT58+fp/h9eKLL5qgo8vo6fRr1671u96WupwLQah9tpdUmCDUZ+YHqqS8xurqAABsqrId398O/Q+rW6VClZ6lpmeP6YHTjBdqmzv/uM48kf7Oy3rK/7lpqNXVAQDYUFU7vr951hgC6sG/7Wf2+vljB058t+I4AAChiCCEgLqsT6ZcM6CrNLuVPL/8S6urAwDAORGEEHAzJg40+/e2HpZdhz2rjwMAEIoIQgi4Id3T5IZheeb4uY+Lra4OAABnRRBCp/jJ3w2QaKdDPik+Juv2nbC6OgAAnBFBCJ2id1aSTL7U86y2X3/0Bc8gAwCEJIIQOs1D4/pLfIznGWT/tYcn0wMAQg9BCJ0mJzVe7rnC8xiWOR9/IS43rUIAgNBCEEKn+tE1fSUtIUa+PHpKFqw7YHV1AADwQxBCp9Ih6J8nDDDHcz4ulmPVDVZXCQAAH4IQOt3/GtNLhnZPk+r6Zpm9bI/V1QEAwIcghE4X5XTIL28aIg6HyF+2HJK1TKcHAIQIghCCYniPdLljdE9zPOu9ndLkcltdJQAACEIInscnDpQuSbFm4PSfP9tvdXUAACAIIXjSE2Plp9cVmuPf/ddeOVJZZ3WVAAA2RxBCUP3DyHy5pGe61Da6ZNZ7u1hxGgBgKYIQgsrpdMjTNw+VmCiHLN99VP5z07dWVwkAYGMEIQTdRd1S5ZHxnrWFfrFkt5SU11pdJQCATRGEYIn7r+krI3tlyKmGZvnnxdvEzeM3AAAWIAjBsrWFnr9tmCTGRsm6/eXy72uYRQYACD6CECzTKzNJnvwfg3yP3ygurba6SgAAmyEIwVK3X9pDxhVmS6PLLY+8vVUaml1WVwkAYCMEIVjK4XDI7FuHSkZijOw5UiX/tmS31VUCANgIQQiWy06Jl+cnDzfPIluw7qAs2lhidZUAADZBEEJIuHZgtjzaMqX+X9/dKTu+rbS6SgAAGyAIIWQ8eG0/GX9RtjQ2u+X+NzZJeU2j1VUCAEQ4ghBCatVp3UVWkJUkhyrq5KG3toiL9YUAAJ2IIISQkhofI6/eOVISYqJkzVfH5dcffWF1lQAAEYwghJAzMDdFnv2Hi83x/E/3yWufsdgiAKBzEIQQkm4Ylif/PKHleWRLd8sH249YXSUAQAQiCCFkTb+2n/zj2F6ilMijb2+Voq9PWF0lAECEIQghpBdbfOqGwXL9kFyz8vS0/7vRLLoIAECgEIQQ8g9n/e3k4TK6oItUNzTL1D+tlwMnaqyuFgAgQhCEEPLiY6LkD/84SgbmpEhZdYNMnrdW9h8nDAEAOo4ghLCQlhAj/3HfaOmfnSylVfUyeV6RfFXG0+oBAB1DEEJYPZNs4bTLpDDX0zJ0+/y1UlxKGAIAXDiCEMJKZnKcvPXDy2RwXqocP9Uot88vkl2HeS4ZAODCEIQQdjKSYuXN+y6TYflpcrK2SW6ft1b+e+8xq6sFAAhDBCGEpbREPWZojG822f/+8wZ5a/1Bq6sFAAgzBCGE9XPJ/uPe0XLziO7m4awz/7JDZi/bI24e1AoAaCOCEMJaXHSUPH/bMHl0vOdxHPM+3Sc/XrBZahubra4aACAMEIQQEStQPzy+v/z+9uESG+WUj3aVyo0vfSZ7jzKjDABwbgQhRIwbh3eXN384RrJT4mRv2Sn5ny99Jv9v07dWVwsAEMIIQogoo3p3kQ8eukqu7JcldU0u+cnibTJj8Tapa3RZXTUAQAgiCCHidE2Jk9fvGS0/+bsB4nSILN70rdzw0hrZcvCk1VUDAIQYghAi9mGt/zSuvyy47zITjL4qOyW3zv1cfrVsj9Q30ToEAPAgCCGije2bKX995GozxV7Pqp//6T75+9//t2z8ptzqqgEAQgBBCLZYifq3k4fLv08dJTmpcbLveI38YF6RWXfoxKkGq6sHALAQQQi2Me6iHPnro9fIbaPyRSkxK1H/zXOr5I//vU8am91WVw8AYAGHUvorAWdSVVUlaWlpUllZKampqVZXBwG0fn+5/GLJLtl1uMqc98lKkp9Nukj+tjDbrEsEALDH9zdB6BwIQpFNP5bjPzeVyJyPi82T7LVLeqbLo383wEy/JxABQHgiCAUIQcgequub5KVPvpLXPvtGGlq6yC7tnWEC0eV9s6yuHgCgnQhCAUIQspeyqnqZu/prWbDuoG/MkG4huu+qPjJhUI5ERzGkDgDCAUEoQAhC9lRaWS+vrPpKFq4vkUaXJxDlZyTI3VcUmIHWKfExVlcRAHAOBKEAIQjZW1l1vbxRdED+Y+0BOVnbZF5LjouWG4blye2X9pCL89MYRwQAIYggFCAEIWj6OWXvbDkk/75mn3x9rMb3emFuiglE+mGveq0iAEBoIAgFCEEIrbndStbtL5e3NxyUZTtLfeOIop0OuaJflmkpmjA4R1LpOgMASxGEAoQghLOprG2Sd7cekkUbS3xrEWmxUU65ekBXM7j62sJs85wzAEBwEYQChCCEtvj62ClZuu2ILNl+2Dzc1UsPHxqWny7jCrNNKBrULVWcTsYUAUBnIwgFCEEI7aH/KBUfrZaPdpbKij1lsuNQpd/19MQYubxvplmbSHel9c5MZLA1AHQCglCAEITQEUer6mXlF2WyYs9RWbuvXE41NPtdz0qOk1G9MmRU7wwZ2StDBuelSWw0axUBQEcRhAKEIIRAaXK5Zfu3FfLZVydkzVfHZcvBk9Lk8v+jp8cXXdQtRYbmp8nF3dNlSPc06ZedTDgCgHYiCAUIQQidpb7JJdu/rZSNB8pl0zcnZdPBk1LRslZRazFRDunbNVkG5qZIYW6qDMxNNuf5GYkSxXgjADgjglCAEIQQLPqP4cHyWhOO9NiiHd9Wys5DlVJ9Wneal24lKshMkr7ZSdIrM0l6dUmUnpmJ5rhbajyDsgHYWhVBKDAIQrCS/qN5qKJOikur5YuWbe/Ratl3vMa3htGZ6FakbmkJ0j09QfLSE6R7RoJ0S4uX3NR4yUmNN8d64DYDtQFEKoJQgBCEEIpcbiWHK+rkq2On5OuyU6Yl6cCJWrP/9mTt98Yena1FqWtynGSlxEnX5Fiz3lFmUpxZITszKVa6tGw6MKUnxkpSbBTBCUDYIAgFCEEI4RiSjlTWyeGKehOWdIvStyfrzAw2/TBZvT9R09ju99WrZ+tQlJoQY1bO9uyjzT4lLto8gy05Pto8kDY5LkoSY6MlybuPjZaEWH0cJQkxUXTbAQip7+/ozq8OgGDRA6j1QGq9nU1Ds0uOVTfI8VONZu/dymsaTEgqb7XpAdyNLrc0u5Upr7eOiot2mlAUH+MJRnFm75S4aP2aZx9n9p5j3XpltijPXr8eE+XZ9LnuCtTHOqzF6HOnU6LNaw6Jbjn+bu8w90if6713877udHiOCWuAfRCEAJvR4eJ8YclLNxjXN7mloq5RTtY0SVV9k1TV6X2zVNc3SWVdk9Q0NJs1kqrrPftT9c1S0+iS2sZmqWlwmet1TS7fezY0u80m8v1ZcqHEhCSHDkXSsm8JTg6H6SbUWckbnnSvod7rc++xvu655hAdq/T7+J079OrjnnLmFVPec+x9D29vpPdn9LnjtHPzE77XW97Le+z9+Zb3b/2zXt+V8VzzHrcu1Po9T7vke+1sZc9Uxv8dzvY+33e2zzqftvTqXkj0tXt3sSNA//p6TbXp1/YTqxCEAJzzL3rdrZUQqwdcJ3TogbU6/OhwVNvoMsFILyGgQ5be63N9XR+boOTdN7vNwHC96ZYsvR6THgNlXnN5Xm92e17zXHNLc8uxbsXyHusuQ33u2XvK6PNz0WVdokS+y3AAOkGfrkkEoc728ssvy5w5c6S0tFSGDRsmL774oowePdrqagG2oVtTPIEqSjIldOiAZgKT2xOW3G4Rl/Kce491GbfyhCi91/nJd+72HLd+3VNeROn/6Rzl1kee1rXTzz1ZrKV8y894jj1lve/hOW553fMj310zr/ufmwNPsZaf9z//7tg/DH537bvXW5dvfd663LlGmp7tM/xe+97PnKlM+9/nLBVqS6kLe+/AfFTAnH7PQlVGYqylnx/xQejtt9+Wxx57TF599VUZM2aM/O53v5OJEydKcXGxZGdnW109ABYHtFi9Cat3A3YV8X/6n3/+efnhD38od999twwaNMgEosTERPnTn/5kddUAAIDFIjoINTY2yqZNm2T8+PG+15xOpzkvKir6XvmGhgYz5a71BgAAIldEB6Hjx4+Ly+WSnJwcv9f1uR4vdLrZs2ebdQe8W48ePYJYWwAAEGwRHYTaa+bMmWbxJe9WUlJidZUAAEAniujB0llZWRIVFSVHjx71e12f5+bmfq98XFyc2QAAgD1EdItQbGysjBw5UlasWOF7ze12m/OxY8daWjcAAGC9iG4R0vTU+alTp8qoUaPM2kF6+nxNTY2ZRQYAAOwt4oPQ5MmT5dixYzJr1iwzQHr48OHy0UcffW8ANQAAsB+ePn8OPH0eAIDI/v6O6DFCAAAA50IQAgAAtkUQAgAAtkUQAgAAthXxs8Y6wjuOnGeOAQAQPrzf222ZD0YQOofq6mqz55ljAACE5/e4nj12LkyfPwe9CvXhw4clJSVFHA5HwNOqDlj6eWZMze9c3Ovg4V4HD/c6eLjX4XevdbTRISgvL0+cznOPAqJF6Bz0zcvPz+/Uz9D/ofmDFRzc6+DhXgcP9zp4uNfhda/P1xLkxWBpAABgWwQhAABgWwQhi8TFxclTTz1l9uhc3Ovg4V4HD/c6eLjXkX2vGSwNAABsixYhAABgWwQhAABgWwQhAABgWwQhAABgWwQhC7z88svSu3dviY+PlzFjxsj69eutrlLYmz17tlx66aVmFfDs7Gy56aabpLi42K9MfX29TJ8+XTIzMyU5OVluvfVWOXr0qGV1jhTPPPOMWXn9kUce8b3GvQ6cQ4cOyZ133mnuZUJCggwdOlQ2btzou67nu8yaNUu6detmro8fP1727t1raZ3DkcvlkieffFIKCgrMfezbt6/88pe/9HtWFff6wn366adyww03mJWe9d8X7777rt/1ttzb8vJymTJlilloMT09Xe699145deqUdBRBKMjefvtteeyxx8z0wM2bN8uwYcNk4sSJUlZWZnXVwtrq1avNF+/atWtl+fLl0tTUJBMmTJCamhpfmUcffVSWLFkiixcvNuX141NuueUWS+sd7jZs2CDz5s2Tiy++2O917nVgnDx5Uq644gqJiYmRDz/8UHbv3i2/+c1vJCMjw1fm2WeflRdeeEFeffVVWbdunSQlJZm/U3QYRdv9+te/lrlz58pLL70ke/bsMef63r744ou+MtzrC6f/Ltbfd7oh4Ezacm91CNq1a5f5O37p0qUmXE2bNk06TE+fR/CMHj1aTZ8+3XfucrlUXl6emj17tqX1ijRlZWX61zi1evVqc15RUaFiYmLU4sWLfWX27NljyhQVFVlY0/BVXV2t+vfvr5YvX66uueYa9fDDD5vXudeB88QTT6grr7zyrNfdbrfKzc1Vc+bM8b2m739cXJx66623glTLyDBp0iR1zz33+L12yy23qClTpphj7nXg6L8L3nnnHd95W+7t7t27zc9t2LDBV+bDDz9UDodDHTp0qEP1oUUoiBobG2XTpk2mya/188z0eVFRkaV1izSVlZVm36VLF7PX9123ErW+94WFhdKzZ0/u/QXSLXCTJk3yu6ca9zpw3n//fRk1apT84Ac/MF2+I0aMkD/84Q++6/v375fS0lK/e62fr6S73LnX7XP55ZfLihUr5MsvvzTn27ZtkzVr1sj1119vzrnXnact91bvdXeY/vPgpcvr71DdgtQRPHQ1iI4fP276oXNycvxe1+dffPGFZfWKNG6324xX0V0KQ4YMMa/pP2SxsbHmD9Lp915fQ/ssXLjQdO3qrrHTca8DZ9++faa7Rnen/8u//Iu53w899JC5v1OnTvXdzzP9ncK9bp+f/vSn5snnOrRHRUWZv6uffvpp0x2jca87T1vurd7rXwZai46ONr/sdvT+E4QQkS0VO3fuNL/NIfBKSkrk4YcfNv30esA/OjfU69+Af/WrX5lz3SKk/7+tx1HoIITAWbRokSxYsEDefPNNGTx4sGzdutX8QqUH93KvIxtdY0GUlZVlftM4ffaMPs/NzbWsXpHkwQcfNIPoPvnkE8nPz/e9ru+v7pqsqKjwK8+9bz/d9aUH919yySXmNzK96QHReqCjPta/xXGvA0PPoBk0aJDfaxdddJEcPHjQHHvvJ3+ndNyMGTNMq9Dtt99uZubdddddZtC/npGqca87T1vurd6fPqmoubnZzCTr6P0nCAWRbs4eOXKk6Ydu/RufPh87dqyldQt3evydDkHvvPOOrFy50kyBbU3fdz3zpvW919Pr9RcK9759xo0bJzt27DC/MXs33WqhuxC8x9zrwNDdu6cvA6HHsPTq1csc6/+f6y+B1vdad+/oMRPc6/apra01401a07+46r+jNe5152nLvdV7/cuV/kXMS/9dr//76LFEHdKhodZot4ULF5qR8K+99poZBT9t2jSVnp6uSktLra5aWHvggQdUWlqaWrVqlTpy5Ihvq62t9ZW5//77Vc+ePdXKlSvVxo0b1dixY82Gjms9a0zjXgfG+vXrVXR0tHr66afV3r171YIFC1RiYqJ64403fGWeeeYZ83fIe++9p7Zv365uvPFGVVBQoOrq6iyte7iZOnWq6t69u1q6dKnav3+/+stf/qKysrLU448/7ivDve7YLNMtW7aYTUeP559/3hwfOHCgzff2uuuuUyNGjFDr1q1Ta9asMbNW77jjDtVRBCELvPjii+ZLIjY21kynX7t2rdVVCnv6D9aZtj//+c++MvoP1I9//GOVkZFhvkxuvvlmE5YQ+CDEvQ6cJUuWqCFDhphfoAoLC9X8+fP9ruupx08++aTKyckxZcaNG6eKi4stq2+4qqqqMv8f1n83x8fHqz59+qif/exnqqGhwVeGe33hPvnkkzP+Ha0DaFvv7YkTJ0zwSU5OVqmpqeruu+82AaujHPofHWtTAgAACE+MEQIAALZFEAIAALZFEAIAALZFEAIAALZFEAIAALZFEAIAALZFEAIAALZFEAIAALZFEAIAALZFEAIAALZFEAIAALZFEAIAAGJX/x/7M6qvoF1vmQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# model = LinearModel()\n", + "model = torch.nn.Linear(1, 1)\n", + "\n", + "epochs = 100\n", + "eta = 1e-7\n", + "\n", + "optim = torch.optim.SGD(model.parameters(), lr=eta)\n", + "\n", + "losses = []\n", + "for epoch in range(epochs):\n", + " optim.zero_grad()\n", + "\n", + " y_pred = model(x.unsqueeze(1))\n", + " loss = torch.nn.functional.mse_loss(y_pred, y.unsqueeze(1), reduction='sum')\n", + " loss.backward()\n", + "\n", + " optim.step()\n", + " \n", + " losses.append(loss.detach())\n", + "\n", + "plt.figure()\n", + "plt.plot(range(epochs), losses)" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "id": "c694a9f0-e92f-4497-9541-8d8b31009895", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([100, 10]) torch.Size([100])\n" + ] + } + ], + "source": [ + "m_true = torch.arange(0, 10).float()\n", + "\n", + "c_true = 4.5\n", + "N = 100\n", + "\n", + "x = (torch.rand(N, 10)*100)\n", + "y = (x @ m_true + c_true) + torch.randn(N)*10\n", + "\n", + "print(x.shape, y.shape)\n", + "\n", + "dataset = torch.utils.data.TensorDataset(x, y.unsqueeze(1))" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "id": "5acc8839-71a9-4948-9e42-8666364ba863", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 93, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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VVWFn3P33Xd7JSUl3uLFi73Vq1d7w4cP9y6//PLw4w0NDd7AgQO90aNHe2vXrvX+9re/ee3bt/emTJliaa0S29tvv+316tXLGzRokHfvvfeG76eeo+Po0aNez549vW984xveypUrvR07dnivvvqqt23btvBzpk+f7hUVFXkLFizw3n33Xe9LX/qS17t3b+/EiRPh59xwww3e4MGDvRUrVnh///vfvX79+nk333yzpbVKPFOnTvWKi4u9l19+2du5c6c3b948Lz8/33viiSfCz6GePx392/7Rj37kvfjii5rSvPnz50c8Ho16LS8v9zp16uRNmDDBbP+ff/55Lycnx3v66ae9z8KJYHHZZZd5kyZNCt9ubGz0unbt6k2bNs1quZJVWVmZ+SIvW7bM3D5+/LiXkZFhNhoh77//vnnOW2+9Ff4jSE1N9Q4cOBB+zsyZM73CwkIvEAhYWIvEVVlZ6Z1zzjneokWLvKuuuiocLKjn6PnBD37gjRw58rSPB4NBr3Pnzt5jjz0Wvk/rPysry2xc1aZNm0zdr1q1KvycV155xUtJSfH27t0b4zVIDmPHjvXuuOOOiPu+/OUvmx8qRT1HR+tgEa16/dWvfuW1bds2YtuhfzvnnXfeZypv0neF1NXVyZo1a0wzUMvzkejtt956y2rZklV5eblZtmvXziy1fuvr6yPquH///tKjR49wHetSm5o7deoUfs71119vTobz3nvvxX0dEpl2dWhXRsv6VNRz9Pz5z3+WSy+9VL761a+a7qIhQ4bIM888E358586dcuDAgYi61nMgaDdqy7rW5mN9nxB9vm5fVq5cGec1SkyXX365LF68WD744ANz+91335U33nhDxowZY25Tz7ERrXrV51x55ZWSmZkZsT3RrvBjx4596vLF/SRk0Xb48GHTz9dyQ6v09ubNm62VK1np2We1z/+KK66QgQMHmvv0C6xfPP2Stq5jfSz0nFP9H4QeQ5O5c+fKO++8I6tWrTrpMeo5enbs2CEzZ86U+++/X374wx+a+v7Od75j6nfixInhujpVXbasaw0lLaWnp5vATV03eeihh0yo1QCclpZmtsVTp041/fqKeo6NaNWrLnV8TOv3CD3Wtm1bfwYLRH9veuPGjWavA9GlpzC+9957ZdGiRWagFGIbkHVP7ac//am5rS0W+r1+6qmnTLBAdPzxj3+U2bNny5w5c+SCCy6QdevWmR0THXBIPftX0neFtG/f3iTl1iPn9Xbnzp2tlSsZTZ48WV5++WVZsmRJxKnttR61y+n48eOnrWNdnur/IPQYmro6ysrK5OKLLzZ7DnpZtmyZ/OIXvzDXdU+Beo4OHSk/YMCAiPvOP/98M6OmZV2dabuhS/3/akln3+hIe+q6ic5I0laLr3/966aL7tZbb5Xvfve7ZqaZop5jI1r1GqvtSdIHC23avOSSS0w/X8u9Fb09YsQIq2VLFjo2SEPF/Pnz5fXXXz+paUzrNyMjI6KOtQ9ON9KhOtblhg0bIr7Iumeu05xab+D96tprrzV1pHt1oYvuVWuzceg69Rwd2pXXesq0jgPo2bOnua7fcd1wtqxrbdLXvueWda0hTwNhiP596PZF+7IhUlNTY/rsW9IdPa0jRT3HRrTqVZ+j01p1bFfL7cl55533qbtBDM+R6aY6GnbWrFlmJOy3vvUtM9205ch5nN63v/1tM21p6dKl3v79+8OXmpqaiGmQOgX19ddfN9MgR4wYYS6tp0Fed911ZsrqwoULvQ4dOjAN8mO0nBWiqOfoTedNT0830yG3bt3qzZ4928vNzfX+8Ic/REzX0+3ESy+95K1fv9678cYbTzldb8iQIWbK6htvvGFm8/h9GmRLEydO9Lp16xaebqpTI3X684MPPhh+DvX86WeP6ZRyvehP9eOPP26uf/jhh1GrV51JotNNb731VjPdVH9L9e+E6abNnnzySbNB1uNZ6PRTnbeLT0a/tKe66LEtQvTL+s///M9mapJ+8caPH2/CR0u7du3yxowZY+ZB68ble9/7nldfX29hjZI3WFDP0fOXv/zFhDDd6ejfv7/361//OuJxnbL34x//2GxY9TnXXnutt2XLlojnHDlyxGyI9dgMOqX39ttvNxt8NKmoqDDfX932Zmdne3369DHHXmg5fZF6/nSWLFlyyu2yhrlo1qseA0OnZut7aEjUwPJZcdp0AAAQNUk/xgIAACQOggUAAIgaggUAAIgaggUAAIgaggUAAIgaggUAAIgaggUAAIgaggUAAIgaggUAAIgaggUAAIgaggUAAIgaggUAAJBo+R/cI4jWVqX94gAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "loader = torch.utils.data.DataLoader(dataset, batch_size=10, shuffle=True)\n", + "\n", + "model = torch.nn.Linear(10, 1)\n", + "\n", + "epochs = 100\n", + "eta = 1e-7\n", + "\n", + "optim = torch.optim.SGD(model.parameters(), lr=eta)\n", + "\n", + "losses = []\n", + "for epoch in range(epochs):\n", + " for xb, yb in loader:\n", + " optim.zero_grad()\n", + " \n", + " y_pred = model(xb)\n", + " loss = torch.nn.functional.mse_loss(y_pred, yb, reduction='sum')\n", + " loss.backward()\n", + " \n", + " optim.step()\n", + " \n", + " losses.append(loss.detach())\n", + "\n", + "plt.figure()\n", + "plt.plot(range(len(losses)), losses)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "07d27937-d7ec-4c9e-94d1-5df226b27334", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Wednesday/ProbabilisticInference-subsidiary.pdf b/Wednesday/ProbabilisticInference-subsidiary.pdf new file mode 100644 index 00000000..130b6d2b Binary files /dev/null and b/Wednesday/ProbabilisticInference-subsidiary.pdf differ diff --git a/Wednesday/advancedML.pdf b/Wednesday/advancedML.pdf new file mode 100644 index 00000000..27eb64a3 Binary files /dev/null and b/Wednesday/advancedML.pdf differ diff --git a/Wednesday/advancedML_prn.pdf b/Wednesday/advancedML_prn.pdf new file mode 100644 index 00000000..97c3d873 Binary files /dev/null and b/Wednesday/advancedML_prn.pdf differ diff --git a/Wednesday/advancedML_prn_4.pdf b/Wednesday/advancedML_prn_4.pdf new file mode 100644 index 00000000..7ec0b012 Binary files /dev/null and b/Wednesday/advancedML_prn_4.pdf differ diff --git a/Wednesday/advancedML_prn_8.pdf b/Wednesday/advancedML_prn_8.pdf new file mode 100644 index 00000000..28bd5fa3 Binary files /dev/null and b/Wednesday/advancedML_prn_8.pdf differ diff --git a/Wednesday/bayes-subsidiary.pdf b/Wednesday/bayes-subsidiary.pdf new file mode 100644 index 00000000..9b39ef78 Binary files /dev/null and b/Wednesday/bayes-subsidiary.pdf differ diff --git a/Wednesday/biasVariance-subsidiary.pdf b/Wednesday/biasVariance-subsidiary.pdf new file mode 100644 index 00000000..48d870e9 Binary files /dev/null and b/Wednesday/biasVariance-subsidiary.pdf differ diff --git a/Wednesday/constrainedOpt-subsidiary.pdf b/Wednesday/constrainedOpt-subsidiary.pdf new file mode 100644 index 00000000..fd3843f6 Binary files /dev/null and b/Wednesday/constrainedOpt-subsidiary.pdf differ diff --git a/Wednesday/convexity-subsidiary.pdf b/Wednesday/convexity-subsidiary.pdf new file mode 100644 index 00000000..82c3a35b Binary files /dev/null and b/Wednesday/convexity-subsidiary.pdf differ diff --git a/Wednesday/dualAlgorithm.pdf b/Wednesday/dualAlgorithm.pdf new file mode 100644 index 00000000..dcc6be1c Binary files /dev/null and b/Wednesday/dualAlgorithm.pdf differ diff --git a/Wednesday/dualAlgorithm_prn_8.pdf b/Wednesday/dualAlgorithm_prn_8.pdf new file mode 100644 index 00000000..26be63e5 Binary files /dev/null and b/Wednesday/dualAlgorithm_prn_8.pdf differ diff --git a/Wednesday/ensembleLearning-subsidiary.pdf b/Wednesday/ensembleLearning-subsidiary.pdf new file mode 100644 index 00000000..a42645de Binary files /dev/null and b/Wednesday/ensembleLearning-subsidiary.pdf differ diff --git a/Wednesday/generativeModels-subsidiary.pdf b/Wednesday/generativeModels-subsidiary.pdf new file mode 100644 index 00000000..e859dfd5 Binary files /dev/null and b/Wednesday/generativeModels-subsidiary.pdf differ diff --git a/Wednesday/graphicalModels-subsidiary.pdf b/Wednesday/graphicalModels-subsidiary.pdf new file mode 100644 index 00000000..f4574a57 Binary files /dev/null and b/Wednesday/graphicalModels-subsidiary.pdf differ diff --git a/Wednesday/kernelTrick-subsidiary.pdf b/Wednesday/kernelTrick-subsidiary.pdf new file mode 100644 index 00000000..a52e6f32 Binary files /dev/null and b/Wednesday/kernelTrick-subsidiary.pdf differ diff --git a/Wednesday/kernels.pdf b/Wednesday/kernels.pdf new file mode 100644 index 00000000..cb05a819 Binary files /dev/null and b/Wednesday/kernels.pdf differ diff --git a/Wednesday/kernels_prn_8.pdf b/Wednesday/kernels_prn_8.pdf new file mode 100644 index 00000000..91b37842 Binary files /dev/null and b/Wednesday/kernels_prn_8.pdf differ diff --git a/Wednesday/mappings-subsidiary.pdf b/Wednesday/mappings-subsidiary.pdf new file mode 100644 index 00000000..95abba8b Binary files /dev/null and b/Wednesday/mappings-subsidiary.pdf differ diff --git a/Wednesday/optimisation-subsidiary.pdf b/Wednesday/optimisation-subsidiary.pdf new file mode 100644 index 00000000..b042c50f Binary files /dev/null and b/Wednesday/optimisation-subsidiary.pdf differ diff --git a/Wednesday/overfitting-subsidiary.pdf b/Wednesday/overfitting-subsidiary.pdf new file mode 100644 index 00000000..e2db30ea Binary files /dev/null and b/Wednesday/overfitting-subsidiary.pdf differ diff --git a/Wednesday/pca-subsidiary.pdf b/Wednesday/pca-subsidiary.pdf new file mode 100644 index 00000000..2b9651bc Binary files /dev/null and b/Wednesday/pca-subsidiary.pdf differ diff --git a/Wednesday/readme.md b/Wednesday/readme.md new file mode 100644 index 00000000..ac774aae --- /dev/null +++ b/Wednesday/readme.md @@ -0,0 +1,22 @@ +Advance Machine Learning +======================== + +## Main Lecture + +The main lecture is in day2 (sorry I can't count). day2.pdf shows the full tutorials with annotations, but is a pain to read +except in presentation mode. The day2_prn versions don't show the annotations, but are easier to read and to print. The _prn_4 +and prn_8 version show 4 and 8 pages per day + +## Additional Material + +### SVMs + +I've added some of my lecture notes on SVMs. This takes me three lectures and covers deriving the formula for the maximum margin +hyperplane (supportVec), an explanation for constrained optimisation and the dual problem (dualAlgorithm) and some properties of +kernels (kernels) + +### Graphical Models + +A good introduction to graphical models is [A Tutorial on Learning With Bayesian Networks by David Heckerman](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=2ahUKEwjr8prX5cXhAhWCs3EKHTosCh0QFjACegQIABAC&url=https%3A%2F%2Fwww.cse.unr.edu%2F~bebis%2FCS479%2FReadings%2Fbayesian_nets.pdf&usg=AOvVaw335-X0IB5UA4ueGpHk406V) + +~~~ diff --git a/Wednesday/sgd-subsidiary.pdf b/Wednesday/sgd-subsidiary.pdf new file mode 100644 index 00000000..3462b4fa Binary files /dev/null and b/Wednesday/sgd-subsidiary.pdf differ diff --git a/Wednesday/supportVec.pdf b/Wednesday/supportVec.pdf new file mode 100644 index 00000000..8f455ed3 Binary files /dev/null and b/Wednesday/supportVec.pdf differ diff --git a/Wednesday/supportVec_prn_8.pdf b/Wednesday/supportVec_prn_8.pdf new file mode 100644 index 00000000..f046d3cd Binary files /dev/null and b/Wednesday/supportVec_prn_8.pdf differ diff --git a/Wednesday/svd-subsidiary.pdf b/Wednesday/svd-subsidiary.pdf new file mode 100644 index 00000000..892ee78c Binary files /dev/null and b/Wednesday/svd-subsidiary.pdf differ diff --git a/Wednesday/svm-subsidiary.pdf b/Wednesday/svm-subsidiary.pdf new file mode 100644 index 00000000..037e9add Binary files /dev/null and b/Wednesday/svm-subsidiary.pdf differ diff --git a/Wednesday/tmp b/Wednesday/tmp new file mode 100644 index 00000000..e69de29b diff --git a/Wednesday/vectorSpaces-subsidiary.pdf b/Wednesday/vectorSpaces-subsidiary.pdf new file mode 100644 index 00000000..97b42b61 Binary files /dev/null and b/Wednesday/vectorSpaces-subsidiary.pdf differ diff --git a/Wednesday/wasserstein-subsidiary.pdf b/Wednesday/wasserstein-subsidiary.pdf new file mode 100644 index 00000000..38a3c2c7 Binary files /dev/null and b/Wednesday/wasserstein-subsidiary.pdf differ