На попередніх лекціях ми ознайомились із роботою безпосередньо в системі R та можливістю створення невеликих за обсягом об’єктів для збереження даних (вектори, матриці, списки, таблиці даних). Слід зазначити, однак, що можливості системи R щодо введення й редагування даних навмисне обмежені її творцями, які припускали, що для цього будуть використовуватися інші засоби (наприклад, програма Microsoft Excel або бази даних). Тому об’ємні таблиці даних, що підлягають аналізу, зазвичай готуються з допомогою сторонніх додатків, і тільки потім завантажуються в робоче середовище R із зовнішніх файлів.
Зазвичай аналітики стикаються з даними, які надходять із різних джерел і в різних форматах. За такої умови основне завдання полягає у введенні даних у програму, їхньому аналізі і представленні звіту про результати. У мові R реалізовані різні способи введення даних. Як видно на рис. 8.1, в R можна вводити дані з клавіатури, з текстових файлів, з Microsoft Excel і Access, з поширених статистичних програм, спеціалізованих форматів, а також із різних систем управління базами даних. Оскільки ніколи не можна вгадати, звідки ви отримаєте дані, ми розглянемо в лекції всі джерела послідовно.
Введення даних із клавіатури
Напевно, найпростіший спосіб введення даних – це введення з клавіатури. Функція edit() відкриє текстовий редактор, куди ви зможете ввести свої дані. Ось покрокова інструкція:
- Створіть порожню таблицю даних (або матрицю), вказавши назви й типи змінних.
- Відкрийте текстовий редактор із цим об’єктом, введіть ваші дані і збережіть результат у вигляді об’єкта з даними.
У наведеному нижче прикладі ви створите таблицю даних із назвою mydata з трьома змінними: age (вік, числова), gender (стать, текстова) і weight (вага, числова). Потім ви відкриєте текстовий редактор, введете дані і збережете результат.
mydata <- data.frame(age=numeric(0),
gender=character(0), weight=numeric(0))
mydata <- edit(mydata)
Присвоєння типу age=numeric(0) створюють порожню (без даних) змінну заданого типу. Зверніть увагу на те, що результат редагування знову присвоєно початковому об’єкту. Функція edit() працює з копією об’єкту. Якщо ви не присвоїте результат її роботи будь-якому об’єкту, усі ваші зміни пропадуть. Результат роботи функції edit() під Windows показаний на рис. 8.2.
На рисунку видно, що автор узяв на себе сміливість додати трохи даних. Натиснувши назву стовпців, можна змінити назву й тип відповідної змінної. Можна додавати додаткові змінні, клацаючи на назви невикористаних стовпців. Після закриття текстового редактору, результати зберігають у вигляді обраного об’єкта (у даному випадку об’єкт mydata). Повторне введення функції mydata <- edit(mydata) дозволяє редагувати введені дані й додавати нові. Скорочена версія команди mydata <- edit(mydata) – це просто fix(mydata).
Цей метод добре працює для невеликих обсягів даних. Для наборів даних більшого розміру вам варто звернутися до описаних нижче методів: введення даних із наявних текстових файлів, електронних таблиць Excel, статистичних програм або систем управління базами даних.
Введення даних із текстового файлу з роздільниками
Введення даних із текстових файлів із роздільниками можливий із допомогою команди read.table(), функції, що зберігає дані у вигляді таблиці. Ось приклад використання функції:
mydataframe <- read.table(file, header=logic_value,
sep="роздільник", row.names="назва")
де file – це ASCII (з англ. American Standard Code for Information Interchange – американський стандартний код обміну інформацією) файл із роздільниками; header – це логічне значення, що визначає, чи містить перший рядок назви змінних (TRUE – так, FALSE – немає); sep вказує, яким символом розділені елементи даних; row.names – необов’язковий параметр для вказівки стовпця (стовпців), у якому містяться назви рядків. Наприклад, програмний код
grades <- read.table("studentgrades.csv", header=TRUE, sep=",",
row.names="STUDENTID")
дозволяє прочитати файл із роздільниками-комами, який називається studentgrades.csv, з поточної робочої директорії і зберегти його у вигляді таблиці даних із назвою grades. У цьому файлі назви змінних містилися в першому рядку, а назви рядків – у стовпці з назвою STUDENTID.
Зверніть увагу на те, що використання параметра sep дозволяє використовувати файли з будь-якими символами в якості роздільників. Файли із символом табуляції, як роздільник, можна вводити, вказавши sep="\t". За замовчуванням використовується sep="", що позначає один або кілька пробілів, символів табуляції або символів нового рядка.
За замовчуванням текстові змінні перетворюються у фактори, проте це не завжди доречно (наприклад, для змінної, що містить коментарі респондента). Таке перетворення можна заблокувати різними способами. Додавання параметра stringsAsFactors=FALSE не дозволить перетворювати в чинники всі текстові змінні. У якості альтернативи можна використовувати параметр colClasses, для того щоби вказати формат (наприклад, логічний, числовий, текстовий, фактор) кожного стовпчика.
У функції read.table() є багато додаткових параметрів, з допомогою яких можна стежити за введенням даних. Докладніше про це можна прочитати, виконавши команду help(read.table).
Багато прикладів у цій лекції ґрунтуються на роботі з уже наявними на комп’ютері файлами. У мові R також реалізовано кілька алгоритмів отримання даних з інтернету. Наприклад, замість імені файлу можна використовувати функції file(), gzfile(), bzfile(), xzfile(), unz() і url(). Функція file() дозволяє отримувати доступ до файлів, буферу обміну та до стандартних потоків введення-виведення. Функції gzfile(), bzfile(), xzfile() і unz() дають можливість доступу до стисненим файлів. Функція url() надає доступ до файлів в інтернеті через повну URL-адресу, яка включає https://, ftp:// або file://. Для HTTPS або FTP можна призначити програми-посередники (proxy). Повні URL-адреси (укладені в прямі лапки) можна використовувати також замість назв файлів. Більш детальну інформацію можна отримати, ввівши команду help(file).
Введення даних з Excel
Кращий спосіб прочитати файл у форматі Excel – це зберегти його у форматі текстового файлу з роздільниками і ввести в R, як це описано вище. Під Windows для доступу до файлів Excel також можна використовувати пакет RODBC. У першому рядку електронної таблиці повинні міститися назви змінних (стовпців).
Насамперед закачайте і встановіть пакет RODBC.
Тепер ви можете використовувати такий програмний код для введення даних:
library(RODBC)
channel <- odbcConnectExcel("myfile.xls")
mydataframe <- sqlFetch(channel, "mysheet")
odbcClose(channel)
Тут myfile.xls – це файл Excel, mysheet – це назва потрібного листа з робочої книги Excel, channel – це допоміжний об’єкт RODBC, створений функцією odbcConnectExcel(), і mydataframe – це отримана таблиця даних. Цей пакет також можна використовувати для введення даних з Microsoft Access. Подробиці вказані у файлі довідки: help(RODBC).
В Excel використовуються файли формату XLSX, які фактично є стислим набором XML-файлів. Для введення електронних таблиць у цьому форматі можна використовувати пакет xlsx. Переконайтеся, що перед першим використанням ви завантажили і встановили цей пакет. Функція read.xlsx() здійснює введення потрібного листа XLSX-файлу в таблицю даних. Найпростіше використовувати цю функцію за такою схемою: read.xlsx(file, n), де file – це шлях до файлу книги Excel, а n – число листів, які потрібно ввести. Наприклад, під Windows програмний код
library(xlsx)
workbook <- "c:/myworkbook.xlsx"
mydataframe <- read.xlsx(workbook, 1)
вводить перший лист книги myworkbook.xlsx, що міститься на диску C:, і зберігає його у вигляді таблиці даних mydataframe. Пакет xlsx може не тільки вводити листи XLSX-файлів, а також створювати файли цього формату й управляти ними.
Введення даних з XML-файлів
Останнім часом усе більше даних з’являється у вигляді файлів формату XML. В R є кілька пакетів для роботи з такими файлами. Наприклад, пакет XML, створений Дунканом Темпл Лангом (Duncan Temple Lang), дозволяє користувачам читати, записувати й перетворювати XML-файли.
Одерження даних із веб-сторінок
У процесі роботи в мережі (webscrapping) користувачі отримують дані з веб-сторінок, доступних в інтернеті, і зберігають їх у вигляді об’єктів R для подальшого аналізу. Один зі способів – закачати веб-сторінку з допомогою функції readLines() і далі працювати з нею з використанням функцій grep() і gsub(). Для одержання потрібної інформації з багаторівневих веб-сторінок можна використовувати пакети RCurl і XML. Більш повну інформацію, включно з прикладами, буде надано в наступному модулі.
Введення даних з SPSS
Набори даних у форматі SPSS можна вводити в R з допомогою функції read.spss() з пакету foreign. Інший варіант – використовувати функцію spss.get() з пакету Hmisc. Це функція з інтерфейсом, яка автоматично визначає багато параметрів функції read.spss(), що робить перетворення файлів простішим і більш ефективним. По-перше, завантажте і встановіть пакет Hmisc (пакет foreign входить у базову комплектацію):
install.packages("Hmisc")
Потім використовуйте програмний код для введенняу даних:
У даному випадку mydata.sav – це файл даних SPSS, який потрібно ввести, параметр use.value.labels=TRUE означає, що змінні з підписаними значеннями будуть перетворені в чинники з відповідними рівнями, а mydataframe – це вихідна таблиця даних.
Введення даних з SAS
В R є низка функцій для введення SAS-файлів, включно з read.ssd () у пакеті foreign і sas.get () у пакеті Hmisc. Якщо ви використовуєте останню версію SAS (SAS 9.1 і вище), найімовірніше, ці функції не будуть працювати, оскільки структура файлів SAS була змінена. Відомо два способи вирішення цієї проблеми.
По-перше, можна зберегти набір даних SAS у вигляді текстового файлу з роздільниками-комами з допомогою команди PROC EXPORT, і прочитати одержаний текстовий файл, як це описано вище в лекції. Ось приклад:
Програма SAS:
proc export data = mydata
outfile = "mydata.csv"
dbms = csv;
run;
Програма R:
У якості альтернативи можна використовувати комерційний продукт під назвою Stat Transfer. Ця програма чудово поряється зі збереженням даних SAS (з урахуванням формату змінних) у вигляді таблиць даних R.
Введення даних із систем управління базами даних
Мова програмування R може взаємодіяти з різними системами управління базами даних (з англ. Database Management Systems, DBMS), включно з Microsoft SQL Server, Microsoft Access, MySQL, Oracle, PostgreSQL, DB2, Sybase, Teradata і SQLite. Деякі пакети надають доступ через оригінальні драйвери баз даних, водночас інші забезпечують доступ до даних через відкритий інтерфейс взаємодії з базами даних (з анг. Open Database Connectivity interface, ODBC) або Java-інтерфейс взаємодії з базами даних (з англ. Java Database Connectivity, JDBC). Використання R для доступу до даних, що містяться в зовнішніх DBMS, може бути ефективним способом роботи з великими наборами даних. Це збільшує ефективність використання мови структурованих запитів (з англ. Structured Query Language, SQL) і R.
Інтерфейс ODBC
Найпоширеніший спосіб доступу до DBMS в R – це використання пакету RODBC, який дозволяє R підключитися до будь-якої DBMS, у якій є драйвер OBMS. До таких систем належать усі перераховані вище DBMS. Перший крок – це встановлення й конфігурація відповідного ODBC драйвера для конкретної операційної системи й бази даних, оскільки вони не є частиною R. Якщо потрібні драйвери ще не встановлені на вашому комп’ютері, їх можна знайти в інтернеті. Після установки й конфігурації драйверів встановіть пакет RODBC. Це можна зробити з допомогою команди install.packages("RODBC"). Основні функції цього пакета перераховані в табл. 2.2.
Пакет RODBC забезпечує двостороннє з’єднання між R і з’єднаною через ODBC базою даних SQL. Це означає, що ви можете не тільки завантажувати дані в R з приєднаної бази даних, але і змінювати вміст бази даних мовою R. Припустимо, вам потрібно зберегти дві таблиці (Crime – злочин і Punishment – покарання) з DBMS у вигляді двох таблиць даних із назвами crimedat і pundat відповідно. Це можна зробити таким програмним кодом:
Тут ви завантажуєте пакет RODBC і відкриваєте з’єднання з базою даних ODBC через зареєстровану назву джерела (mydsn) з ідентифікатором користувача (user identifier – UID: rob) і паролем (aardvark). Результат з’єднання обробляється функцією sqlFetch, яка зберігає таблицю Crime у вигляді таблиці даних R crimedat. Потім ви запускаєте оператор SQL select для таблиці Punishment і зберігаєте результат у таблиці даних pundat. Нарешті, ви закриваєте з’єднання.
Функція sqlQuery() відкриває багато можливостей, оскільки в неї можна вставити будь-який діючий оператор SQL. Ця гнучка система дозволяє вибирати окремі змінні, створювати підмножини даних, створювати нові змінні, а також перекодувати й перейменовувати наявні змінні.
Пакети, пов’язані з DBI
Пакет DBI надає широко застосовуваний і послідовний інтерфейс для DBMS. Створений на його основі пакет RJDBC надає доступ до DBMS через драйвер JDBC. Переконайтеся, що перед його використанням на вашому комп’ютері встановлено драйвери JDBC для відповідної операційної системи й бази даних. Інші корисні пакети, створені на базі DBI, – це RMySQL, ROracle, RPostgreSQL і RSQLite. Ці пакети надають драйвери, призначені для конкретних баз даних, однак вони можуть працювати не на всіх операційних системах.
LS0tDQp0aXRsZTogItCb0LXQutGG0ZbRjyA4LiDQktCy0LXQtNC10L3QvdGPINC00LDQvdC40YUiDQpvdXRwdXQ6DQogIGh0bWxfbm90ZWJvb2s6DQogICAgY29kZV9mb2xkaW5nOiBub25lDQotLS0NCg0KPHN0eWxlPg0KYm9keSB7DQp0ZXh0LWFsaWduOiBqdXN0aWZ5fQ0KPC9zdHlsZT4NCg0KYGBge3IgcGF0aCBhc3NpZ25tZW50LCBlY2hvID0gIkZBTFNFIn0NCmxpYnJhcnkoa25pdHIpDQpsaWJyYXJ5KGthYmxlRXh0cmEpDQpvcHRpb25zKGtuaXRyLnRhYmxlLmZvcm1hdCA9ICJodG1sIikNCmBgYA0KDQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCtCd0LAg0L/QvtC/0LXRgNC10LTQvdGW0YUg0LvQtdC60YbRltGP0YUg0LzQuCDQvtC30L3QsNC50L7QvNC40LvQuNGB0Ywg0ZbQtyDRgNC+0LHQvtGC0L7RjiDQsdC10LfQv9C+0YHQtdGA0LXQtNC90YzQviDQsiDRgdC40YHRgtC10LzRliBSINGC0LAg0LzQvtC20LvQuNCy0ZbRgdGC0Y4g0YHRgtCy0L7RgNC10L3QvdGPINC90LXQstC10LvQuNC60LjRhSDQt9CwINC+0LHRgdGP0LPQvtC8INC+0LHigJnRlNC60YLRltCyINC00LvRjyDQt9Cx0LXRgNC10LbQtdC90L3RjyDQtNCw0L3QuNGFICjQstC10LrRgtC+0YDQuCwg0LzQsNGC0YDQuNGG0ZYsINGB0L/QuNGB0LrQuCwg0YLQsNCx0LvQuNGG0ZYg0LTQsNC90LjRhSkuINCh0LvRltC0INC30LDQt9C90LDRh9C40YLQuCwg0L7QtNC90LDQuiwg0YnQviDQvNC+0LbQu9C40LLQvtGB0YLRliDRgdC40YHRgtC10LzQuCBSINGJ0L7QtNC+INCy0LLQtdC00LXQvdC90Y8g0Lkg0YDQtdC00LDQs9GD0LLQsNC90L3RjyDQtNCw0L3QuNGFINC90LDQstC80LjRgdC90LUg0L7QsdC80LXQttC10L3RliDRl9GXINGC0LLQvtGA0YbRj9C80LgsINGP0LrRliDQv9GA0LjQv9GD0YHQutCw0LvQuCwg0YnQviDQtNC70Y8g0YbRjNC+0LPQviDQsdGD0LTRg9GC0Ywg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC40YHRjyDRltC90YjRliDQt9Cw0YHQvtCx0LggKNC90LDQv9GA0LjQutC70LDQtCwg0L/RgNC+0LPRgNCw0LzQsCBNaWNyb3NvZnQgRXhjZWwg0LDQsdC+INCx0LDQt9C4INC00LDQvdC40YUpLiDQotC+0LzRgyDQvtCx4oCZ0ZTQvNC90ZYg0YLQsNCx0LvQuNGG0ZYg0LTQsNC90LjRhSwg0YnQviDQv9GW0LTQu9GP0LPQsNGO0YLRjCDQsNC90LDQu9GW0LfRgywg0LfQsNC30LLQuNGH0LDQuSDQs9C+0YLRg9GO0YLRjNGB0Y8g0Lcg0LTQvtC/0L7QvNC+0LPQvtGOINGB0YLQvtGA0L7QvdC90ZbRhSDQtNC+0LTQsNGC0LrRltCyLCDRliDRgtGW0LvRjNC60Lgg0L/QvtGC0ZbQvCDQt9Cw0LLQsNC90YLQsNC20YPRjtGC0YzRgdGPINCyINGA0L7QsdC+0YfQtSDRgdC10YDQtdC00L7QstC40YnQtSBSINGW0Lcg0LfQvtCy0L3RltGI0L3RltGFINGE0LDQudC70ZbQsi4NCg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQrQl9Cw0LfQstC40YfQsNC5INCw0L3QsNC70ZbRgtC40LrQuCDRgdGC0LjQutCw0Y7RgtGM0YHRjyDQtyDQtNCw0L3QuNC80LgsINGP0LrRliDQvdCw0LTRhdC+0LTRj9GC0Ywg0ZbQtyDRgNGW0LfQvdC40YUg0LTQttC10YDQtdC7INGWINCyINGA0ZbQt9C90LjRhSDRhNC+0YDQvNCw0YLQsNGFLiDQl9CwINGC0LDQutC+0Zcg0YPQvNC+0LLQuCDQvtGB0L3QvtCy0L3QtSDQt9Cw0LLQtNCw0L3QvdGPINC/0L7Qu9GP0LPQsNGUINGDINCy0LLQtdC00LXQvdC90ZYg0LTQsNC90LjRhSDRgyDQv9GA0L7Qs9GA0LDQvNGDLCDRl9GF0L3RjNC+0LzRgyDQsNC90LDQu9GW0LfRliDRliDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90L3RliDQt9Cy0ZbRgtGDINC/0YDQviDRgNC10LfRg9C70YzRgtCw0YLQuC4g0KMg0LzQvtCy0ZYgUiDRgNC10LDQu9GW0LfQvtCy0LDQvdGWINGA0ZbQt9C90ZYg0YHQv9C+0YHQvtCx0Lgg0LLQstC10LTQtdC90L3RjyDQtNCw0L3QuNGFLiDQr9C6INCy0LjQtNC90L4g0L3QsCDRgNC40YEuIDguMSwg0LIgUiDQvNC+0LbQvdCwINCy0LLQvtC00LjRgtC4INC00LDQvdGWINC3INC60LvQsNCy0ZbQsNGC0YPRgNC4LCDQtyDRgtC10LrRgdGC0L7QstC40YUg0YTQsNC50LvRltCyLCDQtyBNaWNyb3NvZnQgRXhjZWwg0ZYgQWNjZXNzLCDQtyDQv9C+0YjQuNGA0LXQvdC40YUg0YHRgtCw0YLQuNGB0YLQuNGH0L3QuNGFINC/0YDQvtCz0YDQsNC8LCDRgdC/0LXRhtGW0LDQu9GW0LfQvtCy0LDQvdC40YUg0YTQvtGA0LzQsNGC0ZbQsiwg0LAg0YLQsNC60L7QtiDRltC3INGA0ZbQt9C90LjRhSDRgdC40YHRgtC10Lwg0YPQv9GA0LDQstC70ZbQvdC90Y8g0LHQsNC30LDQvNC4INC00LDQvdC40YUuINCe0YHQutGW0LvRjNC60Lgg0L3RltC60L7Qu9C4INC90LUg0LzQvtC20L3QsCDQstCz0LDQtNCw0YLQuCwg0LfQstGW0LTQutC4INCy0Lgg0L7RgtGA0LjQvNCw0ZTRgtC1INC00LDQvdGWLCDQvNC4INGA0L7Qt9Cz0LvRj9C90LXQvNC+INCyINC70LXQutGG0ZbRlyDQstGB0ZYg0LTQttC10YDQtdC70LAg0L/QvtGB0LvRltC00L7QstC90L4uDQoNCjxjZW50ZXI+DQoNCiFbKirQoNC40YHRg9C90L7QuiA4LjEqKiAtINCU0LbQtdGA0LXQu9CwLCDQtyDRj9C60LjRhSDQvNC+0LbQvdCwINGW0LzQv9C+0YDRgtGD0LLQsNGC0Lgg0LTQsNC90ZYg0LIgUl0oaW1hZ2VzL0ZpZ184XzEuUE5HKXt3aWR0aD02MCV9DQoNCjwvY2VudGVyPg0KDQombmJzcDsNCg0KIyPQktCy0LXQtNC10L3QvdGPINC00LDQvdC40YUg0ZbQtyDQutC70LDQstGW0LDRgtGD0YDQuA0KDQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCtCd0LDQv9C10LLQvdC+LCDQvdCw0LnQv9GA0L7RgdGC0ZbRiNC40Lkg0YHQv9C+0YHRltCxINCy0LLQtdC00LXQvdC90Y8g0LTQsNC90LjRhSDigJMg0YbQtSDQstCy0LXQtNC10L3QvdGPINC3INC60LvQsNCy0ZbQsNGC0YPRgNC4LiDQpNGD0L3QutGG0ZbRjyBgZWRpdCgpYCDQstGW0LTQutGA0LjRlCDRgtC10LrRgdGC0L7QstC40Lkg0YDQtdC00LDQutGC0L7RgCwg0LrRg9C00Lgg0LLQuCDQt9C80L7QttC10YLQtSDQstCy0LXRgdGC0Lgg0YHQstC+0Zcg0LTQsNC90ZYuINCe0YHRjCDQv9C+0LrRgNC+0LrQvtCy0LAg0ZbQvdGB0YLRgNGD0LrRhtGW0Y86DQoNCjEuINCh0YLQstC+0YDRltGC0Ywg0L/QvtGA0L7QttC90Y4g0YLQsNCx0LvQuNGG0Y4g0LTQsNC90LjRhSAo0LDQsdC+INC80LDRgtGA0LjRhtGOKSwg0LLQutCw0LfQsNCy0YjQuCDQvdCw0LfQstC4INC5INGC0LjQv9C4INC30LzRltC90L3QuNGFLg0KMi4g0JLRltC00LrRgNC40LnRgtC1INGC0LXQutGB0YLQvtCy0LjQuSDRgNC10LTQsNC60YLQvtGAINGW0Lcg0YbQuNC8INC+0LHigJnRlNC60YLQvtC8LCDQstCy0LXQtNGW0YLRjCDQstCw0YjRliDQtNCw0L3RliDRliDQt9Cx0LXRgNC10LbRltGC0Ywg0YDQtdC30YPQu9GM0YLQsNGCINGDINCy0LjQs9C70Y/QtNGWINC+0LHigJnRlNC60YLQsCDQtyDQtNCw0L3QuNC80LguDQoNCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0K0KMg0L3QsNCy0LXQtNC10L3QvtC80YMg0L3QuNC20YfQtSDQv9GA0LjQutC70LDQtNGWINCy0Lgg0YHRgtCy0L7RgNC40YLQtSDRgtCw0LHQu9C40YbRjiDQtNCw0L3QuNGFINGW0Lcg0L3QsNC30LLQvtGOIGBteWRhdGFgINC3INGC0YDRjNC+0LzQsCDQt9C80ZbQvdC90LjQvNC4OiBgYWdlYCAo0LLRltC6LCDRh9C40YHQu9C+0LLQsCksIGBnZW5kZXJgICjRgdGC0LDRgtGMLCDRgtC10LrRgdGC0L7QstCwKSDRliBgd2VpZ2h0YCAo0LLQsNCz0LAsINGH0LjRgdC70L7QstCwKS4g0J/QvtGC0ZbQvCDQstC4INCy0ZbQtNC60YDQuNGU0YLQtSDRgtC10LrRgdGC0L7QstC40Lkg0YDQtdC00LDQutGC0L7RgCwg0LLQstC10LTQtdGC0LUg0LTQsNC90ZYg0ZYg0LfQsdC10YDQtdC20LXRgtC1INGA0LXQt9GD0LvRjNGC0LDRgi4NCg0KYGBge3J9DQpteWRhdGEgPC0gZGF0YS5mcmFtZShhZ2U9bnVtZXJpYygwKSwgDQogICAgICAgICAgICAgICAgICAgICBnZW5kZXI9Y2hhcmFjdGVyKDApLCB3ZWlnaHQ9bnVtZXJpYygwKSkNCm15ZGF0YSA8LSBlZGl0KG15ZGF0YSkNCmBgYA0KDQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDvQn9GA0LjRgdCy0L7RlNC90L3RjyDRgtC40L/RgyBgYWdlPW51bWVyaWMoMClgINGB0YLQstC+0YDRjtGO0YLRjCDQv9C+0YDQvtC20L3RjiAo0LHQtdC3INC00LDQvdC40YUpINC30LzRltC90L3RgyDQt9Cw0LTQsNC90L7Qs9C+INGC0LjQv9GDLiDQl9Cy0LXRgNC90ZbRgtGMINGD0LLQsNCz0YMg0L3QsCDRgtC1LCDRidC+INGA0LXQt9GD0LvRjNGC0LDRgiDRgNC10LTQsNCz0YPQstCw0L3QvdGPINC30L3QvtCy0YMg0L/RgNC40YHQstC+0ZTQvdC+INC/0L7Rh9Cw0YLQutC+0LLQvtC80YMg0L7QseKAmdGU0LrRgtGDLiDQpNGD0L3QutGG0ZbRjyBgZWRpdCgpYCDQv9GA0LDRhtGO0ZQg0Lcg0LrQvtC/0ZbRlNGOINC+0LHigJnRlNC60YLRgy4g0K/QutGJ0L4g0LLQuCDQvdC1INC/0YDQuNGB0LLQvtGX0YLQtSDRgNC10LfRg9C70YzRgtCw0YIg0ZfRlyDRgNC+0LHQvtGC0Lgg0LHRg9C00Ywt0Y/QutC+0LzRgyDQvtCx4oCZ0ZTQutGC0YMsINGD0YHRliDQstCw0YjRliDQt9C80ZbQvdC4INC/0YDQvtC/0LDQtNGD0YLRjC4g0KDQtdC30YPQu9GM0YLQsNGCINGA0L7QsdC+0YLQuCDRhNGD0L3QutGG0ZbRlyBgZWRpdCgpYCDQv9GW0LQgV2luZG93cyDQv9C+0LrQsNC30LDQvdC40Lkg0L3QsCDRgNC40YEuIDguMi4NCg0KPGNlbnRlcj4NCg0KIVsqKtCg0LjRgdGD0L3QvtC6IDguMioqIC0g0KDQtdC00LDQs9GD0LLQsNC90L3RjyDQtNCw0L3QuNGFINC3INC00L7Qv9C+0LzQvtCz0L7RjiDQstCx0YPQtNC+0LLQsNC90L7Qs9C+INGC0LXQutGB0YLQvtCy0L7Qs9C+INGA0LXQtNCw0LrRgtC+0YDQsCDQv9GW0LQgV2luZG93c10oaW1hZ2VzL0ZpZ184XzIuUE5HKXt3aWR0aD02MCV9DQoNCjwvY2VudGVyPg0KDQombmJzcDsNCg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQrQndCwINGA0LjRgdGD0L3QutGDINCy0LjQtNC90L4sINGJ0L4g0LDQstGC0L7RgCDRg9C30Y/QsiDQvdCwINGB0LXQsdC1INGB0LzRltC70LjQstGW0YHRgtGMINC00L7QtNCw0YLQuCDRgtGA0L7RhdC4INC00LDQvdC40YUuINCd0LDRgtC40YHQvdGD0LLRiNC4INC90LDQt9Cy0YMg0YHRgtC+0LLQv9GG0ZbQsiwg0LzQvtC20L3QsCDQt9C80ZbQvdC40YLQuCDQvdCw0LfQstGDINC5INGC0LjQvyDQstGW0LTQv9C+0LLRltC00L3QvtGXINC30LzRltC90L3QvtGXLiDQnNC+0LbQvdCwINC00L7QtNCw0LLQsNGC0Lgg0LTQvtC00LDRgtC60L7QstGWINC30LzRltC90L3Rliwg0LrQu9Cw0YbQsNGO0YfQuCDQvdCwINC90LDQt9Cy0Lgg0L3QtdCy0LjQutC+0YDQuNGB0YLQsNC90LjRhSDRgdGC0L7QstC/0YbRltCyLiDQn9GW0YHQu9GPINC30LDQutGA0LjRgtGC0Y8g0YLQtdC60YHRgtC+0LLQvtCz0L4g0YDQtdC00LDQutGC0L7RgNGDLCDRgNC10LfRg9C70YzRgtCw0YLQuCDQt9Cx0LXRgNGW0LPQsNGO0YLRjCDRgyDQstC40LPQu9GP0LTRliDQvtCx0YDQsNC90L7Qs9C+INC+0LHigJnRlNC60YLQsCAo0YMg0LTQsNC90L7QvNGDINCy0LjQv9Cw0LTQutGDINC+0LHigJnRlNC60YIgYG15ZGF0YWApLiDQn9C+0LLRgtC+0YDQvdC1INCy0LLQtdC00LXQvdC90Y8g0YTRg9C90LrRhtGW0ZcgYG15ZGF0YSA8LSBlZGl0KG15ZGF0YSlgINC00L7Qt9Cy0L7Qu9GP0ZQg0YDQtdC00LDQs9GD0LLQsNGC0Lgg0LLQstC10LTQtdC90ZYg0LTQsNC90ZYg0Lkg0LTQvtC00LDQstCw0YLQuCDQvdC+0LLRli4g0KHQutC+0YDQvtGH0LXQvdCwINCy0LXRgNGB0ZbRjyDQutC+0LzQsNC90LTQuCBgbXlkYXRhIDwtIGVkaXQobXlkYXRhKWAg4oCTINGG0LUg0L/RgNC+0YHRgtC+IGBmaXgobXlkYXRhKWAuDQoNCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0K0KbQtdC5INC80LXRgtC+0LQg0LTQvtCx0YDQtSDQv9GA0LDRhtGO0ZQg0LTQu9GPINC90LXQstC10LvQuNC60LjRhSDQvtCx0YHRj9Cz0ZbQsiDQtNCw0L3QuNGFLiDQlNC70Y8g0L3QsNCx0L7RgNGW0LIg0LTQsNC90LjRhSDQsdGW0LvRjNGI0L7Qs9C+INGA0L7Qt9C80ZbRgNGDINCy0LDQvCDQstCw0YDRgtC+INC30LLQtdGA0L3Rg9GC0LjRgdGPINC00L4g0L7Qv9C40YHQsNC90LjRhSDQvdC40LbRh9C1INC80LXRgtC+0LTRltCyOiDQstCy0LXQtNC10L3QvdGPINC00LDQvdC40YUg0ZbQtyDQvdCw0Y/QstC90LjRhSDRgtC10LrRgdGC0L7QstC40YUg0YTQsNC50LvRltCyLCDQtdC70LXQutGC0YDQvtC90L3QuNGFINGC0LDQsdC70LjRhtGMIEV4Y2VsLCDRgdGC0LDRgtC40YHRgtC40YfQvdC40YUg0L/RgNC+0LPRgNCw0Lwg0LDQsdC+INGB0LjRgdGC0LXQvCDRg9C/0YDQsNCy0LvRltC90L3RjyDQsdCw0LfQsNC80Lgg0LTQsNC90LjRhS4NCg0KIyPQktCy0LXQtNC10L3QvdGPINC00LDQvdC40YUg0ZbQtyDRgtC10LrRgdGC0L7QstC+0LPQviDRhNCw0LnQu9GDINC3INGA0L7Qt9C00ZbQu9GM0L3QuNC60LDQvNC4DQoNCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0K0JLQstC10LTQtdC90L3RjyDQtNCw0L3QuNGFINGW0Lcg0YLQtdC60YHRgtC+0LLQuNGFINGE0LDQudC70ZbQsiDRltC3INGA0L7Qt9C00ZbQu9GM0L3QuNC60LDQvNC4INC80L7QttC70LjQstC40Lkg0ZbQtyDQtNC+0L/QvtC80L7Qs9C+0Y4g0LrQvtC80LDQvdC00LggYHJlYWQudGFibGUoKWAsINGE0YPQvdC60YbRltGXLCDRidC+INC30LHQtdGA0ZbQs9Cw0ZQg0LTQsNC90ZYg0YMg0LLQuNCz0LvRj9C00ZYg0YLQsNCx0LvQuNGG0ZYuINCe0YHRjCDQv9GA0LjQutC70LDQtCDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y8g0YTRg9C90LrRhtGW0Zc6DQpgYGB7cn0NCm15ZGF0YWZyYW1lIDwtIHJlYWQudGFibGUoZmlsZSwgaGVhZGVyPWxvZ2ljX3ZhbHVlLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VwPSLRgNC+0LfQtNGW0LvRjNC90LjQuiIsIHJvdy5uYW1lcz0i0L3QsNC30LLQsCIpDQpgYGANCg0K0LTQtSBgZmlsZWAg4oCTINGG0LUgQVNDSUkgKNC3INCw0L3Qs9C7LiAqQW1lcmljYW4gU3RhbmRhcmQgQ29kZSBmb3IgSW5mb3JtYXRpb24gSW50ZXJjaGFuZ2UqIOKAkyDQsNC80LXRgNC40LrQsNC90YHRjNC60LjQuSDRgdGC0LDQvdC00LDRgNGC0L3QuNC5INC60L7QtCDQvtCx0LzRltC90YMg0ZbQvdGE0L7RgNC80LDRhtGW0ZTRjikg0YTQsNC50Lsg0ZbQtyDRgNC+0LfQtNGW0LvRjNC90LjQutCw0LzQuDsgYGhlYWRlcmAg4oCTINGG0LUg0LvQvtCz0ZbRh9C90LUg0LfQvdCw0YfQtdC90L3Rjywg0YnQviDQstC40LfQvdCw0YfQsNGULCDRh9C4INC80ZbRgdGC0LjRgtGMINC/0LXRgNGI0LjQuSDRgNGP0LTQvtC6INC90LDQt9Cy0Lgg0LfQvNGW0L3QvdC40YUgKGBUUlVFYCDigJMg0YLQsNC6LCBgRkFMU0VgIOKAkyDQvdC10LzQsNGUKTsgYHNlcGAg0LLQutCw0LfRg9GULCDRj9C60LjQvCDRgdC40LzQstC+0LvQvtC8INGA0L7Qt9C00ZbQu9C10L3RliDQtdC70LXQvNC10L3RgtC4INC00LDQvdC40YU7IGByb3cubmFtZXNgIOKAkyDQvdC10L7QsdC+0LLigJnRj9C30LrQvtCy0LjQuSDQv9Cw0YDQsNC80LXRgtGAINC00LvRjyDQstC60LDQt9GW0LLQutC4INGB0YLQvtCy0L/RhtGPICjRgdGC0L7QstC/0YbRltCyKSwg0YMg0Y/QutC+0LzRgyDQvNGW0YHRgtGP0YLRjNGB0Y8g0L3QsNC30LLQuCDRgNGP0LTQutGW0LIuDQrQndCw0L/RgNC40LrQu9Cw0LQsINC/0YDQvtCz0YDQsNC80L3QuNC5INC60L7QtA0KDQpgYGB7cn0NCmdyYWRlcyA8LSByZWFkLnRhYmxlKCJzdHVkZW50Z3JhZGVzLmNzdiIsIGhlYWRlcj1UUlVFLCBzZXA9IiwiLA0KICAgICAgICAgICAgICAgICAgICAgICByb3cubmFtZXM9IlNUVURFTlRJRCIpDQpgYGANCg0K0LTQvtC30LLQvtC70Y/RlCDQv9GA0L7Rh9C40YLQsNGC0Lgg0YTQsNC50Lsg0ZbQtyDRgNC+0LfQtNGW0LvRjNC90LjQutCw0LzQuC3QutC+0LzQsNC80LgsINGP0LrQuNC5INC90LDQt9C40LLQsNGU0YLRjNGB0Y8gYHN0dWRlbnRncmFkZXMuY3N2YCwg0Lcg0L/QvtGC0L7Rh9C90L7RlyDRgNC+0LHQvtGH0L7RlyDQtNC40YDQtdC60YLQvtGA0ZbRlyDRliDQt9Cx0LXRgNC10LPRgtC4INC50L7Qs9C+INGDINCy0LjQs9C70Y/QtNGWINGC0LDQsdC70LjRhtGWINC00LDQvdC40YUg0ZbQtyDQvdCw0LfQstC+0Y4gYGdyYWRlc2AuINCjINGG0YzQvtC80YMg0YTQsNC50LvRliDQvdCw0LfQstC4INC30LzRltC90L3QuNGFINC80ZbRgdGC0LjQu9C40YHRjyDQsiDQv9C10YDRiNC+0LzRgyDRgNGP0LTQutGDLCDQsCDQvdCw0LfQstC4INGA0Y/QtNC60ZbQsiDigJMg0YMg0YHRgtC+0LLQv9GG0ZYg0Lcg0L3QsNC30LLQvtGOIGBTVFVERU5USURgLg0KDQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCtCX0LLQtdGA0L3RltGC0Ywg0YPQstCw0LPRgyDQvdCwINGC0LUsINGJ0L4g0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPINC/0LDRgNCw0LzQtdGC0YDQsCBgc2VwYCDQtNC+0LfQstC+0LvRj9GUINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDRhNCw0LnQu9C4INC3INCx0YPQtNGMLdGP0LrQuNC80Lgg0YHQuNC80LLQvtC70LDQvNC4INCyINGP0LrQvtGB0YLRliDRgNC+0LfQtNGW0LvRjNC90LjQutGW0LIuINCk0LDQudC70Lgg0ZbQtyDRgdC40LzQstC+0LvQvtC8INGC0LDQsdGD0LvRj9GG0ZbRlywg0Y/QuiDRgNC+0LfQtNGW0LvRjNC90LjQuiwg0LzQvtC20L3QsCDQstCy0L7QtNC40YLQuCwg0LLQutCw0LfQsNCy0YjQuCBgc2VwPSJcdCJgLiDQl9CwINC30LDQvNC+0LLRh9GD0LLQsNC90L3Rj9C8INCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPIGBzZXA9IiJgLCDRidC+INC/0L7Qt9C90LDRh9Cw0ZQg0L7QtNC40L0g0LDQsdC+INC60ZbQu9GM0LrQsCDQv9GA0L7QsdGW0LvRltCyLCDRgdC40LzQstC+0LvRltCyINGC0LDQsdGD0LvRj9GG0ZbRlyDQsNCx0L4g0YHQuNC80LLQvtC70ZbQsiDQvdC+0LLQvtCz0L4g0YDRj9C00LrQsC4NCg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQrQl9CwINC30LDQvNC+0LLRh9GD0LLQsNC90L3Rj9C8INGC0LXQutGB0YLQvtCy0ZYg0LfQvNGW0L3QvdGWINC/0LXRgNC10YLQstC+0YDRjtGO0YLRjNGB0Y8g0YMg0YTQsNC60YLQvtGA0LgsINC/0YDQvtGC0LUg0YbQtSDQvdC1INC30LDQstC20LTQuCDQtNC+0YDQtdGH0L3QviAo0L3QsNC/0YDQuNC60LvQsNC0LCDQtNC70Y8g0LfQvNGW0L3QvdC+0ZcsINGJ0L4g0LzRltGB0YLQuNGC0Ywg0LrQvtC80LXQvdGC0LDRgNGWINGA0LXRgdC/0L7QvdC00LXQvdGC0LApLiDQotCw0LrQtSDQv9C10YDQtdGC0LLQvtGA0LXQvdC90Y8g0LzQvtC20L3QsCDQt9Cw0LHQu9C+0LrRg9Cy0LDRgtC4INGA0ZbQt9C90LjQvNC4INGB0L/QvtGB0L7QsdCw0LzQuC4g0JTQvtC00LDQstCw0L3QvdGPINC/0LDRgNCw0LzQtdGC0YDQsCBgc3RyaW5nc0FzRmFjdG9ycz1GQUxTRWAg0L3QtSDQtNC+0LfQstC+0LvQuNGC0Ywg0L/QtdGA0LXRgtCy0L7RgNGO0LLQsNGC0Lgg0LIg0YfQuNC90L3QuNC60Lgg0LLRgdGWINGC0LXQutGB0YLQvtCy0ZYg0LfQvNGW0L3QvdGWLiDQoyDRj9C60L7RgdGC0ZYg0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC4INC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC/0LDRgNCw0LzQtdGC0YAgYGNvbENsYXNzZXNgLCDQtNC70Y8g0YLQvtCz0L4g0YnQvtCx0Lgg0LLQutCw0LfQsNGC0Lgg0YTQvtGA0LzQsNGCICjQvdCw0L/RgNC40LrQu9Cw0LQsINC70L7Qs9GW0YfQvdC40LksINGH0LjRgdC70L7QstC40LksINGC0LXQutGB0YLQvtCy0LjQuSwg0YTQsNC60YLQvtGAKSDQutC+0LbQvdC+0LPQviDRgdGC0L7QstC/0YfQuNC60LAuDQoNCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0K0KMg0YTRg9C90LrRhtGW0ZcgYHJlYWQudGFibGUoKWAg0ZQg0LHQsNCz0LDRgtC+INC00L7QtNCw0YLQutC+0LLQuNGFINC/0LDRgNCw0LzQtdGC0YDRltCyLCDQtyDQtNC+0L/QvtC80L7Qs9C+0Y4g0Y/QutC40YUg0LzQvtC20L3QsCDRgdGC0LXQttC40YLQuCDQt9CwINCy0LLQtdC00LXQvdC90Y/QvCDQtNCw0L3QuNGFLiDQlNC+0LrQu9Cw0LTQvdGW0YjQtSDQv9GA0L4g0YbQtSDQvNC+0LbQvdCwINC/0YDQvtGH0LjRgtCw0YLQuCwg0LLQuNC60L7QvdCw0LLRiNC4INC60L7QvNCw0L3QtNGDIGBoZWxwKHJlYWQudGFibGUpYC4NCg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQrQkdCw0LPQsNGC0L4g0L/RgNC40LrQu9Cw0LTRltCyINGDINGG0ZbQuSDQu9C10LrRhtGW0Zcg0pHRgNGD0L3RgtGD0Y7RgtGM0YHRjyDQvdCwINGA0L7QsdC+0YLRliDQtyDRg9C20LUg0L3QsNGP0LLQvdC40LzQuCDQvdCwINC60L7QvNC/4oCZ0Y7RgtC10YDRliDRhNCw0LnQu9Cw0LzQuC4g0KMg0LzQvtCy0ZYgUiDRgtCw0LrQvtC2INGA0LXQsNC70ZbQt9C+0LLQsNC90L4g0LrRltC70YzQutCwINCw0LvQs9C+0YDQuNGC0LzRltCyINC+0YLRgNC40LzQsNC90L3RjyDQtNCw0L3QuNGFINC3INGW0L3RgtC10YDQvdC10YLRgy4g0J3QsNC/0YDQuNC60LvQsNC0LCDQt9Cw0LzRltGB0YLRjCDRltC80LXQvdGWINGE0LDQudC70YMg0LzQvtC20L3QsCDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YTRg9C90LrRhtGW0ZcgYGZpbGUoKWAsIGBnemZpbGUoKWAsIGBiemZpbGUoKWAsIGB4emZpbGUoKWAsIGB1bnooKWAg0ZYgYHVybCgpYC4g0KTRg9C90LrRhtGW0Y8gYGZpbGUoKWAg0LTQvtC30LLQvtC70Y/RlCDQvtGC0YDQuNC80YPQstCw0YLQuCDQtNC+0YHRgtGD0L8g0LTQviDRhNCw0LnQu9GW0LIsINCx0YPRhNC10YDRgyDQvtCx0LzRltC90YMg0YLQsCDQtNC+INGB0YLQsNC90LTQsNGA0YLQvdC40YUg0L/QvtGC0L7QutGW0LIg0LLQstC10LTQtdC90L3Rjy3QstC40LLQtdC00LXQvdC90Y8uINCk0YPQvdC60YbRltGXIGBnemZpbGUoKWAsIGBiemZpbGUoKWAsIGB4emZpbGUoKWAg0ZYgYHVueigpYCDQtNCw0Y7RgtGMINC80L7QttC70LjQstGW0YHRgtGMINC00L7RgdGC0YPQv9GDINC00L4g0YHRgtC40YHQvdC10L3QuNC8INGE0LDQudC70ZbQsi4g0KTRg9C90LrRhtGW0Y8gYHVybCgpYCDQvdCw0LTQsNGUINC00L7RgdGC0YPQvyDQtNC+INGE0LDQudC70ZbQsiDQsiDRltC90YLQtdGA0L3QtdGC0ZYg0YfQtdGA0LXQtyDQv9C+0LLQvdGDIFVSTC3QsNC00YDQtdGB0YMsINGP0LrQsCDQstC60LvRjtGH0LDRlCBodHRwczovLywgZnRwOi8vINCw0LHQviBmaWxlOi8vLiDQlNC70Y8gSFRUUFMg0LDQsdC+IEZUUCDQvNC+0LbQvdCwINC/0YDQuNC30L3QsNGH0LjRgtC4INC/0YDQvtCz0YDQsNC80Lgt0L/QvtGB0LXRgNC10LTQvdC40LrQuCAocHJveHkpLiDQn9C+0LLQvdGWIFVSTC3QsNC00YDQtdGB0LggKNGD0LrQu9Cw0LTQtdC90ZYg0LIg0L/RgNGP0LzRliDQu9Cw0L/QutC4KSDQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDRgtCw0LrQvtC2INC30LDQvNGW0YHRgtGMINC90LDQt9CyINGE0LDQudC70ZbQsi4g0JHRltC70YzRiCDQtNC10YLQsNC70YzQvdGDINGW0L3RhNC+0YDQvNCw0YbRltGOINC80L7QttC90LAg0L7RgtGA0LjQvNCw0YLQuCwg0LLQstGW0LLRiNC4INC60L7QvNCw0L3QtNGDIGBoZWxwKGZpbGUpYC4NCg0KIyPQktCy0LXQtNC10L3QvdGPINC00LDQvdC40YUg0LcgRXhjZWwNCg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQrQmtGA0LDRidC40Lkg0YHQv9C+0YHRltCxINC/0YDQvtGH0LjRgtCw0YLQuCDRhNCw0LnQuyDRgyDRhNC+0YDQvNCw0YLRliBFeGNlbCDigJMg0YbQtSDQt9Cx0LXRgNC10LPRgtC4INC50L7Qs9C+INGDINGE0L7RgNC80LDRgtGWINGC0LXQutGB0YLQvtCy0L7Qs9C+INGE0LDQudC70YMg0Lcg0YDQvtC30LTRltC70YzQvdC40LrQsNC80Lgg0ZYg0LLQstC10YHRgtC4INCyIFIsINGP0Log0YbQtSDQvtC/0LjRgdCw0L3QviDQstC40YnQtS4g0J/RltC0IFdpbmRvd3Mg0LTQu9GPINC00L7RgdGC0YPQv9GDINC00L4g0YTQsNC50LvRltCyIEV4Y2VsINGC0LDQutC+0LYg0LzQvtC20L3QsCDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0L/QsNC60LXRgiBgUk9EQkNgLiDQoyDQv9C10YDRiNC+0LzRgyDRgNGP0LTQutGDINC10LvQtdC60YLRgNC+0L3QvdC+0Zcg0YLQsNCx0LvQuNGG0ZYg0L/QvtCy0LjQvdC90ZYg0LzRltGB0YLQuNGC0LjRgdGPINC90LDQt9Cy0Lgg0LfQvNGW0L3QvdC40YUgKNGB0YLQvtCy0L/RhtGW0LIpLg0KDQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCtCd0LDRgdCw0LzQv9C10YDQtdC0INC30LDQutCw0YfQsNC50YLQtSDRliDQstGB0YLQsNC90L7QstGW0YLRjCDQv9Cw0LrQtdGCIGBST0RCQ2AuDQoNCmBgYHtyfQ0KaW5zdGFsbC5wYWNrYWdlcygiUk9EQkMiKQ0KYGBgDQoNCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0K0KLQtdC/0LXRgCDQstC4INC80L7QttC10YLQtSDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YLQsNC60LjQuSDQv9GA0L7Qs9GA0LDQvNC90LjQuSDQutC+0LQg0LTQu9GPINCy0LLQtdC00LXQvdC90Y8g0LTQsNC90LjRhToNCg0KYGBge3J9DQpsaWJyYXJ5KFJPREJDKQ0KY2hhbm5lbCA8LSBvZGJjQ29ubmVjdEV4Y2VsKCJteWZpbGUueGxzIikNCm15ZGF0YWZyYW1lIDwtIHNxbEZldGNoKGNoYW5uZWwsICJteXNoZWV0IikNCm9kYmNDbG9zZShjaGFubmVsKQ0KYGBgDQoNCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0K0KLRg9GCIGBteWZpbGUueGxzYCDigJMg0YbQtSDRhNCw0LnQuyBFeGNlbCwgYG15c2hlZXRgIOKAkyDRhtC1INC90LDQt9Cy0LAg0L/QvtGC0YDRltCx0L3QvtCz0L4g0LvQuNGB0YLQsCDQtyDRgNC+0LHQvtGH0L7RlyDQutC90LjQs9C4IEV4Y2VsLCBgY2hhbm5lbGAg4oCTINGG0LUg0LTQvtC/0L7QvNGW0LbQvdC40Lkg0L7QseKAmdGU0LrRgiBgUk9EQkNgLCDRgdGC0LLQvtGA0LXQvdC40Lkg0YTRg9C90LrRhtGW0ZTRjiBgb2RiY0Nvbm5lY3RFeGNlbCgpYCwg0ZYgYG15ZGF0YWZyYW1lYCDigJMg0YbQtSDQvtGC0YDQuNC80LDQvdCwINGC0LDQsdC70LjRhtGPINC00LDQvdC40YUuINCm0LXQuSDQv9Cw0LrQtdGCINGC0LDQutC+0LYg0LzQvtC20L3QsCDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0LTQu9GPINCy0LLQtdC00LXQvdC90Y8g0LTQsNC90LjRhSDQtyBNaWNyb3NvZnQgQWNjZXNzLiDQn9C+0LTRgNC+0LHQuNGG0ZYg0LLQutCw0LfQsNC90ZYg0YMg0YTQsNC50LvRliDQtNC+0LLRltC00LrQuDogYGhlbHAoUk9EQkMpYC4NCg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQrQkiBFeGNlbCDQstC40LrQvtGA0LjRgdGC0L7QstGD0Y7RgtGM0YHRjyDRhNCw0LnQu9C4INGE0L7RgNC80LDRgtGDIFhMU1gsINGP0LrRliDRhNCw0LrRgtC40YfQvdC+INGUINGB0YLQuNGB0LvQuNC8INC90LDQsdC+0YDQvtC8IFhNTC3RhNCw0LnQu9GW0LIuINCU0LvRjyDQstCy0LXQtNC10L3QvdGPINC10LvQtdC60YLRgNC+0L3QvdC40YUg0YLQsNCx0LvQuNGG0Ywg0YMg0YbRjNC+0LzRgyDRhNC+0YDQvNCw0YLRliDQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQv9Cw0LrQtdGCIHhsc3guINCf0LXRgNC10LrQvtC90LDQudGC0LXRgdGPLCDRidC+INC/0LXRgNC10LQg0L/QtdGA0YjQuNC8INCy0LjQutC+0YDQuNGB0YLQsNC90L3Rj9C8INCy0Lgg0LfQsNCy0LDQvdGC0LDQttC40LvQuCDRliDQstGB0YLQsNC90L7QstC40LvQuCDRhtC10Lkg0L/QsNC60LXRgi4g0KTRg9C90LrRhtGW0Y8gYHJlYWQueGxzeCgpYCDQt9C00ZbQudGB0L3RjtGUINCy0LLQtdC00LXQvdC90Y8g0L/QvtGC0YDRltCx0L3QvtCz0L4g0LvQuNGB0YLQsCBYTFNYLdGE0LDQudC70YMg0LIg0YLQsNCx0LvQuNGG0Y4g0LTQsNC90LjRhS4g0J3QsNC50L/RgNC+0YHRgtGW0YjQtSDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YbRjiDRhNGD0L3QutGG0ZbRjiDQt9CwINGC0LDQutC+0Y4g0YHRhdC10LzQvtGOOiBgcmVhZC54bHN4KGZpbGUsIG4pYCwg0LTQtSBgZmlsZWAg4oCTINGG0LUg0YjQu9GP0YUg0LTQviDRhNCw0LnQu9GDINC60L3QuNCz0LggRXhjZWwsINCwIGBuYCDigJMg0YfQuNGB0LvQviDQu9C40YHRgtGW0LIsINGP0LrRliDQv9C+0YLRgNGW0LHQvdC+INCy0LLQtdGB0YLQuC4g0J3QsNC/0YDQuNC60LvQsNC0LCDQv9GW0LQgV2luZG93cyDQv9GA0L7Qs9GA0LDQvNC90LjQuSDQutC+0LQNCg0KYGBge3J9DQpsaWJyYXJ5KHhsc3gpDQp3b3JrYm9vayA8LSAiYzovbXl3b3JrYm9vay54bHN4Ig0KbXlkYXRhZnJhbWUgPC0gcmVhZC54bHN4KHdvcmtib29rLCAxKQ0KYGBgDQoNCtCy0LLQvtC00LjRgtGMINC/0LXRgNGI0LjQuSDQu9C40YHRgiDQutC90LjQs9C4IGBteXdvcmtib29rLnhsc3hgLCDRidC+INC80ZbRgdGC0LjRgtGM0YHRjyDQvdCwINC00LjRgdC60YMgQzosINGWINC30LHQtdGA0ZbQs9Cw0ZQg0LnQvtCz0L4g0YMg0LLQuNCz0LvRj9C00ZYg0YLQsNCx0LvQuNGG0ZYg0LTQsNC90LjRhSBgbXlkYXRhZnJhbWVgLiDQn9Cw0LrQtdGCIGB4bHN4YCDQvNC+0LbQtSDQvdC1INGC0ZbQu9GM0LrQuCDQstCy0L7QtNC40YLQuCDQu9C40YHRgtC4IFhMU1gt0YTQsNC50LvRltCyLCDQsCDRgtCw0LrQvtC2INGB0YLQstC+0YDRjtCy0LDRgtC4INGE0LDQudC70Lgg0YbRjNC+0LPQviDRhNC+0YDQvNCw0YLRgyDQuSDRg9C/0YDQsNCy0LvRj9GC0Lgg0L3QuNC80LguDQoNCiMj0JLQstC10LTQtdC90L3RjyDQtNCw0L3QuNGFINC3IFhNTC3RhNCw0LnQu9GW0LINCg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQrQntGB0YLQsNC90L3RltC8INGH0LDRgdC+0Lwg0YPRgdC1INCx0ZbQu9GM0YjQtSDQtNCw0L3QuNGFINC34oCZ0Y/QstC70Y/RlNGC0YzRgdGPINGDINCy0LjQs9C70Y/QtNGWINGE0LDQudC70ZbQsiDRhNC+0YDQvNCw0YLRgyBYTUwuINCSIFIg0ZQg0LrRltC70YzQutCwINC/0LDQutC10YLRltCyINC00LvRjyDRgNC+0LHQvtGC0Lgg0Lcg0YLQsNC60LjQvNC4INGE0LDQudC70LDQvNC4LiDQndCw0L/RgNC40LrQu9Cw0LQsINC/0LDQutC10YIgWE1MLCDRgdGC0LLQvtGA0LXQvdC40Lkg0JTRg9C90LrQsNC90L7QvCDQotC10LzQv9C7INCb0LDQvdCz0L7QvCAoRHVuY2FuIFRlbXBsZSBMYW5nKSwg0LTQvtC30LLQvtC70Y/RlCDQutC+0YDQuNGB0YLRg9Cy0LDRh9Cw0Lwg0YfQuNGC0LDRgtC4LCDQt9Cw0L/QuNGB0YPQstCw0YLQuCDQuSDQv9C10YDQtdGC0LLQvtGA0Y7QstCw0YLQuCBYTUwt0YTQsNC50LvQuC4NCg0KIyPQntC00LXRgNC20LXQvdC90Y8g0LTQsNC90LjRhSDRltC3INCy0LXQsS3RgdGC0L7RgNGW0L3QvtC6DQoNCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0K0KMg0L/RgNC+0YbQtdGB0ZYg0YDQvtCx0L7RgtC4INCyINC80LXRgNC10LbRliAoKndlYnNjcmFwcGluZyopINC60L7RgNC40YHRgtGD0LLQsNGH0ZYg0L7RgtGA0LjQvNGD0Y7RgtGMINC00LDQvdGWINC3INCy0LXQsS3RgdGC0L7RgNGW0L3QvtC6LCDQtNC+0YHRgtGD0L/QvdC40YUg0LIg0ZbQvdGC0LXRgNC90LXRgtGWLCDRliDQt9Cx0LXRgNGW0LPQsNGO0YLRjCDRl9GFINGDINCy0LjQs9C70Y/QtNGWINC+0LHigJnRlNC60YLRltCyIFIg0LTQu9GPINC/0L7QtNCw0LvRjNGI0L7Qs9C+INCw0L3QsNC70ZbQt9GDLiDQntC00LjQvSDQt9GWINGB0L/QvtGB0L7QsdGW0LIg4oCTINC30LDQutCw0YfQsNGC0Lgg0LLQtdCxLdGB0YLQvtGA0ZbQvdC60YMg0Lcg0LTQvtC/0L7QvNC+0LPQvtGOINGE0YPQvdC60YbRltGXIGByZWFkTGluZXMoKWAg0ZYg0LTQsNC70ZYg0L/RgNCw0YbRjtCy0LDRgtC4INC3INC90LXRjiDQtyDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y/QvCDRhNGD0L3QutGG0ZbQuSBgZ3JlcCgpYCDRliBgZ3N1YigpYC4g0JTQu9GPINC+0LTQtdGA0LbQsNC90L3RjyDQv9C+0YLRgNGW0LHQvdC+0Zcg0ZbQvdGE0L7RgNC80LDRhtGW0Zcg0Lcg0LHQsNCz0LDRgtC+0YDRltCy0L3QtdCy0LjRhSDQstC10LEt0YHRgtC+0YDRltC90L7QuiDQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQv9Cw0LrQtdGC0LggYFJDdXJsYCDRliBgWE1MYC4g0JHRltC70YzRiCDQv9C+0LLQvdGDINGW0L3RhNC+0YDQvNCw0YbRltGOLCDQstC60LvRjtGH0L3QviDQtyDQv9GA0LjQutC70LDQtNCw0LzQuCwg0LHRg9C00LUg0L3QsNC00LDQvdC+INCyINC90LDRgdGC0YPQv9C90L7QvNGDINC80L7QtNGD0LvRli4NCg0KIyPQktCy0LXQtNC10L3QvdGPINC00LDQvdC40YUg0LcgU1BTUw0KDQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCtCd0LDQsdC+0YDQuCDQtNCw0L3QuNGFINGDINGE0L7RgNC80LDRgtGWIFNQU1Mg0LzQvtC20L3QsCDQstCy0L7QtNC40YLQuCDQsiBSINC3INC00L7Qv9C+0LzQvtCz0L7RjiDRhNGD0L3QutGG0ZbRlyBgcmVhZC5zcHNzKClgINC3INC/0LDQutC10YLRgyBgZm9yZWlnbmAuINCG0L3RiNC40Lkg0LLQsNGA0ZbQsNC90YIg4oCTINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDRhNGD0L3QutGG0ZbRjiBgc3Bzcy5nZXQoKWAg0Lcg0L/QsNC60LXRgtGDIGBIbWlzY2AuINCm0LUg0YTRg9C90LrRhtGW0Y8g0Lcg0ZbQvdGC0LXRgNGE0LXQudGB0L7QvCwg0Y/QutCwINCw0LLRgtC+0LzQsNGC0LjRh9C90L4g0LLQuNC30L3QsNGH0LDRlCDQsdCw0LPQsNGC0L4g0L/QsNGA0LDQvNC10YLRgNGW0LIg0YTRg9C90LrRhtGW0ZcgYHJlYWQuc3BzcygpYCwg0YnQviDRgNC+0LHQuNGC0Ywg0L/QtdGA0LXRgtCy0L7RgNC10L3QvdGPINGE0LDQudC70ZbQsiDQv9GA0L7RgdGC0ZbRiNC40Lwg0ZYg0LHRltC70YzRiCDQtdGE0LXQutGC0LjQstC90LjQvC4NCtCf0L4t0L/QtdGA0YjQtSwg0LfQsNCy0LDQvdGC0LDQttGC0LUg0ZYg0LLRgdGC0LDQvdC+0LLRltGC0Ywg0L/QsNC60LXRgiBgSG1pc2NgICjQv9Cw0LrQtdGCIGBmb3JlaWduYCDQstGF0L7QtNC40YLRjCDRgyDQsdCw0LfQvtCy0YMg0LrQvtC80L/Qu9C10LrRgtCw0YbRltGOKToNCg0KYGBge3J9DQppbnN0YWxsLnBhY2thZ2VzKCJIbWlzYyIpDQpgYGANCg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQrQn9C+0YLRltC8INCy0LjQutC+0YDQuNGB0YLQvtCy0YPQudGC0LUg0L/RgNC+0LPRgNCw0LzQvdC40Lkg0LrQvtC0INC00LvRjyDQstCy0LXQtNC10L3QvdGP0YMg0LTQsNC90LjRhToNCg0KYGBge3J9DQpsaWJyYXJ5KEhtaXNjKQ0KbXlkYXRhZnJhbWUgPC0gc3Bzcy5nZXQoIm15ZGF0YS5zYXYiLCB1c2UudmFsdWUubGFiZWxzPVRSVUUpDQpgYGANCg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQrQoyDQtNCw0L3QvtC80YMg0LLQuNC/0LDQtNC60YMgYG15ZGF0YS5zYXZgIOKAkyDRhtC1INGE0LDQudC7INC00LDQvdC40YUgU1BTUywg0Y/QutC40Lkg0L/QvtGC0YDRltCx0L3QviDQstCy0LXRgdGC0LgsINC/0LDRgNCw0LzQtdGC0YAgYHVzZS52YWx1ZS5sYWJlbHNgPVRSVUUg0L7Qt9C90LDRh9Cw0ZQsINGJ0L4g0LfQvNGW0L3QvdGWINC3INC/0ZbQtNC/0LjRgdCw0L3QuNC80Lgg0LfQvdCw0YfQtdC90L3Rj9C80Lgg0LHRg9C00YPRgtGMINC/0LXRgNC10YLQstC+0YDQtdC90ZYg0LIg0YfQuNC90L3QuNC60Lgg0Lcg0LLRltC00L/QvtCy0ZbQtNC90LjQvNC4INGA0ZbQstC90Y/QvNC4LCDQsCBgbXlkYXRhZnJhbWVgIOKAkyDRhtC1INCy0LjRhdGW0LTQvdCwINGC0LDQsdC70LjRhtGPINC00LDQvdC40YUuDQoNCiMj0JLQstC10LTQtdC90L3RjyDQtNCw0L3QuNGFINC3IFNBUw0KDQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCtCSIFIg0ZQg0L3QuNC30LrQsCDRhNGD0L3QutGG0ZbQuSDQtNC70Y8g0LLQstC10LTQtdC90L3RjyBTQVMt0YTQsNC50LvRltCyLCDQstC60LvRjtGH0L3QviDQtyByZWFkLnNzZCAoKSDRgyDQv9Cw0LrQtdGC0ZYgZm9yZWlnbiDRliBzYXMuZ2V0ICgpINGDINC/0LDQutC10YLRliBIbWlzYy4g0K/QutGJ0L4g0LLQuCDQstC40LrQvtGA0LjRgdGC0L7QstGD0ZTRgtC1INC+0YHRgtCw0L3QvdGOINCy0LXRgNGB0ZbRjiBTQVMgKFNBUyA5LjEg0ZYg0LLQuNGJ0LUpLCDQvdCw0LnRltC80L7QstGW0YDQvdGW0YjQtSwg0YbRliDRhNGD0L3QutGG0ZbRlyDQvdC1INCx0YPQtNGD0YLRjCDQv9GA0LDRhtGO0LLQsNGC0LgsINC+0YHQutGW0LvRjNC60Lgg0YHRgtGA0YPQutGC0YPRgNCwINGE0LDQudC70ZbQsiBTQVMg0LHRg9C70LAg0LfQvNGW0L3QtdC90LAuINCS0ZbQtNC+0LzQviDQtNCy0LAg0YHQv9C+0YHQvtCx0Lgg0LLQuNGA0ZbRiNC10L3QvdGPINGG0ZbRlNGXINC/0YDQvtCx0LvQtdC80LguDQoNCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0K0J/Qvi3Qv9C10YDRiNC1LCDQvNC+0LbQvdCwINC30LHQtdGA0LXQs9GC0Lgg0L3QsNCx0ZbRgCDQtNCw0L3QuNGFIFNBUyDRgyDQstC40LPQu9GP0LTRliDRgtC10LrRgdGC0L7QstC+0LPQviDRhNCw0LnQu9GDINC3INGA0L7Qt9C00ZbQu9GM0L3QuNC60LDQvNC4LdC60L7QvNCw0LzQuCDQtyDQtNC+0L/QvtC80L7Qs9C+0Y4g0LrQvtC80LDQvdC00LggYFBST0MgRVhQT1JUYCwg0ZYg0L/RgNC+0YfQuNGC0LDRgtC4INC+0LTQtdGA0LbQsNC90LjQuSDRgtC10LrRgdGC0L7QstC40Lkg0YTQsNC50LssINGP0Log0YbQtSDQvtC/0LjRgdCw0L3QviDQstC40YnQtSDQsiDQu9C10LrRhtGW0ZcuINCe0YHRjCDQv9GA0LjQutC70LDQtDoNCg0KKirQn9GA0L7Qs9GA0LDQvNCwIFNBUyoqOg0KYGBge3J9DQpwcm9jIGV4cG9ydCBkYXRhID0gbXlkYXRhDQpvdXRmaWxlID0gIm15ZGF0YS5jc3YiDQpkYm1zID0gY3N2Ow0KcnVuOw0KYGBgDQoNCioq0J/RgNC+0LPRgNCw0LzQsCBSKio6DQpgYGB7cn0NCm15ZGF0YSA8LSByZWFkLnRhYmxlKCJteWRhdGEuY3N2IiwgaGVhZGVyPVRSVUUsIHNlcD0iLCIpDQpgYGANCg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQrQoyDRj9C60L7RgdGC0ZYg0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC4INC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC60L7QvNC10YDRhtGW0LnQvdC40Lkg0L/RgNC+0LTRg9C60YIg0L/RltC0INC90LDQt9Cy0L7RjiBTdGF0IFRyYW5zZmVyLiDQptGPINC/0YDQvtCz0YDQsNC80LAg0YfRg9C00L7QstC+INC/0L7RgNGP0ZTRgtGM0YHRjyDQt9GWINC30LHQtdGA0LXQttC10L3QvdGP0Lwg0LTQsNC90LjRhSBTQVMgKNC3INGD0YDQsNGF0YPQstCw0L3QvdGP0Lwg0YTQvtGA0LzQsNGC0YMg0LfQvNGW0L3QvdC40YUpINGDINCy0LjQs9C70Y/QtNGWINGC0LDQsdC70LjRhtGMINC00LDQvdC40YUgUi4NCg0KIyPQktCy0LXQtNC10L3QvdGPINC00LDQvdC40YUg0ZbQtyDRgdC40YHRgtC10Lwg0YPQv9GA0LDQstC70ZbQvdC90Y8g0LHQsNC30LDQvNC4INC00LDQvdC40YUNCg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQrQnNC+0LLQsCDQv9GA0L7Qs9GA0LDQvNGD0LLQsNC90L3RjyBSINC80L7QttC1INCy0LfQsNGU0LzQvtC00ZbRj9GC0Lgg0Lcg0YDRltC30L3QuNC80Lgg0YHQuNGB0YLQtdC80LDQvNC4INGD0L/RgNCw0LLQu9GW0L3QvdGPINCx0LDQt9Cw0LzQuCDQtNCw0L3QuNGFICjQtyDQsNC90LPQuy4gKkRhdGFiYXNlIE1hbmFnZW1lbnQgU3lzdGVtcyosIERCTVMpLCDQstC60LvRjtGH0L3QviDQtyBNaWNyb3NvZnQgU1FMIFNlcnZlciwgTWljcm9zb2Z0IEFjY2VzcywgTXlTUUwsIE9yYWNsZSwgUG9zdGdyZVNRTCwgREIyLCBTeWJhc2UsIFRlcmFkYXRhINGWIFNRTGl0ZS4g0JTQtdGP0LrRliDQv9Cw0LrQtdGC0Lgg0L3QsNC00LDRjtGC0Ywg0LTQvtGB0YLRg9C/INGH0LXRgNC10Lcg0L7RgNC40LPRltC90LDQu9GM0L3RliDQtNGA0LDQudCy0LXRgNC4INCx0LDQtyDQtNCw0L3QuNGFLCDQstC+0LTQvdC+0YfQsNGBINGW0L3RiNGWINC30LDQsdC10LfQv9C10YfRg9GO0YLRjCDQtNC+0YHRgtGD0L8g0LTQviDQtNCw0L3QuNGFINGH0LXRgNC10Lcg0LLRltC00LrRgNC40YLQuNC5INGW0L3RgtC10YDRhNC10LnRgSDQstC30LDRlNC80L7QtNGW0Zcg0Lcg0LHQsNC30LDQvNC4INC00LDQvdC40YUgKNC3INCw0L3Qsy4gKk9wZW4gRGF0YWJhc2UgQ29ubmVjdGl2aXR5IGludGVyZmFjZSosIE9EQkMpINCw0LHQviBKYXZhLdGW0L3RgtC10YDRhNC10LnRgSDQstC30LDRlNC80L7QtNGW0Zcg0Lcg0LHQsNC30LDQvNC4INC00LDQvdC40YUgKNC3INCw0L3Qs9C7LiAqSmF2YSBEYXRhYmFzZSBDb25uZWN0aXZpdHkqLCBKREJDKS4g0JLQuNC60L7RgNC40YHRgtCw0L3QvdGPIFIg0LTQu9GPINC00L7RgdGC0YPQv9GDINC00L4g0LTQsNC90LjRhSwg0YnQviDQvNGW0YHRgtGP0YLRjNGB0Y8g0LIg0LfQvtCy0L3RltGI0L3RltGFIERCTVMsINC80L7QttC1INCx0YPRgtC4INC10YTQtdC60YLQuNCy0L3QuNC8INGB0L/QvtGB0L7QsdC+0Lwg0YDQvtCx0L7RgtC4INC3INCy0LXQu9C40LrQuNC80Lgg0L3QsNCx0L7RgNCw0LzQuCDQtNCw0L3QuNGFLiDQptC1INC30LHRltC70YzRiNGD0ZQg0LXRhNC10LrRgtC40LLQvdGW0YHRgtGMINCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyDQvNC+0LLQuCDRgdGC0YDRg9C60YLRg9GA0L7QstCw0L3QuNGFINC30LDQv9C40YLRltCyICjQtyDQsNC90LPQuy4gKlN0cnVjdHVyZWQgUXVlcnkgTGFuZ3VhZ2UqLCBTUUwpINGWIFIuDQoNCiMjI9CG0L3RgtC10YDRhNC10LnRgSBPREJDDQoNCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0K0J3QsNC50L/QvtGI0LjRgNC10L3RltGI0LjQuSDRgdC/0L7RgdGW0LEg0LTQvtGB0YLRg9C/0YMg0LTQviBEQk1TINCyIFIg4oCTINGG0LUg0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPINC/0LDQutC10YLRgyBgUk9EQkNgLCDRj9C60LjQuSDQtNC+0LfQstC+0LvRj9GUIFIg0L/RltC00LrQu9GO0YfQuNGC0LjRgdGPINC00L4g0LHRg9C00Ywt0Y/QutC+0ZcgREJNUywg0YMg0Y/QutGW0Lkg0ZQg0LTRgNCw0LnQstC10YAgT0JNUy4g0JTQviDRgtCw0LrQuNGFINGB0LjRgdGC0LXQvCDQvdCw0LvQtdC20LDRgtGMINGD0YHRliDQv9C10YDQtdGA0LDRhdC+0LLQsNC90ZYg0LLQuNGJ0LUgREJNUy4g0J/QtdGA0YjQuNC5INC60YDQvtC6IOKAkyDRhtC1INCy0YHRgtCw0L3QvtCy0LvQtdC90L3RjyDQuSDQutC+0L3RhNGW0LPRg9GA0LDRhtGW0Y8g0LLRltC00L/QvtCy0ZbQtNC90L7Qs9C+IE9EQkMg0LTRgNCw0LnQstC10YDQsCDQtNC70Y8g0LrQvtC90LrRgNC10YLQvdC+0Zcg0L7Qv9C10YDQsNGG0ZbQudC90L7RlyDRgdC40YHRgtC10LzQuCDQuSDQsdCw0LfQuCDQtNCw0L3QuNGFLCDQvtGB0LrRltC70YzQutC4INCy0L7QvdC4INC90LUg0ZQg0YfQsNGB0YLQuNC90L7RjiBSLiDQr9C60YnQviDQv9C+0YLRgNGW0LHQvdGWINC00YDQsNC50LLQtdGA0Lgg0YnQtSDQvdC1INCy0YHRgtCw0L3QvtCy0LvQtdC90ZYg0L3QsCDQstCw0YjQvtC80YMg0LrQvtC80L/igJnRjtGC0LXRgNGWLCDRl9GFINC80L7QttC90LAg0LfQvdCw0LnRgtC4INCyINGW0L3RgtC10YDQvdC10YLRli4g0J/RltGB0LvRjyDRg9GB0YLQsNC90L7QstC60Lgg0Lkg0LrQvtC90YTRltCz0YPRgNCw0YbRltGXINC00YDQsNC50LLQtdGA0ZbQsiDQstGB0YLQsNC90L7QstGW0YLRjCDQv9Cw0LrQtdGCIGBST0RCQ2AuINCm0LUg0LzQvtC20L3QsCDQt9GA0L7QsdC40YLQuCDQtyDQtNC+0L/QvtC80L7Qs9C+0Y4g0LrQvtC80LDQvdC00LggYGluc3RhbGwucGFja2FnZXMoIlJPREJDIilgLiDQntGB0L3QvtCy0L3RliDRhNGD0L3QutGG0ZbRlyDRhtGM0L7Qs9C+INC/0LDQutC10YLQsCDQv9C10YDQtdGA0LDRhdC+0LLQsNC90ZYg0LIgKirRgtCw0LHQuy4gMi4yKiouDQoNCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0K0J/QsNC60LXRgiBgUk9EQkNgINC30LDQsdC10LfQv9C10YfRg9GUINC00LLQvtGB0YLQvtGA0L7QvdC90ZQg0LfigJnRlNC00L3QsNC90L3RjyDQvNGW0LYgUiDRliDQt+KAmdGU0LTQvdCw0L3QvtGOINGH0LXRgNC10LcgT0RCQyDQsdCw0LfQvtGOINC00LDQvdC40YUgU1FMLiDQptC1INC+0LfQvdCw0YfQsNGULCDRidC+INCy0Lgg0LzQvtC20LXRgtC1INC90LUg0YLRltC70YzQutC4INC30LDQstCw0L3RgtCw0LbRg9Cy0LDRgtC4INC00LDQvdGWINCyIFIg0Lcg0L/RgNC40ZTQtNC90LDQvdC+0Zcg0LHQsNC30Lgg0LTQsNC90LjRhSwg0LDQu9C1INGWINC30LzRltC90Y7QstCw0YLQuCDQstC80ZbRgdGCINCx0LDQt9C4INC00LDQvdC40YUg0LzQvtCy0L7RjiBSLiDQn9GA0LjQv9GD0YHRgtC40LzQviwg0LLQsNC8INC/0L7RgtGA0ZbQsdC90L4g0LfQsdC10YDQtdCz0YLQuCDQtNCy0ZYg0YLQsNCx0LvQuNGG0ZYgKENyaW1lIOKAkyDQt9C70L7Rh9C40L0g0ZYgUHVuaXNobWVudCDigJMg0L/QvtC60LDRgNCw0L3QvdGPKSDQtyBEQk1TINGDINCy0LjQs9C70Y/QtNGWINC00LLQvtGFINGC0LDQsdC70LjRhtGMINC00LDQvdC40YUg0ZbQtyDQvdCw0LfQstCw0LzQuCBgY3JpbWVkYXRgINGWIGBwdW5kYXRgINCy0ZbQtNC/0L7QstGW0LTQvdC+LiDQptC1INC80L7QttC90LAg0LfRgNC+0LHQuNGC0Lgg0YLQsNC60LjQvCDQv9GA0L7Qs9GA0LDQvNC90LjQvCDQutC+0LTQvtC8Og0KDQpgYGB7cn0NCmxpYnJhcnkoUk9EQkMpDQpteWNvbm4gPC0gb2RiY0Nvbm5lY3QoIm15ZHNuIiwgdWlkPSJSb2IiLCBwd2Q9ImFhcmR2YXJrIikNCmNyaW1lZGF0IDwtIHNxbEZldGNoKG15Y29ubiwgQ3JpbWUpDQpwdW5kYXQgPC0gc3FsUXVlcnkobXljb25uLCAic2VsZWN0ICogZnJvbSBQdW5pc2htZW50IikNCmNsb3NlKG15Y29ubikNCmBgYA0KDQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCtCi0YPRgiDQstC4INC30LDQstCw0L3RgtCw0LbRg9GU0YLQtSDQv9Cw0LrQtdGCIGBST0RCQ2Ag0ZYg0LLRltC00LrRgNC40LLQsNGU0YLQtSDQt+KAmdGU0LTQvdCw0L3QvdGPINC3INCx0LDQt9C+0Y4g0LTQsNC90LjRhSBPREJDINGH0LXRgNC10Lcg0LfQsNGA0LXRlNGB0YLRgNC+0LLQsNC90YMg0L3QsNC30LLRgyDQtNC20LXRgNC10LvQsCAoYG15ZHNuYCkg0Lcg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQvtC8INC60L7RgNC40YHRgtGD0LLQsNGH0LAgKHVzZXIgaWRlbnRpZmllciDigJMgVUlEOiBgcm9iYCkg0ZYg0L/QsNGA0L7Qu9C10LwgKGBhYXJkdmFya2ApLiDQoNC10LfRg9C70YzRgtCw0YIg0LfigJnRlNC00L3QsNC90L3RjyDQvtCx0YDQvtCx0LvRj9GU0YLRjNGB0Y8g0YTRg9C90LrRhtGW0ZTRjiBgc3FsRmV0Y2hgLCDRj9C60LAg0LfQsdC10YDRltCz0LDRlCDRgtCw0LHQu9C40YbRjiBDcmltZSDRgyDQstC40LPQu9GP0LTRliDRgtCw0LHQu9C40YbRliDQtNCw0L3QuNGFIFIgYGNyaW1lZGF0YC4g0J/QvtGC0ZbQvCDQstC4INC30LDQv9GD0YHQutCw0ZTRgtC1INC+0L/QtdGA0LDRgtC+0YAgU1FMIGBzZWxlY3RgINC00LvRjyDRgtCw0LHQu9C40YbRliBQdW5pc2htZW50INGWINC30LHQtdGA0ZbQs9Cw0ZTRgtC1INGA0LXQt9GD0LvRjNGC0LDRgiDRgyDRgtCw0LHQu9C40YbRliDQtNCw0L3QuNGFIGBwdW5kYXRgLiDQndCw0YDQtdGI0YLRliwg0LLQuCDQt9Cw0LrRgNC40LLQsNGU0YLQtSDQt+KAmdGU0LTQvdCw0L3QvdGPLg0KDQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCtCk0YPQvdC60YbRltGPIGBzcWxRdWVyeSgpYCDQstGW0LTQutGA0LjQstCw0ZQg0LHQsNCz0LDRgtC+INC80L7QttC70LjQstC+0YHRgtC10LksINC+0YHQutGW0LvRjNC60Lgg0LIg0L3QtdGXINC80L7QttC90LAg0LLRgdGC0LDQstC40YLQuCDQsdGD0LTRjC3Rj9C60LjQuSDQtNGW0Y7Rh9C40Lkg0L7Qv9C10YDQsNGC0L7RgCBTUUwuINCm0Y8g0LPQvdGD0YfQutCwINGB0LjRgdGC0LXQvNCwINC00L7Qt9Cy0L7Qu9GP0ZQg0LLQuNCx0LjRgNCw0YLQuCDQvtC60YDQtdC80ZYg0LfQvNGW0L3QvdGWLCDRgdGC0LLQvtGA0Y7QstCw0YLQuCDQv9GW0LTQvNC90L7QttC40L3QuCDQtNCw0L3QuNGFLCDRgdGC0LLQvtGA0Y7QstCw0YLQuCDQvdC+0LLRliDQt9C80ZbQvdC90ZYsINCwINGC0LDQutC+0LYg0L/QtdGA0LXQutC+0LTRg9Cy0LDRgtC4INC5INC/0LXRgNC10LnQvNC10L3QvtCy0YPQstCw0YLQuCDQvdCw0Y/QstC90ZYg0LfQvNGW0L3QvdGWLg0KDQojIyPQn9Cw0LrQtdGC0LgsINC/0L7QsuKAmdGP0LfQsNC90ZYg0LcgREJJDQoNCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0K0J/QsNC60LXRgiBEQkkg0L3QsNC00LDRlCDRiNC40YDQvtC60L4g0LfQsNGB0YLQvtGB0L7QstGD0LLQsNC90LjQuSDRliDQv9C+0YHQu9GW0LTQvtCy0L3QuNC5INGW0L3RgtC10YDRhNC10LnRgSDQtNC70Y8gREJNUy4g0KHRgtCy0L7RgNC10L3QuNC5INC90LAg0LnQvtCz0L4g0L7RgdC90L7QstGWINC/0LDQutC10YIgUkpEQkMg0L3QsNC00LDRlCDQtNC+0YHRgtGD0L8g0LTQviBEQk1TINGH0LXRgNC10Lcg0LTRgNCw0LnQstC10YAgSkRCQy4g0J/QtdGA0LXQutC+0L3QsNC50YLQtdGB0Y8sINGJ0L4g0L/QtdGA0LXQtCDQudC+0LPQviDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y/QvCDQvdCwINCy0LDRiNC+0LzRgyDQutC+0LzQv+KAmdGO0YLQtdGA0ZYg0LLRgdGC0LDQvdC+0LLQu9C10L3QviDQtNGA0LDQudCy0LXRgNC4IEpEQkMg0LTQu9GPINCy0ZbQtNC/0L7QstGW0LTQvdC+0Zcg0L7Qv9C10YDQsNGG0ZbQudC90L7RlyDRgdC40YHRgtC10LzQuCDQuSDQsdCw0LfQuCDQtNCw0L3QuNGFLiDQhtC90YjRliDQutC+0YDQuNGB0L3RliDQv9Cw0LrQtdGC0LgsINGB0YLQstC+0YDQtdC90ZYg0L3QsCDQsdCw0LfRliBEQkksIOKAkyDRhtC1IFJNeVNRTCwgUk9yYWNsZSwgUlBvc3RncmVTUUwg0ZYgUlNRTGl0ZS4g0KbRliDQv9Cw0LrQtdGC0Lgg0L3QsNC00LDRjtGC0Ywg0LTRgNCw0LnQstC10YDQuCwg0L/RgNC40LfQvdCw0YfQtdC90ZYg0LTQu9GPINC60L7QvdC60YDQtdGC0L3QuNGFINCx0LDQtyDQtNCw0L3QuNGFLCDQvtC00L3QsNC6INCy0L7QvdC4INC80L7QttGD0YLRjCDQv9GA0LDRhtGO0LLQsNGC0Lgg0L3QtSDQvdCwINCy0YHRltGFINC+0L/QtdGA0LDRhtGW0LnQvdC40YUg0YHQuNGB0YLQtdC80LDRhS4NCg0KDQoNCg0KIA0KDQo=