diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/common.h | 198 | ||||
-rw-r--r-- | include/config.h | 197 | ||||
-rw-r--r-- | include/gomo.h | 2156 | ||||
-rw-r--r-- | include/modes.h | 152 | ||||
-rw-r--r-- | include/perm.h | 56 | ||||
-rw-r--r-- | include/proto.h | 522 | ||||
-rw-r--r-- | include/pttbbs.conf | 17 | ||||
-rw-r--r-- | include/pttstruct.h | 390 | ||||
-rw-r--r-- | include/pttstruct.h.save | 363 |
9 files changed, 4051 insertions, 0 deletions
diff --git a/include/common.h b/include/common.h new file mode 100644 index 00000000..333bed8c --- /dev/null +++ b/include/common.h @@ -0,0 +1,198 @@ +/* $Id: common.h,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +#ifndef INCLUDE_COMMON_H +#define INCLUDE_COMMON_H + +#define STR_GUEST "guest" +#define DEFAULT_BOARD str_sysop + +#define FN_PASSWD BBSHOME "/.PASSWDS" /* User records */ +#define FN_USSONG "ussong" /* 點歌統計 */ +#define FN_POST_NOTE "post.note" /* po文章備忘錄 */ +#define FN_APPLICATION "application" +#define FN_MONEY "etc/money" +#define FN_OVERRIDES "overrides" +#define FN_REJECT "reject" +#define FN_WATER "water" +#define FN_CANVOTE "can_vote" +#define FN_VISABLE "visable" +#define FN_USIES "usies" /* BBS log */ +#define FN_BOARD ".BRD" /* board list */ +#define FN_USEBOARD "usboard" /* 看版統計 */ +#define FN_NOTE_ANS "note.ans" +#define FN_TOPSONG "etc/topsong" +#define FN_OVERRIDES "overrides" +#define FN_TICKET "ticket" +#define FN_TICKET_END "ticket.end" +#define FN_TICKET_ITEMS "ticket.items" +#define FN_TICKET_RECORD "ticket.data" +#define FN_TICKET_USER "ticket.user" +#define FN_TICKET_OUTCOME "ticket.outcome" +#define FN_TICKET_BRDLIST "boardlist" + +#define MSG_DEL_CANCEL "取消刪除" +#define MSG_SELECT_BOARD "\033[7m【 選擇看板 】\033[m\n" \ + "請輸入看板名稱(按空白鍵自動搜尋):" +#define MSG_CLOAKED "哈哈!我隱形了!看不到勒... :P" +#define MSG_UNCLOAK "我要重現江湖了...." +#define MSG_BIG_BOY "我是大帥哥! ^o^Y" +#define MSG_BIG_GIRL "世紀大美女 *^-^*" +#define MSG_LITTLE_BOY "我是底迪啦... =)" +#define MSG_LITTLE_GIRL "最可愛的美眉! :>" +#define MSG_MAN "麥當勞叔叔 (^O^)" +#define MSG_WOMAN "叫我小阿姨!! /:>" +#define MSG_PLANT "植物也有性別喔.." +#define MSG_MIME "礦物總沒性別了吧" +#define MSG_PASSWD "請輸入您的密碼: " +#define MSG_POSTER "\033[34;46m 文章選讀 "\ + "\033[31;47m (y)\033[30m回信 "\ + "\033[31m(=[]<>)\033[30m相關主題 "\ + "\033[31m(/?)\033[30m搜尋標題 "\ + "\033[31m(aA)\033[30m搜尋作者 "\ + "\033[31m(x)\033[30m轉錄 "\ + "\033[31m(V)\033[30m投票 \033[m" +#define MSG_SEPERATOR "\ +───────────────────────────────────────" + +#define MSG_CLOAKED "哈哈!我隱形了!看不到勒... :P" +#define MSG_UNCLOAK "我要重現江湖了...." + +#define MSG_WORKING "處理中,請稍候..." + +#define MSG_CANCEL "取消。" +#define MSG_USR_LEFT "User 已經離開了" +#define MSG_NOBODY "目前無人上線" + +#define MSG_DEL_OK "刪除完畢" +#define MSG_DEL_CANCEL "取消刪除" +#define MSG_DEL_ERROR "刪除錯誤" +#define MSG_DEL_NY "請確定刪除(Y/N)?[N] " + +#define MSG_FWD_OK "文章轉寄完成!" +#define MSG_FWD_ERR1 "轉寄失誤: system error" +#define MSG_FWD_ERR2 "轉寄失誤: address error" + +#define MSG_SURE_NY "請您確定(Y/N)?[N] " +#define MSG_SURE_YN "請您確定(Y/N)?[Y] " + +#define MSG_BID "請輸入看板名稱:" +#define MSG_UID "請輸入使用者代號:" +#define MSG_PASSWD "請輸入您的密碼: " + +#define MSG_BIG_BOY "我是大帥哥! ^o^Y" +#define MSG_BIG_GIRL "世紀大美女 *^-^*" +#define MSG_LITTLE_BOY "我是底迪啦... =)" +#define MSG_LITTLE_GIRL "最可愛的美眉! :>" +#define MSG_MAN "麥當勞叔叔 (^O^)" +#define MSG_WOMAN "叫我小阿姨!! /:>" +#define MSG_PLANT "植物也有性別喔.." +#define MSG_MIME "礦物總沒性別了吧" + +#define ERR_BOARD_OPEN ".BOARD 開啟錯誤" +#define ERR_BOARD_UPDATE ".BOARD 更新有誤" +#define ERR_PASSWD_OPEN ".PASSWDS 開啟錯誤" + +#define ERR_BID "你搞錯了啦!沒有這個板喔!" +#define ERR_UID "這裡沒有這個人啦!" +#define ERR_PASSWD "密碼不對喔!你有沒有冒用人家的名字啊?" +#define ERR_FILENAME "檔名不合法!" +#define MSG_MAILER \ +"\033[34;46m 鴻雁往返 \033[31;47m(R)\033[30m回信\033[31m(x)\033[30m轉達\ +\033[31m(y)\033[30m群組回信\033[31m(D)\033[30m刪除\ +\033[31m(c)\033[30m收入信件夾\033[31m(z)\033[30m信件夾 \033[31m[G]\033[30m繼續?\033[0m" +#define MSG_SHORTULIST "\033[7m\ +使用者代號 目前狀態 │使用者代號 目前狀態 │使用者代號 目前狀態 \033[0m" + + +#define STR_AUTHOR1 "作者:" +#define STR_AUTHOR2 "發信人:" +#define STR_POST1 "看板:" +#define STR_POST2 "站內:" + +/* Flags to getdata input function */ +#define NOECHO 0 +#define DOECHO 1 +#define LCECHO 2 + +#define YEA 1 /* Booleans (Yep, for true and false) */ +#define NA 0 + + +#define IRH 1 /* 好友關係 */ +#define HRM 2 +#define IBH 4 +#define IFH 8 +#define HFM 16 +#define ST_FRIEND (IBH | IFH | HFM) +#define ST_REJECT (IRH | HRM) + +/* 鍵盤設定 */ +#define KEY_TAB 9 +#define KEY_ESC 27 +#define KEY_UP 0x0101 +#define KEY_DOWN 0x0102 +#define KEY_RIGHT 0x0103 +#define KEY_LEFT 0x0104 +#define KEY_HOME 0x0201 +#define KEY_INS 0x0202 +#define KEY_DEL 0x0203 +#define KEY_END 0x0204 +#define KEY_PGUP 0x0205 +#define KEY_PGDN 0x0206 + +#define QCAST int (*)(const void *, const void *) +#define Ctrl(c) (c & 037) +#define chartoupper(c) ((c >= 'a' && c <= 'z') ? c+'A'-'a' : c) + +#define LEN_AUTHOR1 5 +#define LEN_AUTHOR2 7 + +/* ----------------------------------------------------- */ +/* 群組名單模式 Ptt */ +/* ----------------------------------------------------- */ +#define FRIEND_OVERRIDE 0 +#define FRIEND_REJECT 1 +#define FRIEND_ALOHA 2 +#define FRIEND_POST 3 +#define FRIEND_SPECIAL 4 +#define FRIEND_CANVOTE 5 +#define BOARD_WATER 6 +#define BOARD_VISABLE 7 + +#define LOCK_THIS 1 // lock這線不能重複玩 +#define LOCK_MULTI 2 // lock所有線不能重複玩 + +#define I_TIMEOUT (-2) /* Used for the getchar routine select call */ +#define I_OTHERDATA (-333) /* interface, (-3) will conflict with chinese */ + +#define CHE_O(c) ((c) >> 3) +#define CHE_P(c) ((c) & 7) +#define RTL(x) (((x) - 3) >> 1) +#define dim(x) (sizeof(x) / sizeof(x[0])) +#define LTR(x) ((x) * 2 + 3) +#define CHE(a, b) ((a) | ((b) << 3)) + +#define BRD_NOZAP 00001 /* 不可zap */ +#define BRD_NOCOUNT 00002 /* 不列入統計 */ +#define BRD_NOTRAN 00004 /* 不轉信 */ +#define BRD_GROUPBOARD 00010 /* 群組板 */ +#define BRD_HIDE 00020 /* 隱藏板 (看板好友才可看) */ +#define BRD_POSTMASK 00040 /* 限制發表或閱讀 */ +#define BRD_ANONYMOUS 00100 /* 匿名板 */ +#define BRD_DEFAULTANONYMOUS 00200 /* 預設匿名板 */ +#define BRD_BAD 00400 /* 違法改進中看板 */ +#define BRD_VOTEBOARD 01000 /* 連署機看板 */ + +#define MAX_MODES 80 + +#ifndef MIN +#define MIN(a,b) ((a<b)?a:b) +#endif +#ifndef MAX +#define MAX(a,b) ((a>b)?a:b) +#endif + +#define char_lower(c) ((c >= 'A' && c <= 'Z') ? c|32 : c) + +#define STR_CURSOR "●" +#define STR_UNCUR " " +#endif diff --git a/include/config.h b/include/config.h new file mode 100644 index 00000000..3eb6e64a --- /dev/null +++ b/include/config.h @@ -0,0 +1,197 @@ +/* $Id: config.h,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +#ifndef INCLUDE_CONFIG_H +#define INCLUDE_CONFIG_H + +#include <syslog.h> +#include "../pttbbs.conf" + +#define BBSPROG BBSHOME "/bin/mbbsd" /* 主程式 */ +#define BAN_FILE "BAN" /* 關站通告檔 */ +#define LOAD_FILE "/proc/loadavg" /* for Linux */ + +#ifndef RELAY_SERVER_IP /* 寄站外信的 mail server */ +#define RELAY_SERVER_IP "127.0.0.1" +#endif + +#ifndef MAX_USERS /* 最高註冊人數 */ +#define MAX_USERS (150000) +#endif + +#ifndef MAX_ACTIVE +#define MAX_ACTIVE (1024) /* 最多同時上站人數 */ +#endif + +#ifndef MAX_CPULOAD +#define MAX_CPULOAD (70) /* CPU 最高load */ +#endif + +#ifndef MAX_POST_MONEY /* 發表文章稿費的上限 */ +#define MAX_POST_MONEY 100 +#endif + +#ifndef MAX_CHICKEN_MONEY /* 養雞場穫利上限 */ +#define MAX_CHICKEN_MONEY 100 +#endif + +#ifndef MAX_GUEST_LIFE /* 最長未認證使用者保留時間(秒) */ +#define MAX_GUEST_LIFE (3 * 24 * 60 * 60) +#endif + +#ifndef MAX_LIFE /* 最長使用者保留時間(秒) */ +#define MAX_LIFE (120 * 24 * 60 * 60) +#endif + +#ifndef MAX_FROM +#define MAX_FROM (300) /* 最多故鄉數 */ +#endif + +#ifndef HAVE_JCEE /* 大學聯考查榜系統 */ +#define HAVE_JCEE 1 +#endif + +#ifndef HAVE_FREECLOAK +#define HAVE_FREECLOAK 0 +#endif + +#ifndef FORCE_PROCESS_REGISTER_FORM +#define FORCE_PROCESS_REGISTER_FORM 0 +#endif + +#ifndef TITLE_COLOR +#define TITLE_COLOR "\033[0;1;37;46m" +#endif + +#ifndef SYSLOG_FACILITY +#define SYSLOG_FACILITY LOG_LOCAL0 +#endif + +#ifndef TAR_PATH +#define TAR_PATH "tar" +#endif + +#ifndef HBFLexpire +#define HBFLexpire (432000) /* 5 days */ +#endif + +/* 以下還未整理 */ +#define DIRCACHESIZE (40) /* cache 文章列表中最後40篇 */ +#define MAX_FRIEND (256) /* 載入 cache 之最多朋友數目 */ +#define MAX_REJECT (32) /* 載入 cache 之最多壞人數目 */ +#define MAX_MSGS (10) /* 水球(熱訊)忍耐上限 */ +#define MAX_BOARD (8192) /* 最大開版個數 */ +#define MAX_MOVIE (999) /* 最多動態看版數 */ +#define MAX_MOVIE_SECTION (10) /* 最多動態看板類別 */ +#define MAX_ITEMS (1000) /* 一個目錄最多有幾項 */ +#define MAX_HISTORY (12) /* 動態看板保持 12 筆歷史記錄 */ +#define MAX_CROSSNUM (9) /* 最多crosspost次數 */ +#define MAX_QUERYLINES (16) /* 顯示 Query/Plan 訊息最大行數 */ +#define MAX_LOGIN_INFO (128) /* 最多上線通知人數 */ +#define MAX_POST_INFO (32) /* 最多新文章通知人數 */ +#define MAX_NAMELIST (128) /* 最多其他特別名單人數 */ +#define MAX_PAGES (999) /* more.c 中文章頁數上限(lines/22) */ +#define MAX_KEEPMAIL (200) /* 最多保留幾封 MAIL? */ +#define MAX_EXKEEPMAIL (1000) /* 最多信箱加大多少封 */ +#define MAX_NOTE (20) /* 最多保留幾篇留言? */ +#define MAX_SIGLINES (6) /* 簽名檔引入最大行數 */ +#define MAX_CROSSNUM (9) /* 最多crosspost次數 */ +#define MAX_REVIEW (7) /* 最多水球回顧 */ +#define NUMVIEWFILE (14) /* 進站畫面最多數 */ +#define MAX_SWAPUSED (0.7) /* SWAP最高使用率 */ +#define LOGINATTEMPTS (3) /* 最大進站失誤次數 */ +#define WHERE /* 是否有故鄉功能 */ +#undef LOG_BOARD /* 看版是否log */ +#undef SUPPORT_GB /* 是否支援gb */ + + +#define DEFAULTBOARD "SYSOP" /* 預設看板 */ +#define LOGINASNEW /* 採用上站申請帳號制度 */ +#define NO_WATER_POST /* 防止BlahBlah式灌水 */ +#define USE_BSMTP /* 使用opus的BSMTP 寄收信? */ +#define HAVE_ANONYMOUS /* 提供 Anonymous 板 */ +#undef POSTNOTIFY /* 新文章通知功能 */ +#define INTERNET_EMAIL /* 支援 InterNet Email 功能(含 Forward) */ +#define HAVE_ORIGIN /* 顯示 author 來自何處 */ +#undef HAVE_MAILCLEAN /* 清理所有使用者個人信箱 */ +#undef HAVE_SUICIDE /* 提供使用者自殺功能 */ +#undef HAVE_REPORT /* 系統追蹤報告 */ +#undef HAVE_INFO /* 顯示程式版本說明 */ +#undef HAVE_LICENSE /* 顯示 GNU 版權畫面 */ +#undef HAVE_TIN /* 提供 news reader */ +#undef HAVE_GOPHER /* 提供 gopher */ +#undef HAVE_WWW /* 提供 www browser */ +#define FAST_LOGIN /* Login 不檢查遠端使用者 */ +#define HAVE_CAL /* 提功計算機 */ +#undef HAVE_ARCHIE /* have arche */ +#undef POSTBUG /* board/mail post 沒有 bug 了 */ +#undef HAVE_REPORT /* 系統追蹤報告 */ +#undef EMAIL_JUSTIFY /* 發出 InterNet Email 身份認證信函 */ +#undef NEWUSER_LIMIT /* 新手上路的三天限制 */ +#undef HAVE_X_BOARDS + +#define USE_LYNX /* 使用外部lynx dump ? */ +#undef USE_PROXY +#ifdef USE_PROXY +#define PROXYSERVER "140.112.28.165" +#define PROXYPORT 3128 +#endif +#define LOCAL_PROXY /* 是否開啟local 的proxy */ +#ifdef LOCAL_PROXY +#define HPROXYDAY 1 /* local的proxy refresh天數 */ +#endif + +#define SHOWMIND /* 看見心情 */ +#define SHOWUID /* 看見使用者 UID */ +#define SHOWBOARD /* 看見使用者看板 */ +#define SHOWPID /* 看見使用者 PID */ + +#define REALINFO /* 真實姓名 */ +#ifdef REALINFO +#undef ACTS_REALNAMES /* 主目錄的 (U)ser 顯示真實姓名 */ +#undef POST_REALNAMES /* 貼文件時附上真實姓名 */ +#undef MAIL_REALNAMES /* 寄站內信件時附上真實姓名 */ +#endif + +#define DOTIMEOUT +#ifdef DOTIMEOUT +#define IDLE_TIMEOUT (30*60) /* 一般情況之 timeout */ +#define MONITOR_TIMEOUT (20*60) /* monitor 時之 timeout */ +#define SHOW_IDLE_TIME /* 顯示閒置時間 */ +#endif + +#define SEM_ENTER -1 /* enter semaphore */ +#define SEM_LEAVE 1 /* leave semaphore */ +#define SEM_RESET 0 /* reset semaphore */ + +#define MAGIC_KEY 1234 /* 身分認證信函編碼 */ + +#define BRDSHM_KEY 1208 +#define UHASH_KEY 1218 /* userid->uid hash */ +#define UTMPSHM_KEY 2221 +#define PTTSHM_KEY 1220 /* 動態看版 , 節日 */ +#define FROMSHM_KEY 1223 /* whereis, 最多使用者 */ + +#define BRDSEM_KEY 2005 /* semaphore key */ +#define PTTSEM_KEY 2000 /* semaphore key */ +#define FROMSEM_KEY 2003 /* semaphore key */ +#define PASSWDSEM_KEY 2010 + +#define NEW_CHATPORT 3838 +#define CHATPORT 5722 + +#define MAX_ROOM 16 /* 最多有幾間包廂? */ + +#define EXIT_LOGOUT 0 +#define EXIT_LOSTCONN -1 +#define EXIT_CLIERROR -2 +#define EXIT_TIMEDOUT -3 +#define EXIT_KICK -4 + +#define CHAT_LOGIN_OK "OK" +#define CHAT_LOGIN_EXISTS "EX" +#define CHAT_LOGIN_INVALID "IN" +#define CHAT_LOGIN_BOGUS "BG" +#define BADCIDCHARS " *" /* Chat Room 中禁用於 nick 的字元 */ + +#define ALLPOST "ALLPOST" + +#endif diff --git a/include/gomo.h b/include/gomo.h new file mode 100644 index 00000000..c51bb283 --- /dev/null +++ b/include/gomo.h @@ -0,0 +1,2156 @@ + +#define BBLANK (0) /* 空白 */ +#define BBLACK (1) /* 黑子, 先手 */ +#define BWHITE (2) /* 白子, 後手 */ +#define MAX_TIME (300) /*最長idle秒數*/ +#ifndef BRDSIZ +#define BRDSIZ (15) /* 棋盤單邊大小 */ +#endif + +#define BGOTO(x, y) move( 16 - y , x * 2 + 3) +#define BGOTOCUR(x, y) move(16 - y, x * 2 + 4) + +/* + 0 0 0 = #@# : len= 3 : NO 00 NO + 1 1 0 = #_@# : len= 4 : NO 00 NO + 2 1 1 = #_@_# : len= 5 : NO 00 NO + 3 2 0 = #O@# : len= 4 : NO 00 NO + 4 2 1 = #O@_# : len= 5 : NO 00 NO + 5 2 2 = #O@O# : len= 5 : NO 00 NO + 6 3 0 = #__@# : len= 5 : NO 00 NO + 7 3 1 = #__@_# : len= 6 : NO 00 NO + 8 3 2 = #__@O# : len= 6 : NO 00 NO + 9 3 3 = #__@__# : len= 7 : NO 00 NO + 10 4 0 = #_O@# : len= 5 : NO 00 NO + 11 4 1 = #_O@_# : len= 6 : NO 00 NO + 12 4 2 = #_O@O# : len= 6 : NO 00 NO + 13 4 3 = #_O@__# : len= 7 : NO 00 NO + 14 4 4 = #_O@O_# : len= 7 : NO 00 NO + 15 5 0 = #O_@# : len= 5 : NO 00 NO + 16 5 1 = #O_@_# : len= 6 : NO 00 NO + 17 5 2 = #O_@O# : len= 6 : NO 00 NO + 18 5 3 = #O_@__# : len= 7 : NO 00 NO + 19 5 4 = #O_@O_# : len= 7 : NO 00 NO + 20 5 5 = #O_@_O# : len= 7 : NO 00 NO + 21 6 0 = #OO@# : len= 5 : NO 00 NO + 22 6 1 = #OO@_# : len= 6 : NO 00 NO + 23 6 2 = #OO@O# : len= 6 : NO 00 NO + 24 6 3 = #OO@__# : len= 7 : NO 00 NO + 25 6 4 = #OO@O_# : len= 7 : S4 00 S4 + 26 6 5 = #OO@_O# : len= 7 : D4 00 D4 + 27 6 6 = #OO@OO# : len= 7 : L5 00 L5 + 28 7 0 = #___@# : len= 6 : NO 00 NO + 29 7 1 = #___@_# : len= 7 : NO 00 NO + 30 7 2 = #___@O# : len= 7 : NO 00 NO + 31 7 3 = #___@__# : len= 8 : NO 00 NO + 32 7 4 = #___@O_# : len= 8 : NO 00 NO + 33 7 5 = #___@_O# : len= 8 : NO 00 NO + 34 7 6 = #___@OO# : len= 8 : NO 00 NO + 35 7 7 = #___@___# : len= 9 : NO 00 NO + 36 8 0 = #__O@# : len= 6 : NO 00 NO + 37 8 1 = #__O@_# : len= 7 : NO 00 NO + 38 8 2 = #__O@O# : len= 7 : NO 00 NO + 39 8 3 = #__O@__# : len= 8 : NO 00 NO + 40 8 4 = #__O@O_# : len= 8 : H3 22 H3 + 41 8 5 = #__O@_O# : len= 8 : NO 00 NO + 42 8 6 = #__O@OO# : len= 8 : S4 00 S4 + 43 8 7 = #__O@___# : len= 9 : NO 00 NO + 44 8 8 = #__O@O__# : len= 9 : H3 22 H3 + 45 9 0 = #_O_@# : len= 6 : NO 00 NO + 46 9 1 = #_O_@_# : len= 7 : NO 00 NO + 47 9 2 = #_O_@O# : len= 7 : NO 00 NO + 48 9 3 = #_O_@__# : len= 8 : NO 00 NO + 49 9 4 = #_O_@O_# : len= 8 : D3 10 D3 + 50 9 5 = #_O_@_O# : len= 8 : NO 00 NO + 51 9 6 = #_O_@OO# : len= 8 : D4 00 D4 + 52 9 7 = #_O_@___# : len= 9 : NO 00 NO + 53 9 8 = #_O_@O__# : len= 9 : D3 10 D3 + 54 9 9 = #_O_@_O_# : len= 9 : NO 00 NO + 55 10 0 = #_OO@# : len= 6 : NO 00 NO + 56 10 1 = #_OO@_# : len= 7 : NO 00 NO + 57 10 2 = #_OO@O# : len= 7 : S4 00 S4 + 58 10 3 = #_OO@__# : len= 8 : H3 31 H3 + 59 10 4 = #_OO@O_# : len= 8 : H4 00 H4 + 60 10 5 = #_OO@_O# : len= 8 : D4 00 D4 + 61 10 6 = #_OO@OO# : len= 8 : L5 00 L5 + 62 10 7 = #_OO@___# : len= 9 : H3 31 H3 + 63 10 8 = #_OO@O__# : len= 9 : H4 00 H4 + 64 10 9 = #_OO@_O_# : len= 9 : D4 00 D4 + 65 10 10 = #_OO@OO_# : len= 9 : L5 00 L5 + 66 11 0 = #O__@# : len= 6 : NO 00 NO + 67 11 1 = #O__@_# : len= 7 : NO 00 NO + 68 11 2 = #O__@O# : len= 7 : NO 00 NO + 69 11 3 = #O__@__# : len= 8 : NO 00 NO + 70 11 4 = #O__@O_# : len= 8 : NO 00 NO + 71 11 5 = #O__@_O# : len= 8 : NO 00 NO + 72 11 6 = #O__@OO# : len= 8 : NO 00 NO + 73 11 7 = #O__@___# : len= 9 : NO 00 NO + 74 11 8 = #O__@O__# : len= 9 : NO 00 NO + 75 11 9 = #O__@_O_# : len= 9 : NO 00 NO + 76 11 10 = #O__@OO_# : len= 9 : NO 00 H3 + 77 11 11 = #O__@__O# : len= 9 : NO 00 NO + 78 12 0 = #O_O@# : len= 6 : NO 00 NO + 79 12 1 = #O_O@_# : len= 7 : NO 00 NO + 80 12 2 = #O_O@O# : len= 7 : D4 00 D4 + 81 12 3 = #O_O@__# : len= 8 : NO 00 NO + 82 12 4 = #O_O@O_# : len= 8 : D4 00 D4 + 83 12 5 = #O_O@_O# : len= 8 : NO 00 NO + 84 12 6 = #O_O@OO# : len= 8 : NO 00 D4 + 85 12 7 = #O_O@___# : len= 9 : NO 00 NO + 86 12 8 = #O_O@O__# : len= 9 : D4 00 D4 + 87 12 9 = #O_O@_O_# : len= 9 : NO 00 D3 + 88 12 10 = #O_O@OO_# : len= 9 : S4 00 H4 + 89 12 11 = #O_O@__O# : len= 9 : NO 00 NO + 90 12 12 = #O_O@O_O# : len= 9 : X4 00 X4 + 91 13 0 = #OO_@# : len= 6 : NO 00 NO + 92 13 1 = #OO_@_# : len= 7 : NO 00 NO + 93 13 2 = #OO_@O# : len= 7 : D4 00 D4 + 94 13 3 = #OO_@__# : len= 8 : NO 00 NO + 95 13 4 = #OO_@O_# : len= 8 : D4 00 D4 + 96 13 5 = #OO_@_O# : len= 8 : NO 00 NO + 97 13 6 = #OO_@OO# : len= 8 : NO 00 D4 + 98 13 7 = #OO_@___# : len= 9 : NO 00 NO + 99 13 8 = #OO_@O__# : len= 9 : D4 00 D4 + 100 13 9 = #OO_@_O_# : len= 9 : NO 00 NO + 101 13 10 = #OO_@OO_# : len= 9 : NO 00 D4 + 102 13 11 = #OO_@__O# : len= 9 : NO 00 NO + 103 13 12 = #OO_@O_O# : len= 9 : D4 00 D4 + 104 13 13 = #OO_@_OO# : len= 9 : NO 00 NO + 105 14 0 = #OOO@# : len= 6 : NO 00 NO + 106 14 1 = #OOO@_# : len= 7 : S4 00 S4 + 107 14 2 = #OOO@O# : len= 7 : L5 00 L5 + 108 14 3 = #OOO@__# : len= 8 : S4 00 S4 + 109 14 4 = #OOO@O_# : len= 8 : L5 00 L5 + 110 14 5 = #OOO@_O# : len= 8 : NO 00 D4 + 111 14 6 = #OOO@OO# : len= 8 : L6 00 L6 + 112 14 7 = #OOO@___# : len= 9 : S4 00 S4 + 113 14 8 = #OOO@O__# : len= 9 : L5 00 L5 + 114 14 9 = #OOO@_O_# : len= 9 : NO 00 D4 + 115 14 10 = #OOO@OO_# : len= 9 : L6 00 L6 + 116 14 11 = #OOO@__O# : len= 9 : S4 00 S4 + 117 14 12 = #OOO@O_O# : len= 9 : L5 00 L5 + 118 14 13 = #OOO@_OO# : len= 9 : NO 00 D4 + 119 14 14 = #OOO@OOO# : len= 9 : L6 00 L6 + 120 15 0 = #____@# : len= 7 : NO 00 NO + 121 15 1 = #____@_# : len= 8 : NO 00 NO + 122 15 2 = #____@O# : len= 8 : NO 00 NO + 123 15 3 = #____@__# : len= 9 : NO 00 NO + 124 15 4 = #____@O_# : len= 9 : NO 00 NO + 125 15 5 = #____@_O# : len= 9 : NO 00 NO + 126 15 6 = #____@OO# : len= 9 : NO 00 NO + 127 15 7 = #____@___# : len=10 : NO 00 NO + 128 15 8 = #____@O__# : len=10 : NO 00 NO + 129 15 9 = #____@_O_# : len=10 : NO 00 NO + 130 15 10 = #____@OO_# : len=10 : H3 13 H3 + 131 15 11 = #____@__O# : len=10 : NO 00 NO + 132 15 12 = #____@O_O# : len=10 : NO 00 NO + 133 15 13 = #____@_OO# : len=10 : NO 00 NO + 134 15 14 = #____@OOO# : len=10 : S4 00 S4 + 135 15 15 = #____@____# : len=11 : NO 00 NO + 136 16 0 = #___O@# : len= 7 : NO 00 NO + 137 16 1 = #___O@_# : len= 8 : NO 00 NO + 138 16 2 = #___O@O# : len= 8 : NO 00 NO + 139 16 3 = #___O@__# : len= 9 : NO 00 NO + 140 16 4 = #___O@O_# : len= 9 : H3 22 H3 + 141 16 5 = #___O@_O# : len= 9 : NO 00 NO + 142 16 6 = #___O@OO# : len= 9 : S4 00 S4 + 143 16 7 = #___O@___# : len=10 : NO 00 NO + 144 16 8 = #___O@O__# : len=10 : H3 22 H3 + 145 16 9 = #___O@_O_# : len=10 : D3 01 D3 + 146 16 10 = #___O@OO_# : len=10 : H4 00 H4 + 147 16 11 = #___O@__O# : len=10 : NO 00 NO + 148 16 12 = #___O@O_O# : len=10 : D4 00 D4 + 149 16 13 = #___O@_OO# : len=10 : D4 00 D4 + 150 16 14 = #___O@OOO# : len=10 : L5 00 L5 + 151 16 15 = #___O@____# : len=11 : NO 00 NO + 152 16 16 = #___O@O___# : len=11 : H3 22 H3 + 153 17 0 = #__O_@# : len= 7 : NO 00 NO + 154 17 1 = #__O_@_# : len= 8 : NO 00 NO + 155 17 2 = #__O_@O# : len= 8 : NO 00 NO + 156 17 3 = #__O_@__# : len= 9 : NO 00 NO + 157 17 4 = #__O_@O_# : len= 9 : D3 10 D3 + 158 17 5 = #__O_@_O# : len= 9 : NO 00 NO + 159 17 6 = #__O_@OO# : len= 9 : D4 00 D4 + 160 17 7 = #__O_@___# : len=10 : NO 00 NO + 161 17 8 = #__O_@O__# : len=10 : D3 10 D3 + 162 17 9 = #__O_@_O_# : len=10 : NO 00 NO + 163 17 10 = #__O_@OO_# : len=10 : D4 00 D4 + 164 17 11 = #__O_@__O# : len=10 : NO 00 NO + 165 17 12 = #__O_@O_O# : len=10 : NO 00 D3 + 166 17 13 = #__O_@_OO# : len=10 : NO 00 NO + 167 17 14 = #__O_@OOO# : len=10 : NO 00 D4 + 168 17 15 = #__O_@____# : len=11 : NO 00 NO + 169 17 16 = #__O_@O___# : len=11 : D3 10 D3 + 170 17 17 = #__O_@_O__# : len=11 : NO 00 NO + 171 18 0 = #__OO@# : len= 7 : NO 00 NO + 172 18 1 = #__OO@_# : len= 8 : H3 31 H3 + 173 18 2 = #__OO@O# : len= 8 : S4 00 S4 + 174 18 3 = #__OO@__# : len= 9 : H3 31 H3 + 175 18 4 = #__OO@O_# : len= 9 : H4 00 H4 + 176 18 5 = #__OO@_O# : len= 9 : D4 00 D4 + 177 18 6 = #__OO@OO# : len= 9 : L5 00 L5 + 178 18 7 = #__OO@___# : len=10 : H3 31 H3 + 179 18 8 = #__OO@O__# : len=10 : H4 00 H4 + 180 18 9 = #__OO@_O_# : len=10 : D4 00 D4 + 181 18 10 = #__OO@OO_# : len=10 : L5 00 L5 + 182 18 11 = #__OO@__O# : len=10 : H3 31 H3 + 183 18 12 = #__OO@O_O# : len=10 : S4 00 H4 + 184 18 13 = #__OO@_OO# : len=10 : NO 00 D4 + 185 18 14 = #__OO@OOO# : len=10 : L6 00 L6 + 186 18 15 = #__OO@____# : len=11 : H3 31 H3 + 187 18 16 = #__OO@O___# : len=11 : H4 00 H4 + 188 18 17 = #__OO@_O__# : len=11 : D4 00 D4 + 189 18 18 = #__OO@OO__# : len=11 : L5 00 L5 + 190 19 0 = #_O__@# : len= 7 : NO 00 NO + 191 19 1 = #_O__@_# : len= 8 : NO 00 NO + 192 19 2 = #_O__@O# : len= 8 : NO 00 NO + 193 19 3 = #_O__@__# : len= 9 : NO 00 NO + 194 19 4 = #_O__@O_# : len= 9 : NO 00 NO + 195 19 5 = #_O__@_O# : len= 9 : NO 00 NO + 196 19 6 = #_O__@OO# : len= 9 : NO 00 NO + 197 19 7 = #_O__@___# : len=10 : NO 00 NO + 198 19 8 = #_O__@O__# : len=10 : NO 00 NO + 199 19 9 = #_O__@_O_# : len=10 : NO 00 NO + 200 19 10 = #_O__@OO_# : len=10 : NO 00 H3 + 201 19 11 = #_O__@__O# : len=10 : NO 00 NO + 202 19 12 = #_O__@O_O# : len=10 : NO 00 NO + 203 19 13 = #_O__@_OO# : len=10 : NO 00 NO + 204 19 14 = #_O__@OOO# : len=10 : S4 00 S4 + 205 19 15 = #_O__@____# : len=11 : NO 00 NO + 206 19 16 = #_O__@O___# : len=11 : NO 00 NO + 207 19 17 = #_O__@_O__# : len=11 : NO 00 NO + 208 19 18 = #_O__@OO__# : len=11 : H3 13 H3 + 209 19 19 = #_O__@__O_# : len=11 : NO 00 NO + 210 20 0 = #_O_O@# : len= 7 : NO 00 NO + 211 20 1 = #_O_O@_# : len= 8 : D3 20 D3 + 212 20 2 = #_O_O@O# : len= 8 : D4 00 D4 + 213 20 3 = #_O_O@__# : len= 9 : D3 20 D3 + 214 20 4 = #_O_O@O_# : len= 9 : D4 00 D4 + 215 20 5 = #_O_O@_O# : len= 9 : NO 00 D3 + 216 20 6 = #_O_O@OO# : len= 9 : NO 00 D4 + 217 20 7 = #_O_O@___# : len=10 : D3 20 D3 + 218 20 8 = #_O_O@O__# : len=10 : D4 00 D4 + 219 20 9 = #_O_O@_O_# : len=10 : NO 00 D3 + 220 20 10 = #_O_O@OO_# : len=10 : S4 00 H4 + 221 20 11 = #_O_O@__O# : len=10 : D3 20 D3 + 222 20 12 = #_O_O@O_O# : len=10 : X4 00 X4 + 223 20 13 = #_O_O@_OO# : len=10 : D4 00 D4 + 224 20 14 = #_O_O@OOO# : len=10 : L5 00 L5 + 225 20 15 = #_O_O@____# : len=11 : D3 20 D3 + 226 20 16 = #_O_O@O___# : len=11 : D4 00 D4 + 227 20 17 = #_O_O@_O__# : len=11 : NO 00 D3 + 228 20 18 = #_O_O@OO__# : len=11 : S4 00 H4 + 229 20 19 = #_O_O@__O_# : len=11 : D3 20 D3 + 230 20 20 = #_O_O@O_O_# : len=11 : X4 00 X4 + 231 21 0 = #_OO_@# : len= 7 : NO 00 NO + 232 21 1 = #_OO_@_# : len= 8 : D3 10 D3 + 233 21 2 = #_OO_@O# : len= 8 : D4 00 D4 + 234 21 3 = #_OO_@__# : len= 9 : D3 10 D3 + 235 21 4 = #_OO_@O_# : len= 9 : D4 00 D4 + 236 21 5 = #_OO_@_O# : len= 9 : NO 00 D3 + 237 21 6 = #_OO_@OO# : len= 9 : NO 00 D4 + 238 21 7 = #_OO_@___# : len=10 : D3 10 D3 + 239 21 8 = #_OO_@O__# : len=10 : D4 00 D4 + 240 21 9 = #_OO_@_O_# : len=10 : NO 00 D3 + 241 21 10 = #_OO_@OO_# : len=10 : NO 00 D4 + 242 21 11 = #_OO_@__O# : len=10 : D3 10 D3 + 243 21 12 = #_OO_@O_O# : len=10 : D4 00 D4 + 244 21 13 = #_OO_@_OO# : len=10 : NO 00 D3 + 245 21 14 = #_OO_@OOO# : len=10 : NO 00 D4 + 246 21 15 = #_OO_@____# : len=11 : D3 10 D3 + 247 21 16 = #_OO_@O___# : len=11 : D4 00 D4 + 248 21 17 = #_OO_@_O__# : len=11 : NO 00 D3 + 249 21 18 = #_OO_@OO__# : len=11 : NO 00 D4 + 250 21 19 = #_OO_@__O_# : len=11 : D3 10 D3 + 251 21 20 = #_OO_@O_O_# : len=11 : D4 00 D4 + 252 21 21 = #_OO_@_OO_# : len=11 : NO 00 D3 + 253 22 0 = #_OOO@# : len= 7 : S4 00 S4 + 254 22 1 = #_OOO@_# : len= 8 : H4 00 H4 + 255 22 2 = #_OOO@O# : len= 8 : L5 00 L5 + 256 22 3 = #_OOO@__# : len= 9 : H4 00 H4 + 257 22 4 = #_OOO@O_# : len= 9 : L5 00 L5 + 258 22 5 = #_OOO@_O# : len= 9 : S4 00 H4 + 259 22 6 = #_OOO@OO# : len= 9 : L6 00 L6 + 260 22 7 = #_OOO@___# : len=10 : H4 00 H4 + 261 22 8 = #_OOO@O__# : len=10 : L5 00 L5 + 262 22 9 = #_OOO@_O_# : len=10 : S4 00 H4 + 263 22 10 = #_OOO@OO_# : len=10 : L6 00 L6 + 264 22 11 = #_OOO@__O# : len=10 : H4 00 H4 + 265 22 12 = #_OOO@O_O# : len=10 : L5 00 L5 + 266 22 13 = #_OOO@_OO# : len=10 : S4 00 H4 + 267 22 14 = #_OOO@OOO# : len=10 : L6 00 L6 + 268 22 15 = #_OOO@____# : len=11 : H4 00 H4 + 269 22 16 = #_OOO@O___# : len=11 : L5 00 L5 + 270 22 17 = #_OOO@_O__# : len=11 : S4 00 H4 + 271 22 18 = #_OOO@OO__# : len=11 : L6 00 L6 + 272 22 19 = #_OOO@__O_# : len=11 : H4 00 H4 + 273 22 20 = #_OOO@O_O_# : len=11 : L5 00 L5 + 274 22 21 = #_OOO@_OO_# : len=11 : S4 00 H4 + 275 22 22 = #_OOO@OOO_# : len=11 : L6 00 L6 + 276 23 0 = #O___@# : len= 7 : NO 00 NO + 277 23 1 = #O___@_# : len= 8 : NO 00 NO + 278 23 2 = #O___@O# : len= 8 : NO 00 NO + 279 23 3 = #O___@__# : len= 9 : NO 00 NO + 280 23 4 = #O___@O_# : len= 9 : NO 00 NO + 281 23 5 = #O___@_O# : len= 9 : NO 00 NO + 282 23 6 = #O___@OO# : len= 9 : NO 00 NO + 283 23 7 = #O___@___# : len=10 : NO 00 NO + 284 23 8 = #O___@O__# : len=10 : NO 00 NO + 285 23 9 = #O___@_O_# : len=10 : NO 00 NO + 286 23 10 = #O___@OO_# : len=10 : H3 13 H3 + 287 23 11 = #O___@__O# : len=10 : NO 00 NO + 288 23 12 = #O___@O_O# : len=10 : NO 00 NO + 289 23 13 = #O___@_OO# : len=10 : NO 00 NO + 290 23 14 = #O___@OOO# : len=10 : S4 00 S4 + 291 23 15 = #O___@____# : len=11 : NO 00 NO + 292 23 16 = #O___@O___# : len=11 : NO 00 NO + 293 23 17 = #O___@_O__# : len=11 : NO 00 NO + 294 23 18 = #O___@OO__# : len=11 : H3 13 H3 + 295 23 19 = #O___@__O_# : len=11 : NO 00 NO + 296 23 20 = #O___@O_O_# : len=11 : D3 02 D3 + 297 23 21 = #O___@_OO_# : len=11 : D3 01 D3 + 298 23 22 = #O___@OOO_# : len=11 : H4 00 H4 + 299 23 23 = #O___@___O# : len=11 : NO 00 NO + 300 24 0 = #O__O@# : len= 7 : NO 00 NO + 301 24 1 = #O__O@_# : len= 8 : NO 00 NO + 302 24 2 = #O__O@O# : len= 8 : NO 00 NO + 303 24 3 = #O__O@__# : len= 9 : NO 00 NO + 304 24 4 = #O__O@O_# : len= 9 : NO 00 H3 + 305 24 5 = #O__O@_O# : len= 9 : NO 00 NO + 306 24 6 = #O__O@OO# : len= 9 : S4 00 S4 + 307 24 7 = #O__O@___# : len=10 : NO 00 NO + 308 24 8 = #O__O@O__# : len=10 : H3 22 H3 + 309 24 9 = #O__O@_O_# : len=10 : D3 01 D3 + 310 24 10 = #O__O@OO_# : len=10 : H4 00 H4 + 311 24 11 = #O__O@__O# : len=10 : NO 00 NO + 312 24 12 = #O__O@O_O# : len=10 : D4 00 D4 + 313 24 13 = #O__O@_OO# : len=10 : D4 00 D4 + 314 24 14 = #O__O@OOO# : len=10 : L5 00 L5 + 315 24 15 = #O__O@____# : len=11 : NO 00 NO + 316 24 16 = #O__O@O___# : len=11 : H3 22 H3 + 317 24 17 = #O__O@_O__# : len=11 : D3 01 D3 + 318 24 18 = #O__O@OO__# : len=11 : H4 00 H4 + 319 24 19 = #O__O@__O_# : len=11 : NO 00 NO + 320 24 20 = #O__O@O_O_# : len=11 : D4 00 D4 + 321 24 21 = #O__O@_OO_# : len=11 : D4 00 D4 + 322 24 22 = #O__O@OOO_# : len=11 : L5 00 L5 + 323 24 23 = #O__O@___O# : len=11 : NO 00 NO + 324 24 24 = #O__O@O__O# : len=11 : NO 00 H3 + 325 25 0 = #O_O_@# : len= 7 : NO 00 NO + 326 25 1 = #O_O_@_# : len= 8 : NO 00 NO + 327 25 2 = #O_O_@O# : len= 8 : NO 00 NO + 328 25 3 = #O_O_@__# : len= 9 : NO 00 NO + 329 25 4 = #O_O_@O_# : len= 9 : NO 00 D3 + 330 25 5 = #O_O_@_O# : len= 9 : NO 00 NO + 331 25 6 = #O_O_@OO# : len= 9 : D4 00 D4 + 332 25 7 = #O_O_@___# : len=10 : NO 00 NO + 333 25 8 = #O_O_@O__# : len=10 : NO 00 D3 + 334 25 9 = #O_O_@_O_# : len=10 : NO 00 NO + 335 25 10 = #O_O_@OO_# : len=10 : D4 00 D4 + 336 25 11 = #O_O_@__O# : len=10 : NO 00 NO + 337 25 12 = #O_O_@O_O# : len=10 : NO 00 D3 + 338 25 13 = #O_O_@_OO# : len=10 : NO 00 NO + 339 25 14 = #O_O_@OOO# : len=10 : NO 00 D4 + 340 25 15 = #O_O_@____# : len=11 : NO 00 NO + 341 25 16 = #O_O_@O___# : len=11 : NO 00 D3 + 342 25 17 = #O_O_@_O__# : len=11 : NO 00 NO + 343 25 18 = #O_O_@OO__# : len=11 : D4 00 D4 + 344 25 19 = #O_O_@__O_# : len=11 : NO 00 NO + 345 25 20 = #O_O_@O_O_# : len=11 : NO 00 D3 + 346 25 21 = #O_O_@_OO_# : len=11 : NO 00 D3 + 347 25 22 = #O_O_@OOO_# : len=11 : S4 00 H4 + 348 25 23 = #O_O_@___O# : len=11 : NO 00 NO + 349 25 24 = #O_O_@O__O# : len=11 : NO 00 D3 + 350 25 25 = #O_O_@_O_O# : len=11 : NO 00 NO + 351 26 0 = #O_OO@# : len= 7 : D4 00 D4 + 352 26 1 = #O_OO@_# : len= 8 : D4 00 D4 + 353 26 2 = #O_OO@O# : len= 8 : NO 00 D4 + 354 26 3 = #O_OO@__# : len= 9 : D4 00 D4 + 355 26 4 = #O_OO@O_# : len= 9 : S4 00 H4 + 356 26 5 = #O_OO@_O# : len= 9 : X4 00 X4 + 357 26 6 = #O_OO@OO# : len= 9 : L5 00 L5 + 358 26 7 = #O_OO@___# : len=10 : D4 00 D4 + 359 26 8 = #O_OO@O__# : len=10 : S4 00 H4 + 360 26 9 = #O_OO@_O_# : len=10 : X4 00 X4 + 361 26 10 = #O_OO@OO_# : len=10 : L5 00 L5 + 362 26 11 = #O_OO@__O# : len=10 : D4 00 D4 + 363 26 12 = #O_OO@O_O# : len=10 : NO 00 H4 + 364 26 13 = #O_OO@_OO# : len=10 : D4 00 X4 + 365 26 14 = #O_OO@OOO# : len=10 : L6 00 L6 + 366 26 15 = #O_OO@____# : len=11 : D4 00 D4 + 367 26 16 = #O_OO@O___# : len=11 : S4 00 H4 + 368 26 17 = #O_OO@_O__# : len=11 : X4 00 X4 + 369 26 18 = #O_OO@OO__# : len=11 : L5 00 L5 + 370 26 19 = #O_OO@__O_# : len=11 : D4 00 D4 + 371 26 20 = #O_OO@O_O_# : len=11 : NO 00 H4 + 372 26 21 = #O_OO@_OO_# : len=11 : D4 00 X4 + 373 26 22 = #O_OO@OOO_# : len=11 : L6 00 L6 + 374 26 23 = #O_OO@___O# : len=11 : D4 00 D4 + 375 26 24 = #O_OO@O__O# : len=11 : S4 00 H4 + 376 26 25 = #O_OO@_O_O# : len=11 : X4 00 X4 + 377 26 26 = #O_OO@OO_O# : len=11 : L5 00 L5 + 378 27 0 = #OO__@# : len= 7 : NO 00 NO + 379 27 1 = #OO__@_# : len= 8 : NO 00 NO + 380 27 2 = #OO__@O# : len= 8 : NO 00 NO + 381 27 3 = #OO__@__# : len= 9 : NO 00 NO + 382 27 4 = #OO__@O_# : len= 9 : NO 00 NO + 383 27 5 = #OO__@_O# : len= 9 : NO 00 NO + 384 27 6 = #OO__@OO# : len= 9 : NO 00 NO + 385 27 7 = #OO__@___# : len=10 : NO 00 NO + 386 27 8 = #OO__@O__# : len=10 : NO 00 NO + 387 27 9 = #OO__@_O_# : len=10 : NO 00 NO + 388 27 10 = #OO__@OO_# : len=10 : NO 00 H3 + 389 27 11 = #OO__@__O# : len=10 : NO 00 NO + 390 27 12 = #OO__@O_O# : len=10 : NO 00 NO + 391 27 13 = #OO__@_OO# : len=10 : NO 00 NO + 392 27 14 = #OO__@OOO# : len=10 : S4 00 S4 + 393 27 15 = #OO__@____# : len=11 : NO 00 NO + 394 27 16 = #OO__@O___# : len=11 : NO 00 NO + 395 27 17 = #OO__@_O__# : len=11 : NO 00 NO + 396 27 18 = #OO__@OO__# : len=11 : H3 13 H3 + 397 27 19 = #OO__@__O_# : len=11 : NO 00 NO + 398 27 20 = #OO__@O_O_# : len=11 : D3 02 D3 + 399 27 21 = #OO__@_OO_# : len=11 : D3 01 D3 + 400 27 22 = #OO__@OOO_# : len=11 : H4 00 H4 + 401 27 23 = #OO__@___O# : len=11 : NO 00 NO + 402 27 24 = #OO__@O__O# : len=11 : NO 00 NO + 403 27 25 = #OO__@_O_O# : len=11 : NO 00 NO + 404 27 26 = #OO__@OO_O# : len=11 : D4 00 D4 + 405 27 27 = #OO__@__OO# : len=11 : NO 00 NO + 406 28 0 = #OO_O@# : len= 7 : D4 00 D4 + 407 28 1 = #OO_O@_# : len= 8 : D4 00 D4 + 408 28 2 = #OO_O@O# : len= 8 : NO 00 D4 + 409 28 3 = #OO_O@__# : len= 9 : D4 00 D4 + 410 28 4 = #OO_O@O_# : len= 9 : NO 00 D4 + 411 28 5 = #OO_O@_O# : len= 9 : D4 00 D4 + 412 28 6 = #OO_O@OO# : len= 9 : NO 00 D4 + 413 28 7 = #OO_O@___# : len=10 : D4 00 D4 + 414 28 8 = #OO_O@O__# : len=10 : NO 00 D4 + 415 28 9 = #OO_O@_O_# : len=10 : D4 00 D4 + 416 28 10 = #OO_O@OO_# : len=10 : S4 00 H4 + 417 28 11 = #OO_O@__O# : len=10 : D4 00 D4 + 418 28 12 = #OO_O@O_O# : len=10 : D4 00 X4 + 419 28 13 = #OO_O@_OO# : len=10 : X4 00 X4 + 420 28 14 = #OO_O@OOO# : len=10 : L5 00 L5 + 421 28 15 = #OO_O@____# : len=11 : D4 00 D4 + 422 28 16 = #OO_O@O___# : len=11 : NO 00 D4 + 423 28 17 = #OO_O@_O__# : len=11 : D4 00 D4 + 424 28 18 = #OO_O@OO__# : len=11 : S4 00 H4 + 425 28 19 = #OO_O@__O_# : len=11 : D4 00 D4 + 426 28 20 = #OO_O@O_O_# : len=11 : D4 00 X4 + 427 28 21 = #OO_O@_OO_# : len=11 : X4 00 X4 + 428 28 22 = #OO_O@OOO_# : len=11 : L5 00 L5 + 429 28 23 = #OO_O@___O# : len=11 : D4 00 D4 + 430 28 24 = #OO_O@O__O# : len=11 : NO 00 D4 + 431 28 25 = #OO_O@_O_O# : len=11 : D4 00 D4 + 432 28 26 = #OO_O@OO_O# : len=11 : NO 00 H4 + 433 28 27 = #OO_O@__OO# : len=11 : D4 00 D4 + 434 28 28 = #OO_O@O_OO# : len=11 : NO 00 X4 + 435 29 0 = #OOO_@# : len= 7 : D4 00 D4 + 436 29 1 = #OOO_@_# : len= 8 : D4 00 D4 + 437 29 2 = #OOO_@O# : len= 8 : NO 00 D4 + 438 29 3 = #OOO_@__# : len= 9 : D4 00 D4 + 439 29 4 = #OOO_@O_# : len= 9 : NO 00 D4 + 440 29 5 = #OOO_@_O# : len= 9 : D4 00 D4 + 441 29 6 = #OOO_@OO# : len= 9 : NO 00 D4 + 442 29 7 = #OOO_@___# : len=10 : D4 00 D4 + 443 29 8 = #OOO_@O__# : len=10 : NO 00 D4 + 444 29 9 = #OOO_@_O_# : len=10 : D4 00 D4 + 445 29 10 = #OOO_@OO_# : len=10 : NO 00 D4 + 446 29 11 = #OOO_@__O# : len=10 : D4 00 D4 + 447 29 12 = #OOO_@O_O# : len=10 : NO 00 D4 + 448 29 13 = #OOO_@_OO# : len=10 : D4 00 D4 + 449 29 14 = #OOO_@OOO# : len=10 : NO 00 D4 + 450 29 15 = #OOO_@____# : len=11 : D4 00 D4 + 451 29 16 = #OOO_@O___# : len=11 : NO 00 D4 + 452 29 17 = #OOO_@_O__# : len=11 : D4 00 D4 + 453 29 18 = #OOO_@OO__# : len=11 : NO 00 D4 + 454 29 19 = #OOO_@__O_# : len=11 : D4 00 D4 + 455 29 20 = #OOO_@O_O_# : len=11 : NO 00 D4 + 456 29 21 = #OOO_@_OO_# : len=11 : D4 00 D4 + 457 29 22 = #OOO_@OOO_# : len=11 : S4 00 H4 + 458 29 23 = #OOO_@___O# : len=11 : D4 00 D4 + 459 29 24 = #OOO_@O__O# : len=11 : NO 00 D4 + 460 29 25 = #OOO_@_O_O# : len=11 : D4 00 D4 + 461 29 26 = #OOO_@OO_O# : len=11 : D4 00 X4 + 462 29 27 = #OOO_@__OO# : len=11 : D4 00 D4 + 463 29 28 = #OOO_@O_OO# : len=11 : D4 00 X4 + 464 29 29 = #OOO_@_OOO# : len=11 : X4 00 X4 + 465 30 0 = #OOOO@# : len= 7 : L5 00 L5 + 466 30 1 = #OOOO@_# : len= 8 : L5 00 L5 + 467 30 2 = #OOOO@O# : len= 8 : L6 00 L6 + 468 30 3 = #OOOO@__# : len= 9 : L5 00 L5 + 469 30 4 = #OOOO@O_# : len= 9 : L6 00 L6 + 470 30 5 = #OOOO@_O# : len= 9 : L5 00 L5 + 471 30 6 = #OOOO@OO# : len= 9 : L6 00 L6 + 472 30 7 = #OOOO@___# : len=10 : L5 00 L5 + 473 30 8 = #OOOO@O__# : len=10 : L6 00 L6 + 474 30 9 = #OOOO@_O_# : len=10 : L5 00 L5 + 475 30 10 = #OOOO@OO_# : len=10 : L6 00 L6 + 476 30 11 = #OOOO@__O# : len=10 : L5 00 L5 + 477 30 12 = #OOOO@O_O# : len=10 : L6 00 L6 + 478 30 13 = #OOOO@_OO# : len=10 : L5 00 L5 + 479 30 14 = #OOOO@OOO# : len=10 : L6 00 L6 + 480 30 15 = #OOOO@____# : len=11 : L5 00 L5 + 481 30 16 = #OOOO@O___# : len=11 : L6 00 L6 + 482 30 17 = #OOOO@_O__# : len=11 : L5 00 L5 + 483 30 18 = #OOOO@OO__# : len=11 : L6 00 L6 + 484 30 19 = #OOOO@__O_# : len=11 : L5 00 L5 + 485 30 20 = #OOOO@O_O_# : len=11 : L6 00 L6 + 486 30 21 = #OOOO@_OO_# : len=11 : L5 00 L5 + 487 30 22 = #OOOO@OOO_# : len=11 : L6 00 L6 + 488 30 23 = #OOOO@___O# : len=11 : L5 00 L5 + 489 30 24 = #OOOO@O__O# : len=11 : L6 00 L6 + 490 30 25 = #OOOO@_O_O# : len=11 : L5 00 L5 + 491 30 26 = #OOOO@OO_O# : len=11 : L6 00 L6 + 492 30 27 = #OOOO@__OO# : len=11 : L5 00 L5 + 493 30 28 = #OOOO@O_OO# : len=11 : L6 00 L6 + 494 30 29 = #OOOO@_OOO# : len=11 : L5 00 L5 + 495 30 30 = #OOOO@OOOO# : len=11 : L6 00 L6 + 496 31 0 = _____@# : len= 7 : NO 00 NO + 497 31 1 = _____@_# : len= 8 : NO 00 NO + 498 31 2 = _____@O# : len= 8 : NO 00 NO + 499 31 3 = _____@__# : len= 9 : NO 00 NO + 500 31 4 = _____@O_# : len= 9 : NO 00 NO + 501 31 5 = _____@_O# : len= 9 : NO 00 NO + 502 31 6 = _____@OO# : len= 9 : NO 00 NO + 503 31 7 = _____@___# : len=10 : NO 00 NO + 504 31 8 = _____@O__# : len=10 : NO 00 NO + 505 31 9 = _____@_O_# : len=10 : NO 00 NO + 506 31 10 = _____@OO_# : len=10 : H3 13 H3 + 507 31 11 = _____@__O# : len=10 : NO 00 NO + 508 31 12 = _____@O_O# : len=10 : NO 00 NO + 509 31 13 = _____@_OO# : len=10 : NO 00 NO + 510 31 14 = _____@OOO# : len=10 : S4 00 S4 + 511 31 15 = _____@____# : len=11 : NO 00 NO + 512 31 16 = _____@O___# : len=11 : NO 00 NO + 513 31 17 = _____@_O__# : len=11 : NO 00 NO + 514 31 18 = _____@OO__# : len=11 : H3 13 H3 + 515 31 19 = _____@__O_# : len=11 : NO 00 NO + 516 31 20 = _____@O_O_# : len=11 : D3 02 D3 + 517 31 21 = _____@_OO_# : len=11 : D3 01 D3 + 518 31 22 = _____@OOO_# : len=11 : H4 00 H4 + 519 31 23 = _____@___O# : len=11 : NO 00 NO + 520 31 24 = _____@O__O# : len=11 : NO 00 NO + 521 31 25 = _____@_O_O# : len=11 : NO 00 NO + 522 31 26 = _____@OO_O# : len=11 : D4 00 D4 + 523 31 27 = _____@__OO# : len=11 : NO 00 NO + 524 31 28 = _____@O_OO# : len=11 : D4 00 D4 + 525 31 29 = _____@_OOO# : len=11 : D4 00 D4 + 526 31 30 = _____@OOOO# : len=11 : L5 00 L5 + 527 31 31 = _____@_____ : len=11 : NO 00 NO + 528 32 0 = ____O@# : len= 7 : NO 00 NO + 529 32 1 = ____O@_# : len= 8 : NO 00 NO + 530 32 2 = ____O@O# : len= 8 : NO 00 NO + 531 32 3 = ____O@__# : len= 9 : NO 00 NO + 532 32 4 = ____O@O_# : len= 9 : H3 22 H3 + 533 32 5 = ____O@_O# : len= 9 : NO 00 NO + 534 32 6 = ____O@OO# : len= 9 : S4 00 S4 + 535 32 7 = ____O@___# : len=10 : NO 00 NO + 536 32 8 = ____O@O__# : len=10 : H3 22 H3 + 537 32 9 = ____O@_O_# : len=10 : D3 01 D3 + 538 32 10 = ____O@OO_# : len=10 : H4 00 H4 + 539 32 11 = ____O@__O# : len=10 : NO 00 NO + 540 32 12 = ____O@O_O# : len=10 : D4 00 D4 + 541 32 13 = ____O@_OO# : len=10 : D4 00 D4 + 542 32 14 = ____O@OOO# : len=10 : L5 00 L5 + 543 32 15 = ____O@____# : len=11 : NO 00 NO + 544 32 16 = ____O@O___# : len=11 : H3 22 H3 + 545 32 17 = ____O@_O__# : len=11 : D3 01 D3 + 546 32 18 = ____O@OO__# : len=11 : H4 00 H4 + 547 32 19 = ____O@__O_# : len=11 : NO 00 NO + 548 32 20 = ____O@O_O_# : len=11 : D4 00 D4 + 549 32 21 = ____O@_OO_# : len=11 : D4 00 D4 + 550 32 22 = ____O@OOO_# : len=11 : L5 00 L5 + 551 32 23 = ____O@___O# : len=11 : NO 00 NO + 552 32 24 = ____O@O__O# : len=11 : H3 22 H3 + 553 32 25 = ____O@_O_O# : len=11 : NO 00 D3 + 554 32 26 = ____O@OO_O# : len=11 : S4 00 H4 + 555 32 27 = ____O@__OO# : len=11 : NO 00 NO + 556 32 28 = ____O@O_OO# : len=11 : NO 00 D4 + 557 32 29 = ____O@_OOO# : len=11 : NO 00 D4 + 558 32 30 = ____O@OOOO# : len=11 : L6 00 L6 + 559 32 31 = ____O@_____ : len=11 : NO 00 NO + 560 32 32 = ____O@O____ : len=11 : H3 22 H3 + 561 33 0 = ___O_@# : len= 7 : NO 00 NO + 562 33 1 = ___O_@_# : len= 8 : NO 00 NO + 563 33 2 = ___O_@O# : len= 8 : NO 00 NO + 564 33 3 = ___O_@__# : len= 9 : NO 00 NO + 565 33 4 = ___O_@O_# : len= 9 : D3 10 D3 + 566 33 5 = ___O_@_O# : len= 9 : NO 00 NO + 567 33 6 = ___O_@OO# : len= 9 : D4 00 D4 + 568 33 7 = ___O_@___# : len=10 : NO 00 NO + 569 33 8 = ___O_@O__# : len=10 : D3 10 D3 + 570 33 9 = ___O_@_O_# : len=10 : NO 00 NO + 571 33 10 = ___O_@OO_# : len=10 : D4 00 D4 + 572 33 11 = ___O_@__O# : len=10 : NO 00 NO + 573 33 12 = ___O_@O_O# : len=10 : NO 00 D3 + 574 33 13 = ___O_@_OO# : len=10 : NO 00 NO + 575 33 14 = ___O_@OOO# : len=10 : NO 00 D4 + 576 33 15 = ___O_@____# : len=11 : NO 00 NO + 577 33 16 = ___O_@O___# : len=11 : D3 10 D3 + 578 33 17 = ___O_@_O__# : len=11 : NO 00 NO + 579 33 18 = ___O_@OO__# : len=11 : D4 00 D4 + 580 33 19 = ___O_@__O_# : len=11 : NO 00 NO + 581 33 20 = ___O_@O_O_# : len=11 : NO 00 D3 + 582 33 21 = ___O_@_OO_# : len=11 : NO 00 D3 + 583 33 22 = ___O_@OOO_# : len=11 : S4 00 H4 + 584 33 23 = ___O_@___O# : len=11 : NO 00 NO + 585 33 24 = ___O_@O__O# : len=11 : D3 10 D3 + 586 33 25 = ___O_@_O_O# : len=11 : NO 00 NO + 587 33 26 = ___O_@OO_O# : len=11 : X4 00 X4 + 588 33 27 = ___O_@__OO# : len=11 : NO 00 NO + 589 33 28 = ___O_@O_OO# : len=11 : D4 00 D4 + 590 33 29 = ___O_@_OOO# : len=11 : D4 00 D4 + 591 33 30 = ___O_@OOOO# : len=11 : L5 00 L5 + 592 33 31 = ___O_@_____ : len=11 : NO 00 NO + 593 33 32 = ___O_@O____ : len=11 : D3 10 D3 + 594 33 33 = ___O_@_O___ : len=11 : NO 00 NO + 595 34 0 = ___OO@# : len= 7 : NO 00 NO + 596 34 1 = ___OO@_# : len= 8 : H3 31 H3 + 597 34 2 = ___OO@O# : len= 8 : S4 00 S4 + 598 34 3 = ___OO@__# : len= 9 : H3 31 H3 + 599 34 4 = ___OO@O_# : len= 9 : H4 00 H4 + 600 34 5 = ___OO@_O# : len= 9 : D4 00 D4 + 601 34 6 = ___OO@OO# : len= 9 : L5 00 L5 + 602 34 7 = ___OO@___# : len=10 : H3 31 H3 + 603 34 8 = ___OO@O__# : len=10 : H4 00 H4 + 604 34 9 = ___OO@_O_# : len=10 : D4 00 D4 + 605 34 10 = ___OO@OO_# : len=10 : L5 00 L5 + 606 34 11 = ___OO@__O# : len=10 : H3 31 H3 + 607 34 12 = ___OO@O_O# : len=10 : S4 00 H4 + 608 34 13 = ___OO@_OO# : len=10 : NO 00 D4 + 609 34 14 = ___OO@OOO# : len=10 : L6 00 L6 + 610 34 15 = ___OO@____# : len=11 : H3 31 H3 + 611 34 16 = ___OO@O___# : len=11 : H4 00 H4 + 612 34 17 = ___OO@_O__# : len=11 : D4 00 D4 + 613 34 18 = ___OO@OO__# : len=11 : L5 00 L5 + 614 34 19 = ___OO@__O_# : len=11 : H3 31 H3 + 615 34 20 = ___OO@O_O_# : len=11 : S4 00 H4 + 616 34 21 = ___OO@_OO_# : len=11 : NO 00 D4 + 617 34 22 = ___OO@OOO_# : len=11 : L6 00 L6 + 618 34 23 = ___OO@___O# : len=11 : H3 31 H3 + 619 34 24 = ___OO@O__O# : len=11 : H4 00 H4 + 620 34 25 = ___OO@_O_O# : len=11 : D4 00 D4 + 621 34 26 = ___OO@OO_O# : len=11 : L5 00 L5 + 622 34 27 = ___OO@__OO# : len=11 : H3 31 H3 + 623 34 28 = ___OO@O_OO# : len=11 : S4 00 H4 + 624 34 29 = ___OO@_OOO# : len=11 : NO 00 D4 + 625 34 30 = ___OO@OOOO# : len=11 : L6 00 L6 + 626 34 31 = ___OO@_____ : len=11 : H3 31 H3 + 627 34 32 = ___OO@O____ : len=11 : H4 00 H4 + 628 34 33 = ___OO@_O___ : len=11 : D4 00 D4 + 629 34 34 = ___OO@OO___ : len=11 : L5 00 L5 + 630 35 0 = __O__@# : len= 7 : NO 00 NO + 631 35 1 = __O__@_# : len= 8 : NO 00 NO + 632 35 2 = __O__@O# : len= 8 : NO 00 NO + 633 35 3 = __O__@__# : len= 9 : NO 00 NO + 634 35 4 = __O__@O_# : len= 9 : NO 00 NO + 635 35 5 = __O__@_O# : len= 9 : NO 00 NO + 636 35 6 = __O__@OO# : len= 9 : NO 00 NO + 637 35 7 = __O__@___# : len=10 : NO 00 NO + 638 35 8 = __O__@O__# : len=10 : NO 00 NO + 639 35 9 = __O__@_O_# : len=10 : NO 00 NO + 640 35 10 = __O__@OO_# : len=10 : NO 00 H3 + 641 35 11 = __O__@__O# : len=10 : NO 00 NO + 642 35 12 = __O__@O_O# : len=10 : NO 00 NO + 643 35 13 = __O__@_OO# : len=10 : NO 00 NO + 644 35 14 = __O__@OOO# : len=10 : S4 00 S4 + 645 35 15 = __O__@____# : len=11 : NO 00 NO + 646 35 16 = __O__@O___# : len=11 : NO 00 NO + 647 35 17 = __O__@_O__# : len=11 : NO 00 NO + 648 35 18 = __O__@OO__# : len=11 : H3 13 H3 + 649 35 19 = __O__@__O_# : len=11 : NO 00 NO + 650 35 20 = __O__@O_O_# : len=11 : D3 02 D3 + 651 35 21 = __O__@_OO_# : len=11 : D3 01 D3 + 652 35 22 = __O__@OOO_# : len=11 : H4 00 H4 + 653 35 23 = __O__@___O# : len=11 : NO 00 NO + 654 35 24 = __O__@O__O# : len=11 : NO 00 NO + 655 35 25 = __O__@_O_O# : len=11 : NO 00 NO + 656 35 26 = __O__@OO_O# : len=11 : D4 00 D4 + 657 35 27 = __O__@__OO# : len=11 : NO 00 NO + 658 35 28 = __O__@O_OO# : len=11 : D4 00 D4 + 659 35 29 = __O__@_OOO# : len=11 : D4 00 D4 + 660 35 30 = __O__@OOOO# : len=11 : L5 00 L5 + 661 35 31 = __O__@_____ : len=11 : NO 00 NO + 662 35 32 = __O__@O____ : len=11 : NO 00 NO + 663 35 33 = __O__@_O___ : len=11 : NO 00 NO + 664 35 34 = __O__@OO___ : len=11 : H3 13 H3 + 665 35 35 = __O__@__O__ : len=11 : NO 00 NO + 666 36 0 = __O_O@# : len= 7 : NO 00 NO + 667 36 1 = __O_O@_# : len= 8 : D3 20 D3 + 668 36 2 = __O_O@O# : len= 8 : D4 00 D4 + 669 36 3 = __O_O@__# : len= 9 : D3 20 D3 + 670 36 4 = __O_O@O_# : len= 9 : D4 00 D4 + 671 36 5 = __O_O@_O# : len= 9 : NO 00 D3 + 672 36 6 = __O_O@OO# : len= 9 : NO 00 D4 + 673 36 7 = __O_O@___# : len=10 : D3 20 D3 + 674 36 8 = __O_O@O__# : len=10 : D4 00 D4 + 675 36 9 = __O_O@_O_# : len=10 : NO 00 D3 + 676 36 10 = __O_O@OO_# : len=10 : S4 00 H4 + 677 36 11 = __O_O@__O# : len=10 : D3 20 D3 + 678 36 12 = __O_O@O_O# : len=10 : X4 00 X4 + 679 36 13 = __O_O@_OO# : len=10 : D4 00 D4 + 680 36 14 = __O_O@OOO# : len=10 : L5 00 L5 + 681 36 15 = __O_O@____# : len=11 : D3 20 D3 + 682 36 16 = __O_O@O___# : len=11 : D4 00 D4 + 683 36 17 = __O_O@_O__# : len=11 : NO 00 D3 + 684 36 18 = __O_O@OO__# : len=11 : S4 00 H4 + 685 36 19 = __O_O@__O_# : len=11 : D3 20 D3 + 686 36 20 = __O_O@O_O_# : len=11 : X4 00 X4 + 687 36 21 = __O_O@_OO_# : len=11 : D4 00 D4 + 688 36 22 = __O_O@OOO_# : len=11 : L5 00 L5 + 689 36 23 = __O_O@___O# : len=11 : D3 20 D3 + 690 36 24 = __O_O@O__O# : len=11 : D4 00 D4 + 691 36 25 = __O_O@_O_O# : len=11 : NO 00 D3 + 692 36 26 = __O_O@OO_O# : len=11 : NO 00 H4 + 693 36 27 = __O_O@__OO# : len=11 : D3 20 D3 + 694 36 28 = __O_O@O_OO# : len=11 : D4 00 X4 + 695 36 29 = __O_O@_OOO# : len=11 : NO 00 D4 + 696 36 30 = __O_O@OOOO# : len=11 : L6 00 L6 + 697 36 31 = __O_O@_____ : len=11 : D3 20 D3 + 698 36 32 = __O_O@O____ : len=11 : D4 00 D4 + 699 36 33 = __O_O@_O___ : len=11 : NO 00 D3 + 700 36 34 = __O_O@OO___ : len=11 : S4 00 H4 + 701 36 35 = __O_O@__O__ : len=11 : D3 20 D3 + 702 36 36 = __O_O@O_O__ : len=11 : X4 00 X4 + 703 37 0 = __OO_@# : len= 7 : NO 00 NO + 704 37 1 = __OO_@_# : len= 8 : D3 10 D3 + 705 37 2 = __OO_@O# : len= 8 : D4 00 D4 + 706 37 3 = __OO_@__# : len= 9 : D3 10 D3 + 707 37 4 = __OO_@O_# : len= 9 : D4 00 D4 + 708 37 5 = __OO_@_O# : len= 9 : NO 00 D3 + 709 37 6 = __OO_@OO# : len= 9 : NO 00 D4 + 710 37 7 = __OO_@___# : len=10 : D3 10 D3 + 711 37 8 = __OO_@O__# : len=10 : D4 00 D4 + 712 37 9 = __OO_@_O_# : len=10 : NO 00 D3 + 713 37 10 = __OO_@OO_# : len=10 : NO 00 D4 + 714 37 11 = __OO_@__O# : len=10 : D3 10 D3 + 715 37 12 = __OO_@O_O# : len=10 : D4 00 D4 + 716 37 13 = __OO_@_OO# : len=10 : NO 00 D3 + 717 37 14 = __OO_@OOO# : len=10 : NO 00 D4 + 718 37 15 = __OO_@____# : len=11 : D3 10 D3 + 719 37 16 = __OO_@O___# : len=11 : D4 00 D4 + 720 37 17 = __OO_@_O__# : len=11 : NO 00 D3 + 721 37 18 = __OO_@OO__# : len=11 : NO 00 D4 + 722 37 19 = __OO_@__O_# : len=11 : D3 10 D3 + 723 37 20 = __OO_@O_O_# : len=11 : D4 00 D4 + 724 37 21 = __OO_@_OO_# : len=11 : NO 00 D3 + 725 37 22 = __OO_@OOO_# : len=11 : S4 00 H4 + 726 37 23 = __OO_@___O# : len=11 : D3 10 D3 + 727 37 24 = __OO_@O__O# : len=11 : D4 00 D4 + 728 37 25 = __OO_@_O_O# : len=11 : NO 00 D3 + 729 37 26 = __OO_@OO_O# : len=11 : D4 00 X4 + 730 37 27 = __OO_@__OO# : len=11 : D3 10 D3 + 731 37 28 = __OO_@O_OO# : len=11 : X4 00 X4 + 732 37 29 = __OO_@_OOO# : len=11 : D4 00 D4 + 733 37 30 = __OO_@OOOO# : len=11 : L5 00 L5 + 734 37 31 = __OO_@_____ : len=11 : D3 10 D3 + 735 37 32 = __OO_@O____ : len=11 : D4 00 D4 + 736 37 33 = __OO_@_O___ : len=11 : NO 00 D3 + 737 37 34 = __OO_@OO___ : len=11 : NO 00 D4 + 738 37 35 = __OO_@__O__ : len=11 : D3 10 D3 + 739 37 36 = __OO_@O_O__ : len=11 : D4 00 D4 + 740 37 37 = __OO_@_OO__ : len=11 : NO 00 D3 + 741 38 0 = __OOO@# : len= 7 : S4 00 S4 + 742 38 1 = __OOO@_# : len= 8 : H4 00 H4 + 743 38 2 = __OOO@O# : len= 8 : L5 00 L5 + 744 38 3 = __OOO@__# : len= 9 : H4 00 H4 + 745 38 4 = __OOO@O_# : len= 9 : L5 00 L5 + 746 38 5 = __OOO@_O# : len= 9 : S4 00 H4 + 747 38 6 = __OOO@OO# : len= 9 : L6 00 L6 + 748 38 7 = __OOO@___# : len=10 : H4 00 H4 + 749 38 8 = __OOO@O__# : len=10 : L5 00 L5 + 750 38 9 = __OOO@_O_# : len=10 : S4 00 H4 + 751 38 10 = __OOO@OO_# : len=10 : L6 00 L6 + 752 38 11 = __OOO@__O# : len=10 : H4 00 H4 + 753 38 12 = __OOO@O_O# : len=10 : L5 00 L5 + 754 38 13 = __OOO@_OO# : len=10 : S4 00 H4 + 755 38 14 = __OOO@OOO# : len=10 : L6 00 L6 + 756 38 15 = __OOO@____# : len=11 : H4 00 H4 + 757 38 16 = __OOO@O___# : len=11 : L5 00 L5 + 758 38 17 = __OOO@_O__# : len=11 : S4 00 H4 + 759 38 18 = __OOO@OO__# : len=11 : L6 00 L6 + 760 38 19 = __OOO@__O_# : len=11 : H4 00 H4 + 761 38 20 = __OOO@O_O_# : len=11 : L5 00 L5 + 762 38 21 = __OOO@_OO_# : len=11 : S4 00 H4 + 763 38 22 = __OOO@OOO_# : len=11 : L6 00 L6 + 764 38 23 = __OOO@___O# : len=11 : H4 00 H4 + 765 38 24 = __OOO@O__O# : len=11 : L5 00 L5 + 766 38 25 = __OOO@_O_O# : len=11 : S4 00 H4 + 767 38 26 = __OOO@OO_O# : len=11 : L6 00 L6 + 768 38 27 = __OOO@__OO# : len=11 : H4 00 H4 + 769 38 28 = __OOO@O_OO# : len=11 : L5 00 L5 + 770 38 29 = __OOO@_OOO# : len=11 : S4 00 H4 + 771 38 30 = __OOO@OOOO# : len=11 : L6 00 L6 + 772 38 31 = __OOO@_____ : len=11 : H4 00 H4 + 773 38 32 = __OOO@O____ : len=11 : L5 00 L5 + 774 38 33 = __OOO@_O___ : len=11 : S4 00 H4 + 775 38 34 = __OOO@OO___ : len=11 : L6 00 L6 + 776 38 35 = __OOO@__O__ : len=11 : H4 00 H4 + 777 38 36 = __OOO@O_O__ : len=11 : L5 00 L5 + 778 38 37 = __OOO@_OO__ : len=11 : S4 00 H4 + 779 38 38 = __OOO@OOO__ : len=11 : L6 00 L6 + 780 39 0 = _O___@# : len= 7 : NO 00 NO + 781 39 1 = _O___@_# : len= 8 : NO 00 NO + 782 39 2 = _O___@O# : len= 8 : NO 00 NO + 783 39 3 = _O___@__# : len= 9 : NO 00 NO + 784 39 4 = _O___@O_# : len= 9 : NO 00 NO + 785 39 5 = _O___@_O# : len= 9 : NO 00 NO + 786 39 6 = _O___@OO# : len= 9 : NO 00 NO + 787 39 7 = _O___@___# : len=10 : NO 00 NO + 788 39 8 = _O___@O__# : len=10 : NO 00 NO + 789 39 9 = _O___@_O_# : len=10 : NO 00 NO + 790 39 10 = _O___@OO_# : len=10 : H3 13 H3 + 791 39 11 = _O___@__O# : len=10 : NO 00 NO + 792 39 12 = _O___@O_O# : len=10 : NO 00 NO + 793 39 13 = _O___@_OO# : len=10 : NO 00 NO + 794 39 14 = _O___@OOO# : len=10 : S4 00 S4 + 795 39 15 = _O___@____# : len=11 : NO 00 NO + 796 39 16 = _O___@O___# : len=11 : NO 00 NO + 797 39 17 = _O___@_O__# : len=11 : NO 00 NO + 798 39 18 = _O___@OO__# : len=11 : H3 13 H3 + 799 39 19 = _O___@__O_# : len=11 : NO 00 NO + 800 39 20 = _O___@O_O_# : len=11 : D3 02 D3 + 801 39 21 = _O___@_OO_# : len=11 : D3 01 D3 + 802 39 22 = _O___@OOO_# : len=11 : H4 00 H4 + 803 39 23 = _O___@___O# : len=11 : NO 00 NO + 804 39 24 = _O___@O__O# : len=11 : NO 00 NO + 805 39 25 = _O___@_O_O# : len=11 : NO 00 NO + 806 39 26 = _O___@OO_O# : len=11 : D4 00 D4 + 807 39 27 = _O___@__OO# : len=11 : NO 00 NO + 808 39 28 = _O___@O_OO# : len=11 : D4 00 D4 + 809 39 29 = _O___@_OOO# : len=11 : D4 00 D4 + 810 39 30 = _O___@OOOO# : len=11 : L5 00 L5 + 811 39 31 = _O___@_____ : len=11 : NO 00 NO + 812 39 32 = _O___@O____ : len=11 : NO 00 NO + 813 39 33 = _O___@_O___ : len=11 : NO 00 NO + 814 39 34 = _O___@OO___ : len=11 : H3 13 H3 + 815 39 35 = _O___@__O__ : len=11 : NO 00 NO + 816 39 36 = _O___@O_O__ : len=11 : D3 02 D3 + 817 39 37 = _O___@_OO__ : len=11 : D3 01 D3 + 818 39 38 = _O___@OOO__ : len=11 : H4 00 H4 + 819 39 39 = _O___@___O_ : len=11 : NO 00 NO + 820 40 0 = _O__O@# : len= 7 : NO 00 NO + 821 40 1 = _O__O@_# : len= 8 : NO 00 NO + 822 40 2 = _O__O@O# : len= 8 : NO 00 NO + 823 40 3 = _O__O@__# : len= 9 : NO 00 NO + 824 40 4 = _O__O@O_# : len= 9 : NO 00 H3 + 825 40 5 = _O__O@_O# : len= 9 : NO 00 NO + 826 40 6 = _O__O@OO# : len= 9 : S4 00 S4 + 827 40 7 = _O__O@___# : len=10 : NO 00 NO + 828 40 8 = _O__O@O__# : len=10 : H3 22 H3 + 829 40 9 = _O__O@_O_# : len=10 : D3 01 D3 + 830 40 10 = _O__O@OO_# : len=10 : H4 00 H4 + 831 40 11 = _O__O@__O# : len=10 : NO 00 NO + 832 40 12 = _O__O@O_O# : len=10 : D4 00 D4 + 833 40 13 = _O__O@_OO# : len=10 : D4 00 D4 + 834 40 14 = _O__O@OOO# : len=10 : L5 00 L5 + 835 40 15 = _O__O@____# : len=11 : NO 00 NO + 836 40 16 = _O__O@O___# : len=11 : H3 22 H3 + 837 40 17 = _O__O@_O__# : len=11 : D3 01 D3 + 838 40 18 = _O__O@OO__# : len=11 : H4 00 H4 + 839 40 19 = _O__O@__O_# : len=11 : NO 00 NO + 840 40 20 = _O__O@O_O_# : len=11 : D4 00 D4 + 841 40 21 = _O__O@_OO_# : len=11 : D4 00 D4 + 842 40 22 = _O__O@OOO_# : len=11 : L5 00 L5 + 843 40 23 = _O__O@___O# : len=11 : NO 00 NO + 844 40 24 = _O__O@O__O# : len=11 : NO 00 H3 + 845 40 25 = _O__O@_O_O# : len=11 : NO 00 D3 + 846 40 26 = _O__O@OO_O# : len=11 : S4 00 H4 + 847 40 27 = _O__O@__OO# : len=11 : NO 00 NO + 848 40 28 = _O__O@O_OO# : len=11 : NO 00 D4 + 849 40 29 = _O__O@_OOO# : len=11 : NO 00 D4 + 850 40 30 = _O__O@OOOO# : len=11 : L6 00 L6 + 851 40 31 = _O__O@_____ : len=11 : NO 00 NO + 852 40 32 = _O__O@O____ : len=11 : H3 22 H3 + 853 40 33 = _O__O@_O___ : len=11 : D3 01 D3 + 854 40 34 = _O__O@OO___ : len=11 : H4 00 H4 + 855 40 35 = _O__O@__O__ : len=11 : NO 00 NO + 856 40 36 = _O__O@O_O__ : len=11 : D4 00 D4 + 857 40 37 = _O__O@_OO__ : len=11 : D4 00 D4 + 858 40 38 = _O__O@OOO__ : len=11 : L5 00 L5 + 859 40 39 = _O__O@___O_ : len=11 : NO 00 NO + 860 40 40 = _O__O@O__O_ : len=11 : NO 00 H3 + 861 41 0 = _O_O_@# : len= 7 : NO 00 NO + 862 41 1 = _O_O_@_# : len= 8 : NO 00 NO + 863 41 2 = _O_O_@O# : len= 8 : NO 00 NO + 864 41 3 = _O_O_@__# : len= 9 : NO 00 NO + 865 41 4 = _O_O_@O_# : len= 9 : NO 00 D3 + 866 41 5 = _O_O_@_O# : len= 9 : NO 00 NO + 867 41 6 = _O_O_@OO# : len= 9 : D4 00 D4 + 868 41 7 = _O_O_@___# : len=10 : NO 00 NO + 869 41 8 = _O_O_@O__# : len=10 : NO 00 D3 + 870 41 9 = _O_O_@_O_# : len=10 : NO 00 NO + 871 41 10 = _O_O_@OO_# : len=10 : D4 00 D4 + 872 41 11 = _O_O_@__O# : len=10 : NO 00 NO + 873 41 12 = _O_O_@O_O# : len=10 : NO 00 D3 + 874 41 13 = _O_O_@_OO# : len=10 : NO 00 NO + 875 41 14 = _O_O_@OOO# : len=10 : NO 00 D4 + 876 41 15 = _O_O_@____# : len=11 : NO 00 NO + 877 41 16 = _O_O_@O___# : len=11 : NO 00 D3 + 878 41 17 = _O_O_@_O__# : len=11 : NO 00 NO + 879 41 18 = _O_O_@OO__# : len=11 : D4 00 D4 + 880 41 19 = _O_O_@__O_# : len=11 : NO 00 NO + 881 41 20 = _O_O_@O_O_# : len=11 : NO 00 D3 + 882 41 21 = _O_O_@_OO_# : len=11 : NO 00 D3 + 883 41 22 = _O_O_@OOO_# : len=11 : S4 00 H4 + 884 41 23 = _O_O_@___O# : len=11 : NO 00 NO + 885 41 24 = _O_O_@O__O# : len=11 : NO 00 D3 + 886 41 25 = _O_O_@_O_O# : len=11 : NO 00 NO + 887 41 26 = _O_O_@OO_O# : len=11 : X4 00 X4 + 888 41 27 = _O_O_@__OO# : len=11 : NO 00 NO + 889 41 28 = _O_O_@O_OO# : len=11 : D4 00 D4 + 890 41 29 = _O_O_@_OOO# : len=11 : D4 00 D4 + 891 41 30 = _O_O_@OOOO# : len=11 : L5 00 L5 + 892 41 31 = _O_O_@_____ : len=11 : NO 00 NO + 893 41 32 = _O_O_@O____ : len=11 : NO 00 D3 + 894 41 33 = _O_O_@_O___ : len=11 : NO 00 NO + 895 41 34 = _O_O_@OO___ : len=11 : D4 00 D4 + 896 41 35 = _O_O_@__O__ : len=11 : NO 00 NO + 897 41 36 = _O_O_@O_O__ : len=11 : NO 00 D3 + 898 41 37 = _O_O_@_OO__ : len=11 : NO 00 D3 + 899 41 38 = _O_O_@OOO__ : len=11 : S4 00 H4 + 900 41 39 = _O_O_@___O_ : len=11 : NO 00 NO + 901 41 40 = _O_O_@O__O_ : len=11 : NO 00 D3 + 902 41 41 = _O_O_@_O_O_ : len=11 : NO 00 NO + 903 42 0 = _O_OO@# : len= 7 : D4 00 D4 + 904 42 1 = _O_OO@_# : len= 8 : D4 00 D4 + 905 42 2 = _O_OO@O# : len= 8 : NO 00 D4 + 906 42 3 = _O_OO@__# : len= 9 : D4 00 D4 + 907 42 4 = _O_OO@O_# : len= 9 : S4 00 H4 + 908 42 5 = _O_OO@_O# : len= 9 : X4 00 X4 + 909 42 6 = _O_OO@OO# : len= 9 : L5 00 L5 + 910 42 7 = _O_OO@___# : len=10 : D4 00 D4 + 911 42 8 = _O_OO@O__# : len=10 : S4 00 H4 + 912 42 9 = _O_OO@_O_# : len=10 : X4 00 X4 + 913 42 10 = _O_OO@OO_# : len=10 : L5 00 L5 + 914 42 11 = _O_OO@__O# : len=10 : D4 00 D4 + 915 42 12 = _O_OO@O_O# : len=10 : NO 00 H4 + 916 42 13 = _O_OO@_OO# : len=10 : D4 00 X4 + 917 42 14 = _O_OO@OOO# : len=10 : L6 00 L6 + 918 42 15 = _O_OO@____# : len=11 : D4 00 D4 + 919 42 16 = _O_OO@O___# : len=11 : S4 00 H4 + 920 42 17 = _O_OO@_O__# : len=11 : X4 00 X4 + 921 42 18 = _O_OO@OO__# : len=11 : L5 00 L5 + 922 42 19 = _O_OO@__O_# : len=11 : D4 00 D4 + 923 42 20 = _O_OO@O_O_# : len=11 : NO 00 H4 + 924 42 21 = _O_OO@_OO_# : len=11 : D4 00 X4 + 925 42 22 = _O_OO@OOO_# : len=11 : L6 00 L6 + 926 42 23 = _O_OO@___O# : len=11 : D4 00 D4 + 927 42 24 = _O_OO@O__O# : len=11 : S4 00 H4 + 928 42 25 = _O_OO@_O_O# : len=11 : X4 00 X4 + 929 42 26 = _O_OO@OO_O# : len=11 : L5 00 L5 + 930 42 27 = _O_OO@__OO# : len=11 : D4 00 D4 + 931 42 28 = _O_OO@O_OO# : len=11 : NO 00 H4 + 932 42 29 = _O_OO@_OOO# : len=11 : D4 00 X4 + 933 42 30 = _O_OO@OOOO# : len=11 : L6 00 L6 + 934 42 31 = _O_OO@_____ : len=11 : D4 00 D4 + 935 42 32 = _O_OO@O____ : len=11 : S4 00 H4 + 936 42 33 = _O_OO@_O___ : len=11 : X4 00 X4 + 937 42 34 = _O_OO@OO___ : len=11 : L5 00 L5 + 938 42 35 = _O_OO@__O__ : len=11 : D4 00 D4 + 939 42 36 = _O_OO@O_O__ : len=11 : NO 00 H4 + 940 42 37 = _O_OO@_OO__ : len=11 : D4 00 X4 + 941 42 38 = _O_OO@OOO__ : len=11 : L6 00 L6 + 942 42 39 = _O_OO@___O_ : len=11 : D4 00 D4 + 943 42 40 = _O_OO@O__O_ : len=11 : S4 00 H4 + 944 42 41 = _O_OO@_O_O_ : len=11 : X4 00 X4 + 945 42 42 = _O_OO@OO_O_ : len=11 : L5 00 L5 + 946 43 0 = _OO__@# : len= 7 : NO 00 NO + 947 43 1 = _OO__@_# : len= 8 : NO 00 NO + 948 43 2 = _OO__@O# : len= 8 : NO 00 NO + 949 43 3 = _OO__@__# : len= 9 : NO 00 NO + 950 43 4 = _OO__@O_# : len= 9 : NO 00 NO + 951 43 5 = _OO__@_O# : len= 9 : NO 00 NO + 952 43 6 = _OO__@OO# : len= 9 : NO 00 NO + 953 43 7 = _OO__@___# : len=10 : NO 00 NO + 954 43 8 = _OO__@O__# : len=10 : NO 00 NO + 955 43 9 = _OO__@_O_# : len=10 : NO 00 NO + 956 43 10 = _OO__@OO_# : len=10 : NO 00 H3 + 957 43 11 = _OO__@__O# : len=10 : NO 00 NO + 958 43 12 = _OO__@O_O# : len=10 : NO 00 NO + 959 43 13 = _OO__@_OO# : len=10 : NO 00 NO + 960 43 14 = _OO__@OOO# : len=10 : S4 00 S4 + 961 43 15 = _OO__@____# : len=11 : NO 00 NO + 962 43 16 = _OO__@O___# : len=11 : NO 00 NO + 963 43 17 = _OO__@_O__# : len=11 : NO 00 NO + 964 43 18 = _OO__@OO__# : len=11 : H3 13 H3 + 965 43 19 = _OO__@__O_# : len=11 : NO 00 NO + 966 43 20 = _OO__@O_O_# : len=11 : D3 02 D3 + 967 43 21 = _OO__@_OO_# : len=11 : D3 01 D3 + 968 43 22 = _OO__@OOO_# : len=11 : H4 00 H4 + 969 43 23 = _OO__@___O# : len=11 : NO 00 NO + 970 43 24 = _OO__@O__O# : len=11 : NO 00 NO + 971 43 25 = _OO__@_O_O# : len=11 : NO 00 NO + 972 43 26 = _OO__@OO_O# : len=11 : D4 00 D4 + 973 43 27 = _OO__@__OO# : len=11 : NO 00 NO + 974 43 28 = _OO__@O_OO# : len=11 : D4 00 D4 + 975 43 29 = _OO__@_OOO# : len=11 : D4 00 D4 + 976 43 30 = _OO__@OOOO# : len=11 : L5 00 L5 + 977 43 31 = _OO__@_____ : len=11 : NO 00 NO + 978 43 32 = _OO__@O____ : len=11 : NO 00 NO + 979 43 33 = _OO__@_O___ : len=11 : NO 00 NO + 980 43 34 = _OO__@OO___ : len=11 : H3 13 H3 + 981 43 35 = _OO__@__O__ : len=11 : NO 00 NO + 982 43 36 = _OO__@O_O__ : len=11 : D3 02 D3 + 983 43 37 = _OO__@_OO__ : len=11 : D3 01 D3 + 984 43 38 = _OO__@OOO__ : len=11 : H4 00 H4 + 985 43 39 = _OO__@___O_ : len=11 : NO 00 NO + 986 43 40 = _OO__@O__O_ : len=11 : NO 00 NO + 987 43 41 = _OO__@_O_O_ : len=11 : NO 00 NO + 988 43 42 = _OO__@OO_O_ : len=11 : D4 00 D4 + 989 43 43 = _OO__@__OO_ : len=11 : NO 00 NO + 990 44 0 = _OO_O@# : len= 7 : D4 00 D4 + 991 44 1 = _OO_O@_# : len= 8 : D4 00 D4 + 992 44 2 = _OO_O@O# : len= 8 : NO 00 D4 + 993 44 3 = _OO_O@__# : len= 9 : D4 00 D4 + 994 44 4 = _OO_O@O_# : len= 9 : NO 00 D4 + 995 44 5 = _OO_O@_O# : len= 9 : D4 00 D4 + 996 44 6 = _OO_O@OO# : len= 9 : NO 00 D4 + 997 44 7 = _OO_O@___# : len=10 : D4 00 D4 + 998 44 8 = _OO_O@O__# : len=10 : NO 00 D4 + 999 44 9 = _OO_O@_O_# : len=10 : D4 00 D4 + 1000 44 10 = _OO_O@OO_# : len=10 : S4 00 H4 + 1001 44 11 = _OO_O@__O# : len=10 : D4 00 D4 + 1002 44 12 = _OO_O@O_O# : len=10 : D4 00 X4 + 1003 44 13 = _OO_O@_OO# : len=10 : X4 00 X4 + 1004 44 14 = _OO_O@OOO# : len=10 : L5 00 L5 + 1005 44 15 = _OO_O@____# : len=11 : D4 00 D4 + 1006 44 16 = _OO_O@O___# : len=11 : NO 00 D4 + 1007 44 17 = _OO_O@_O__# : len=11 : D4 00 D4 + 1008 44 18 = _OO_O@OO__# : len=11 : S4 00 H4 + 1009 44 19 = _OO_O@__O_# : len=11 : D4 00 D4 + 1010 44 20 = _OO_O@O_O_# : len=11 : D4 00 X4 + 1011 44 21 = _OO_O@_OO_# : len=11 : X4 00 X4 + 1012 44 22 = _OO_O@OOO_# : len=11 : L5 00 L5 + 1013 44 23 = _OO_O@___O# : len=11 : D4 00 D4 + 1014 44 24 = _OO_O@O__O# : len=11 : NO 00 D4 + 1015 44 25 = _OO_O@_O_O# : len=11 : D4 00 D4 + 1016 44 26 = _OO_O@OO_O# : len=11 : NO 00 H4 + 1017 44 27 = _OO_O@__OO# : len=11 : D4 00 D4 + 1018 44 28 = _OO_O@O_OO# : len=11 : NO 00 X4 + 1019 44 29 = _OO_O@_OOO# : len=11 : D4 00 X4 + 1020 44 30 = _OO_O@OOOO# : len=11 : L6 00 L6 + 1021 44 31 = _OO_O@_____ : len=11 : D4 00 D4 + 1022 44 32 = _OO_O@O____ : len=11 : NO 00 D4 + 1023 44 33 = _OO_O@_O___ : len=11 : D4 00 D4 + 1024 44 34 = _OO_O@OO___ : len=11 : S4 00 H4 + 1025 44 35 = _OO_O@__O__ : len=11 : D4 00 D4 + 1026 44 36 = _OO_O@O_O__ : len=11 : D4 00 X4 + 1027 44 37 = _OO_O@_OO__ : len=11 : X4 00 X4 + 1028 44 38 = _OO_O@OOO__ : len=11 : L5 00 L5 + 1029 44 39 = _OO_O@___O_ : len=11 : D4 00 D4 + 1030 44 40 = _OO_O@O__O_ : len=11 : NO 00 D4 + 1031 44 41 = _OO_O@_O_O_ : len=11 : D4 00 D4 + 1032 44 42 = _OO_O@OO_O_ : len=11 : NO 00 H4 + 1033 44 43 = _OO_O@__OO_ : len=11 : D4 00 D4 + 1034 44 44 = _OO_O@O_OO_ : len=11 : NO 00 X4 + 1035 45 0 = _OOO_@# : len= 7 : D4 00 D4 + 1036 45 1 = _OOO_@_# : len= 8 : D4 00 D4 + 1037 45 2 = _OOO_@O# : len= 8 : NO 00 D4 + 1038 45 3 = _OOO_@__# : len= 9 : D4 00 D4 + 1039 45 4 = _OOO_@O_# : len= 9 : NO 00 D4 + 1040 45 5 = _OOO_@_O# : len= 9 : D4 00 D4 + 1041 45 6 = _OOO_@OO# : len= 9 : NO 00 D4 + 1042 45 7 = _OOO_@___# : len=10 : D4 00 D4 + 1043 45 8 = _OOO_@O__# : len=10 : NO 00 D4 + 1044 45 9 = _OOO_@_O_# : len=10 : D4 00 D4 + 1045 45 10 = _OOO_@OO_# : len=10 : NO 00 D4 + 1046 45 11 = _OOO_@__O# : len=10 : D4 00 D4 + 1047 45 12 = _OOO_@O_O# : len=10 : NO 00 D4 + 1048 45 13 = _OOO_@_OO# : len=10 : D4 00 D4 + 1049 45 14 = _OOO_@OOO# : len=10 : NO 00 D4 + 1050 45 15 = _OOO_@____# : len=11 : D4 00 D4 + 1051 45 16 = _OOO_@O___# : len=11 : NO 00 D4 + 1052 45 17 = _OOO_@_O__# : len=11 : D4 00 D4 + 1053 45 18 = _OOO_@OO__# : len=11 : NO 00 D4 + 1054 45 19 = _OOO_@__O_# : len=11 : D4 00 D4 + 1055 45 20 = _OOO_@O_O_# : len=11 : NO 00 D4 + 1056 45 21 = _OOO_@_OO_# : len=11 : D4 00 D4 + 1057 45 22 = _OOO_@OOO_# : len=11 : S4 00 H4 + 1058 45 23 = _OOO_@___O# : len=11 : D4 00 D4 + 1059 45 24 = _OOO_@O__O# : len=11 : NO 00 D4 + 1060 45 25 = _OOO_@_O_O# : len=11 : D4 00 D4 + 1061 45 26 = _OOO_@OO_O# : len=11 : D4 00 X4 + 1062 45 27 = _OOO_@__OO# : len=11 : D4 00 D4 + 1063 45 28 = _OOO_@O_OO# : len=11 : D4 00 X4 + 1064 45 29 = _OOO_@_OOO# : len=11 : X4 00 X4 + 1065 45 30 = _OOO_@OOOO# : len=11 : L5 00 L5 + 1066 45 31 = _OOO_@_____ : len=11 : D4 00 D4 + 1067 45 32 = _OOO_@O____ : len=11 : NO 00 D4 + 1068 45 33 = _OOO_@_O___ : len=11 : D4 00 D4 + 1069 45 34 = _OOO_@OO___ : len=11 : NO 00 D4 + 1070 45 35 = _OOO_@__O__ : len=11 : D4 00 D4 + 1071 45 36 = _OOO_@O_O__ : len=11 : NO 00 D4 + 1072 45 37 = _OOO_@_OO__ : len=11 : D4 00 D4 + 1073 45 38 = _OOO_@OOO__ : len=11 : S4 00 H4 + 1074 45 39 = _OOO_@___O_ : len=11 : D4 00 D4 + 1075 45 40 = _OOO_@O__O_ : len=11 : NO 00 D4 + 1076 45 41 = _OOO_@_O_O_ : len=11 : D4 00 D4 + 1077 45 42 = _OOO_@OO_O_ : len=11 : D4 00 X4 + 1078 45 43 = _OOO_@__OO_ : len=11 : D4 00 D4 + 1079 45 44 = _OOO_@O_OO_ : len=11 : D4 00 X4 + 1080 45 45 = _OOO_@_OOO_ : len=11 : X4 00 X4 + 1081 46 0 = _OOOO@# : len= 7 : L5 00 L5 + 1082 46 1 = _OOOO@_# : len= 8 : L5 00 L5 + 1083 46 2 = _OOOO@O# : len= 8 : L6 00 L6 + 1084 46 3 = _OOOO@__# : len= 9 : L5 00 L5 + 1085 46 4 = _OOOO@O_# : len= 9 : L6 00 L6 + 1086 46 5 = _OOOO@_O# : len= 9 : L5 00 L5 + 1087 46 6 = _OOOO@OO# : len= 9 : L6 00 L6 + 1088 46 7 = _OOOO@___# : len=10 : L5 00 L5 + 1089 46 8 = _OOOO@O__# : len=10 : L6 00 L6 + 1090 46 9 = _OOOO@_O_# : len=10 : L5 00 L5 + 1091 46 10 = _OOOO@OO_# : len=10 : L6 00 L6 + 1092 46 11 = _OOOO@__O# : len=10 : L5 00 L5 + 1093 46 12 = _OOOO@O_O# : len=10 : L6 00 L6 + 1094 46 13 = _OOOO@_OO# : len=10 : L5 00 L5 + 1095 46 14 = _OOOO@OOO# : len=10 : L6 00 L6 + 1096 46 15 = _OOOO@____# : len=11 : L5 00 L5 + 1097 46 16 = _OOOO@O___# : len=11 : L6 00 L6 + 1098 46 17 = _OOOO@_O__# : len=11 : L5 00 L5 + 1099 46 18 = _OOOO@OO__# : len=11 : L6 00 L6 + 1100 46 19 = _OOOO@__O_# : len=11 : L5 00 L5 + 1101 46 20 = _OOOO@O_O_# : len=11 : L6 00 L6 + 1102 46 21 = _OOOO@_OO_# : len=11 : L5 00 L5 + 1103 46 22 = _OOOO@OOO_# : len=11 : L6 00 L6 + 1104 46 23 = _OOOO@___O# : len=11 : L5 00 L5 + 1105 46 24 = _OOOO@O__O# : len=11 : L6 00 L6 + 1106 46 25 = _OOOO@_O_O# : len=11 : L5 00 L5 + 1107 46 26 = _OOOO@OO_O# : len=11 : L6 00 L6 + 1108 46 27 = _OOOO@__OO# : len=11 : L5 00 L5 + 1109 46 28 = _OOOO@O_OO# : len=11 : L6 00 L6 + 1110 46 29 = _OOOO@_OOO# : len=11 : L5 00 L5 + 1111 46 30 = _OOOO@OOOO# : len=11 : L6 00 L6 + 1112 46 31 = _OOOO@_____ : len=11 : L5 00 L5 + 1113 46 32 = _OOOO@O____ : len=11 : L6 00 L6 + 1114 46 33 = _OOOO@_O___ : len=11 : L5 00 L5 + 1115 46 34 = _OOOO@OO___ : len=11 : L6 00 L6 + 1116 46 35 = _OOOO@__O__ : len=11 : L5 00 L5 + 1117 46 36 = _OOOO@O_O__ : len=11 : L6 00 L6 + 1118 46 37 = _OOOO@_OO__ : len=11 : L5 00 L5 + 1119 46 38 = _OOOO@OOO__ : len=11 : L6 00 L6 + 1120 46 39 = _OOOO@___O_ : len=11 : L5 00 L5 + 1121 46 40 = _OOOO@O__O_ : len=11 : L6 00 L6 + 1122 46 41 = _OOOO@_O_O_ : len=11 : L5 00 L5 + 1123 46 42 = _OOOO@OO_O_ : len=11 : L6 00 L6 + 1124 46 43 = _OOOO@__OO_ : len=11 : L5 00 L5 + 1125 46 44 = _OOOO@O_OO_ : len=11 : L6 00 L6 + 1126 46 45 = _OOOO@_OOO_ : len=11 : L5 00 L5 + 1127 46 46 = _OOOO@OOOO_ : len=11 : L6 00 L6 + 1128 47 0 = O____@# : len= 7 : NO 00 NO + 1129 47 1 = O____@_# : len= 8 : NO 00 NO + 1130 47 2 = O____@O# : len= 8 : NO 00 NO + 1131 47 3 = O____@__# : len= 9 : NO 00 NO + 1132 47 4 = O____@O_# : len= 9 : NO 00 NO + 1133 47 5 = O____@_O# : len= 9 : NO 00 NO + 1134 47 6 = O____@OO# : len= 9 : NO 00 NO + 1135 47 7 = O____@___# : len=10 : NO 00 NO + 1136 47 8 = O____@O__# : len=10 : NO 00 NO + 1137 47 9 = O____@_O_# : len=10 : NO 00 NO + 1138 47 10 = O____@OO_# : len=10 : H3 13 H3 + 1139 47 11 = O____@__O# : len=10 : NO 00 NO + 1140 47 12 = O____@O_O# : len=10 : NO 00 NO + 1141 47 13 = O____@_OO# : len=10 : NO 00 NO + 1142 47 14 = O____@OOO# : len=10 : S4 00 S4 + 1143 47 15 = O____@____# : len=11 : NO 00 NO + 1144 47 16 = O____@O___# : len=11 : NO 00 NO + 1145 47 17 = O____@_O__# : len=11 : NO 00 NO + 1146 47 18 = O____@OO__# : len=11 : H3 13 H3 + 1147 47 19 = O____@__O_# : len=11 : NO 00 NO + 1148 47 20 = O____@O_O_# : len=11 : D3 02 D3 + 1149 47 21 = O____@_OO_# : len=11 : D3 01 D3 + 1150 47 22 = O____@OOO_# : len=11 : H4 00 H4 + 1151 47 23 = O____@___O# : len=11 : NO 00 NO + 1152 47 24 = O____@O__O# : len=11 : NO 00 NO + 1153 47 25 = O____@_O_O# : len=11 : NO 00 NO + 1154 47 26 = O____@OO_O# : len=11 : D4 00 D4 + 1155 47 27 = O____@__OO# : len=11 : NO 00 NO + 1156 47 28 = O____@O_OO# : len=11 : D4 00 D4 + 1157 47 29 = O____@_OOO# : len=11 : D4 00 D4 + 1158 47 30 = O____@OOOO# : len=11 : L5 00 L5 + 1159 47 31 = O____@_____ : len=11 : NO 00 NO + 1160 47 32 = O____@O____ : len=11 : NO 00 NO + 1161 47 33 = O____@_O___ : len=11 : NO 00 NO + 1162 47 34 = O____@OO___ : len=11 : H3 13 H3 + 1163 47 35 = O____@__O__ : len=11 : NO 00 NO + 1164 47 36 = O____@O_O__ : len=11 : D3 02 D3 + 1165 47 37 = O____@_OO__ : len=11 : D3 01 D3 + 1166 47 38 = O____@OOO__ : len=11 : H4 00 H4 + 1167 47 39 = O____@___O_ : len=11 : NO 00 NO + 1168 47 40 = O____@O__O_ : len=11 : NO 00 NO + 1169 47 41 = O____@_O_O_ : len=11 : NO 00 NO + 1170 47 42 = O____@OO_O_ : len=11 : D4 00 D4 + 1171 47 43 = O____@__OO_ : len=11 : NO 00 NO + 1172 47 44 = O____@O_OO_ : len=11 : D4 00 D4 + 1173 47 45 = O____@_OOO_ : len=11 : D4 00 D4 + 1174 47 46 = O____@OOOO_ : len=11 : L5 00 L5 + 1175 47 47 = O____@____O : len=11 : NO 00 NO + 1176 48 0 = O___O@# : len= 7 : NO 00 NO + 1177 48 1 = O___O@_# : len= 8 : NO 00 NO + 1178 48 2 = O___O@O# : len= 8 : NO 00 NO + 1179 48 3 = O___O@__# : len= 9 : NO 00 NO + 1180 48 4 = O___O@O_# : len= 9 : H3 22 H3 + 1181 48 5 = O___O@_O# : len= 9 : NO 00 NO + 1182 48 6 = O___O@OO# : len= 9 : S4 00 S4 + 1183 48 7 = O___O@___# : len=10 : NO 00 NO + 1184 48 8 = O___O@O__# : len=10 : H3 22 H3 + 1185 48 9 = O___O@_O_# : len=10 : D3 01 D3 + 1186 48 10 = O___O@OO_# : len=10 : H4 00 H4 + 1187 48 11 = O___O@__O# : len=10 : NO 00 NO + 1188 48 12 = O___O@O_O# : len=10 : D4 00 D4 + 1189 48 13 = O___O@_OO# : len=10 : D4 00 D4 + 1190 48 14 = O___O@OOO# : len=10 : L5 00 L5 + 1191 48 15 = O___O@____# : len=11 : NO 00 NO + 1192 48 16 = O___O@O___# : len=11 : H3 22 H3 + 1193 48 17 = O___O@_O__# : len=11 : D3 01 D3 + 1194 48 18 = O___O@OO__# : len=11 : H4 00 H4 + 1195 48 19 = O___O@__O_# : len=11 : NO 00 NO + 1196 48 20 = O___O@O_O_# : len=11 : D4 00 D4 + 1197 48 21 = O___O@_OO_# : len=11 : D4 00 D4 + 1198 48 22 = O___O@OOO_# : len=11 : L5 00 L5 + 1199 48 23 = O___O@___O# : len=11 : NO 00 NO + 1200 48 24 = O___O@O__O# : len=11 : H3 22 H3 + 1201 48 25 = O___O@_O_O# : len=11 : NO 00 D3 + 1202 48 26 = O___O@OO_O# : len=11 : S4 00 H4 + 1203 48 27 = O___O@__OO# : len=11 : NO 00 NO + 1204 48 28 = O___O@O_OO# : len=11 : NO 00 D4 + 1205 48 29 = O___O@_OOO# : len=11 : NO 00 D4 + 1206 48 30 = O___O@OOOO# : len=11 : L6 00 L6 + 1207 48 31 = O___O@_____ : len=11 : NO 00 NO + 1208 48 32 = O___O@O____ : len=11 : H3 22 H3 + 1209 48 33 = O___O@_O___ : len=11 : D3 01 D3 + 1210 48 34 = O___O@OO___ : len=11 : H4 00 H4 + 1211 48 35 = O___O@__O__ : len=11 : NO 00 NO + 1212 48 36 = O___O@O_O__ : len=11 : D4 00 D4 + 1213 48 37 = O___O@_OO__ : len=11 : D4 00 D4 + 1214 48 38 = O___O@OOO__ : len=11 : L5 00 L5 + 1215 48 39 = O___O@___O_ : len=11 : NO 00 NO + 1216 48 40 = O___O@O__O_ : len=11 : H3 22 H3 + 1217 48 41 = O___O@_O_O_ : len=11 : NO 00 D3 + 1218 48 42 = O___O@OO_O_ : len=11 : S4 00 H4 + 1219 48 43 = O___O@__OO_ : len=11 : NO 00 NO + 1220 48 44 = O___O@O_OO_ : len=11 : NO 00 D4 + 1221 48 45 = O___O@_OOO_ : len=11 : NO 00 D4 + 1222 48 46 = O___O@OOOO_ : len=11 : L6 00 L6 + 1223 48 47 = O___O@____O : len=11 : NO 00 NO + 1224 48 48 = O___O@O___O : len=11 : H3 22 H3 + 1225 49 0 = O__O_@# : len= 7 : NO 00 NO + 1226 49 1 = O__O_@_# : len= 8 : NO 00 NO + 1227 49 2 = O__O_@O# : len= 8 : NO 00 NO + 1228 49 3 = O__O_@__# : len= 9 : NO 00 NO + 1229 49 4 = O__O_@O_# : len= 9 : D3 10 D3 + 1230 49 5 = O__O_@_O# : len= 9 : NO 00 NO + 1231 49 6 = O__O_@OO# : len= 9 : D4 00 D4 + 1232 49 7 = O__O_@___# : len=10 : NO 00 NO + 1233 49 8 = O__O_@O__# : len=10 : D3 10 D3 + 1234 49 9 = O__O_@_O_# : len=10 : NO 00 NO + 1235 49 10 = O__O_@OO_# : len=10 : D4 00 D4 + 1236 49 11 = O__O_@__O# : len=10 : NO 00 NO + 1237 49 12 = O__O_@O_O# : len=10 : NO 00 D3 + 1238 49 13 = O__O_@_OO# : len=10 : NO 00 NO + 1239 49 14 = O__O_@OOO# : len=10 : NO 00 D4 + 1240 49 15 = O__O_@____# : len=11 : NO 00 NO + 1241 49 16 = O__O_@O___# : len=11 : D3 10 D3 + 1242 49 17 = O__O_@_O__# : len=11 : NO 00 NO + 1243 49 18 = O__O_@OO__# : len=11 : D4 00 D4 + 1244 49 19 = O__O_@__O_# : len=11 : NO 00 NO + 1245 49 20 = O__O_@O_O_# : len=11 : NO 00 D3 + 1246 49 21 = O__O_@_OO_# : len=11 : NO 00 D3 + 1247 49 22 = O__O_@OOO_# : len=11 : S4 00 H4 + 1248 49 23 = O__O_@___O# : len=11 : NO 00 NO + 1249 49 24 = O__O_@O__O# : len=11 : D3 10 D3 + 1250 49 25 = O__O_@_O_O# : len=11 : NO 00 NO + 1251 49 26 = O__O_@OO_O# : len=11 : X4 00 X4 + 1252 49 27 = O__O_@__OO# : len=11 : NO 00 NO + 1253 49 28 = O__O_@O_OO# : len=11 : D4 00 D4 + 1254 49 29 = O__O_@_OOO# : len=11 : D4 00 D4 + 1255 49 30 = O__O_@OOOO# : len=11 : L5 00 L5 + 1256 49 31 = O__O_@_____ : len=11 : NO 00 NO + 1257 49 32 = O__O_@O____ : len=11 : D3 10 D3 + 1258 49 33 = O__O_@_O___ : len=11 : NO 00 NO + 1259 49 34 = O__O_@OO___ : len=11 : D4 00 D4 + 1260 49 35 = O__O_@__O__ : len=11 : NO 00 NO + 1261 49 36 = O__O_@O_O__ : len=11 : NO 00 D3 + 1262 49 37 = O__O_@_OO__ : len=11 : NO 00 D3 + 1263 49 38 = O__O_@OOO__ : len=11 : S4 00 H4 + 1264 49 39 = O__O_@___O_ : len=11 : NO 00 NO + 1265 49 40 = O__O_@O__O_ : len=11 : D3 10 D3 + 1266 49 41 = O__O_@_O_O_ : len=11 : NO 00 NO + 1267 49 42 = O__O_@OO_O_ : len=11 : X4 00 X4 + 1268 49 43 = O__O_@__OO_ : len=11 : NO 00 NO + 1269 49 44 = O__O_@O_OO_ : len=11 : D4 00 D4 + 1270 49 45 = O__O_@_OOO_ : len=11 : D4 00 D4 + 1271 49 46 = O__O_@OOOO_ : len=11 : L5 00 L5 + 1272 49 47 = O__O_@____O : len=11 : NO 00 NO + 1273 49 48 = O__O_@O___O : len=11 : D3 10 D3 + 1274 49 49 = O__O_@_O__O : len=11 : NO 00 NO + 1275 50 0 = O__OO@# : len= 7 : NO 00 NO + 1276 50 1 = O__OO@_# : len= 8 : NO 00 H3 + 1277 50 2 = O__OO@O# : len= 8 : S4 00 S4 + 1278 50 3 = O__OO@__# : len= 9 : H3 31 H3 + 1279 50 4 = O__OO@O_# : len= 9 : H4 00 H4 + 1280 50 5 = O__OO@_O# : len= 9 : D4 00 D4 + 1281 50 6 = O__OO@OO# : len= 9 : L5 00 L5 + 1282 50 7 = O__OO@___# : len=10 : H3 31 H3 + 1283 50 8 = O__OO@O__# : len=10 : H4 00 H4 + 1284 50 9 = O__OO@_O_# : len=10 : D4 00 D4 + 1285 50 10 = O__OO@OO_# : len=10 : L5 00 L5 + 1286 50 11 = O__OO@__O# : len=10 : NO 00 H3 + 1287 50 12 = O__OO@O_O# : len=10 : S4 00 H4 + 1288 50 13 = O__OO@_OO# : len=10 : NO 00 D4 + 1289 50 14 = O__OO@OOO# : len=10 : L6 00 L6 + 1290 50 15 = O__OO@____# : len=11 : H3 31 H3 + 1291 50 16 = O__OO@O___# : len=11 : H4 00 H4 + 1292 50 17 = O__OO@_O__# : len=11 : D4 00 D4 + 1293 50 18 = O__OO@OO__# : len=11 : L5 00 L5 + 1294 50 19 = O__OO@__O_# : len=11 : NO 00 H3 + 1295 50 20 = O__OO@O_O_# : len=11 : S4 00 H4 + 1296 50 21 = O__OO@_OO_# : len=11 : NO 00 D4 + 1297 50 22 = O__OO@OOO_# : len=11 : L6 00 L6 + 1298 50 23 = O__OO@___O# : len=11 : H3 31 H3 + 1299 50 24 = O__OO@O__O# : len=11 : H4 00 H4 + 1300 50 25 = O__OO@_O_O# : len=11 : D4 00 D4 + 1301 50 26 = O__OO@OO_O# : len=11 : L5 00 L5 + 1302 50 27 = O__OO@__OO# : len=11 : NO 00 H3 + 1303 50 28 = O__OO@O_OO# : len=11 : S4 00 H4 + 1304 50 29 = O__OO@_OOO# : len=11 : NO 00 D4 + 1305 50 30 = O__OO@OOOO# : len=11 : L6 00 L6 + 1306 50 31 = O__OO@_____ : len=11 : H3 31 H3 + 1307 50 32 = O__OO@O____ : len=11 : H4 00 H4 + 1308 50 33 = O__OO@_O___ : len=11 : D4 00 D4 + 1309 50 34 = O__OO@OO___ : len=11 : L5 00 L5 + 1310 50 35 = O__OO@__O__ : len=11 : NO 00 H3 + 1311 50 36 = O__OO@O_O__ : len=11 : S4 00 H4 + 1312 50 37 = O__OO@_OO__ : len=11 : NO 00 D4 + 1313 50 38 = O__OO@OOO__ : len=11 : L6 00 L6 + 1314 50 39 = O__OO@___O_ : len=11 : H3 31 H3 + 1315 50 40 = O__OO@O__O_ : len=11 : H4 00 H4 + 1316 50 41 = O__OO@_O_O_ : len=11 : D4 00 D4 + 1317 50 42 = O__OO@OO_O_ : len=11 : L5 00 L5 + 1318 50 43 = O__OO@__OO_ : len=11 : NO 00 H3 + 1319 50 44 = O__OO@O_OO_ : len=11 : S4 00 H4 + 1320 50 45 = O__OO@_OOO_ : len=11 : NO 00 D4 + 1321 50 46 = O__OO@OOOO_ : len=11 : L6 00 L6 + 1322 50 47 = O__OO@____O : len=11 : H3 31 H3 + 1323 50 48 = O__OO@O___O : len=11 : H4 00 H4 + 1324 50 49 = O__OO@_O__O : len=11 : D4 00 D4 + 1325 50 50 = O__OO@OO__O : len=11 : L5 00 L5 + 1326 51 0 = O_O__@# : len= 7 : NO 00 NO + 1327 51 1 = O_O__@_# : len= 8 : NO 00 NO + 1328 51 2 = O_O__@O# : len= 8 : NO 00 NO + 1329 51 3 = O_O__@__# : len= 9 : NO 00 NO + 1330 51 4 = O_O__@O_# : len= 9 : NO 00 NO + 1331 51 5 = O_O__@_O# : len= 9 : NO 00 NO + 1332 51 6 = O_O__@OO# : len= 9 : NO 00 NO + 1333 51 7 = O_O__@___# : len=10 : NO 00 NO + 1334 51 8 = O_O__@O__# : len=10 : NO 00 NO + 1335 51 9 = O_O__@_O_# : len=10 : NO 00 NO + 1336 51 10 = O_O__@OO_# : len=10 : NO 00 H3 + 1337 51 11 = O_O__@__O# : len=10 : NO 00 NO + 1338 51 12 = O_O__@O_O# : len=10 : NO 00 NO + 1339 51 13 = O_O__@_OO# : len=10 : NO 00 NO + 1340 51 14 = O_O__@OOO# : len=10 : S4 00 S4 + 1341 51 15 = O_O__@____# : len=11 : NO 00 NO + 1342 51 16 = O_O__@O___# : len=11 : NO 00 NO + 1343 51 17 = O_O__@_O__# : len=11 : NO 00 NO + 1344 51 18 = O_O__@OO__# : len=11 : H3 13 H3 + 1345 51 19 = O_O__@__O_# : len=11 : NO 00 NO + 1346 51 20 = O_O__@O_O_# : len=11 : D3 02 D3 + 1347 51 21 = O_O__@_OO_# : len=11 : D3 01 D3 + 1348 51 22 = O_O__@OOO_# : len=11 : H4 00 H4 + 1349 51 23 = O_O__@___O# : len=11 : NO 00 NO + 1350 51 24 = O_O__@O__O# : len=11 : NO 00 NO + 1351 51 25 = O_O__@_O_O# : len=11 : NO 00 NO + 1352 51 26 = O_O__@OO_O# : len=11 : D4 00 D4 + 1353 51 27 = O_O__@__OO# : len=11 : NO 00 NO + 1354 51 28 = O_O__@O_OO# : len=11 : D4 00 D4 + 1355 51 29 = O_O__@_OOO# : len=11 : D4 00 D4 + 1356 51 30 = O_O__@OOOO# : len=11 : L5 00 L5 + 1357 51 31 = O_O__@_____ : len=11 : NO 00 NO + 1358 51 32 = O_O__@O____ : len=11 : NO 00 NO + 1359 51 33 = O_O__@_O___ : len=11 : NO 00 NO + 1360 51 34 = O_O__@OO___ : len=11 : H3 13 H3 + 1361 51 35 = O_O__@__O__ : len=11 : NO 00 NO + 1362 51 36 = O_O__@O_O__ : len=11 : D3 02 D3 + 1363 51 37 = O_O__@_OO__ : len=11 : D3 01 D3 + 1364 51 38 = O_O__@OOO__ : len=11 : H4 00 H4 + 1365 51 39 = O_O__@___O_ : len=11 : NO 00 NO + 1366 51 40 = O_O__@O__O_ : len=11 : NO 00 NO + 1367 51 41 = O_O__@_O_O_ : len=11 : NO 00 NO + 1368 51 42 = O_O__@OO_O_ : len=11 : D4 00 D4 + 1369 51 43 = O_O__@__OO_ : len=11 : NO 00 NO + 1370 51 44 = O_O__@O_OO_ : len=11 : D4 00 D4 + 1371 51 45 = O_O__@_OOO_ : len=11 : D4 00 D4 + 1372 51 46 = O_O__@OOOO_ : len=11 : L5 00 L5 + 1373 51 47 = O_O__@____O : len=11 : NO 00 NO + 1374 51 48 = O_O__@O___O : len=11 : NO 00 NO + 1375 51 49 = O_O__@_O__O : len=11 : NO 00 NO + 1376 51 50 = O_O__@OO__O : len=11 : NO 00 H3 + 1377 51 51 = O_O__@__O_O : len=11 : NO 00 NO + 1378 52 0 = O_O_O@# : len= 7 : NO 00 NO + 1379 52 1 = O_O_O@_# : len= 8 : NO 00 D3 + 1380 52 2 = O_O_O@O# : len= 8 : D4 00 D4 + 1381 52 3 = O_O_O@__# : len= 9 : NO 00 D3 + 1382 52 4 = O_O_O@O_# : len= 9 : D4 00 D4 + 1383 52 5 = O_O_O@_O# : len= 9 : NO 00 D3 + 1384 52 6 = O_O_O@OO# : len= 9 : NO 00 D4 + 1385 52 7 = O_O_O@___# : len=10 : NO 00 D3 + 1386 52 8 = O_O_O@O__# : len=10 : D4 00 D4 + 1387 52 9 = O_O_O@_O_# : len=10 : NO 00 D3 + 1388 52 10 = O_O_O@OO_# : len=10 : S4 00 H4 + 1389 52 11 = O_O_O@__O# : len=10 : NO 00 D3 + 1390 52 12 = O_O_O@O_O# : len=10 : X4 00 X4 + 1391 52 13 = O_O_O@_OO# : len=10 : D4 00 D4 + 1392 52 14 = O_O_O@OOO# : len=10 : L5 00 L5 + 1393 52 15 = O_O_O@____# : len=11 : NO 00 D3 + 1394 52 16 = O_O_O@O___# : len=11 : D4 00 D4 + 1395 52 17 = O_O_O@_O__# : len=11 : NO 00 D3 + 1396 52 18 = O_O_O@OO__# : len=11 : S4 00 H4 + 1397 52 19 = O_O_O@__O_# : len=11 : NO 00 D3 + 1398 52 20 = O_O_O@O_O_# : len=11 : X4 00 X4 + 1399 52 21 = O_O_O@_OO_# : len=11 : D4 00 D4 + 1400 52 22 = O_O_O@OOO_# : len=11 : L5 00 L5 + 1401 52 23 = O_O_O@___O# : len=11 : NO 00 D3 + 1402 52 24 = O_O_O@O__O# : len=11 : D4 00 D4 + 1403 52 25 = O_O_O@_O_O# : len=11 : NO 00 D3 + 1404 52 26 = O_O_O@OO_O# : len=11 : NO 00 H4 + 1405 52 27 = O_O_O@__OO# : len=11 : NO 00 D3 + 1406 52 28 = O_O_O@O_OO# : len=11 : D4 00 X4 + 1407 52 29 = O_O_O@_OOO# : len=11 : NO 00 D4 + 1408 52 30 = O_O_O@OOOO# : len=11 : L6 00 L6 + 1409 52 31 = O_O_O@_____ : len=11 : NO 00 D3 + 1410 52 32 = O_O_O@O____ : len=11 : D4 00 D4 + 1411 52 33 = O_O_O@_O___ : len=11 : NO 00 D3 + 1412 52 34 = O_O_O@OO___ : len=11 : S4 00 H4 + 1413 52 35 = O_O_O@__O__ : len=11 : NO 00 D3 + 1414 52 36 = O_O_O@O_O__ : len=11 : X4 00 X4 + 1415 52 37 = O_O_O@_OO__ : len=11 : D4 00 D4 + 1416 52 38 = O_O_O@OOO__ : len=11 : L5 00 L5 + 1417 52 39 = O_O_O@___O_ : len=11 : NO 00 D3 + 1418 52 40 = O_O_O@O__O_ : len=11 : D4 00 D4 + 1419 52 41 = O_O_O@_O_O_ : len=11 : NO 00 D3 + 1420 52 42 = O_O_O@OO_O_ : len=11 : NO 00 H4 + 1421 52 43 = O_O_O@__OO_ : len=11 : NO 00 D3 + 1422 52 44 = O_O_O@O_OO_ : len=11 : D4 00 X4 + 1423 52 45 = O_O_O@_OOO_ : len=11 : NO 00 D4 + 1424 52 46 = O_O_O@OOOO_ : len=11 : L6 00 L6 + 1425 52 47 = O_O_O@____O : len=11 : NO 00 D3 + 1426 52 48 = O_O_O@O___O : len=11 : D4 00 D4 + 1427 52 49 = O_O_O@_O__O : len=11 : NO 00 D3 + 1428 52 50 = O_O_O@OO__O : len=11 : S4 00 H4 + 1429 52 51 = O_O_O@__O_O : len=11 : NO 00 D3 + 1430 52 52 = O_O_O@O_O_O : len=11 : X4 00 X4 + 1431 53 0 = O_OO_@# : len= 7 : NO 00 NO + 1432 53 1 = O_OO_@_# : len= 8 : NO 00 D3 + 1433 53 2 = O_OO_@O# : len= 8 : D4 00 D4 + 1434 53 3 = O_OO_@__# : len= 9 : NO 00 D3 + 1435 53 4 = O_OO_@O_# : len= 9 : D4 00 D4 + 1436 53 5 = O_OO_@_O# : len= 9 : NO 00 D3 + 1437 53 6 = O_OO_@OO# : len= 9 : NO 00 D4 + 1438 53 7 = O_OO_@___# : len=10 : NO 00 D3 + 1439 53 8 = O_OO_@O__# : len=10 : D4 00 D4 + 1440 53 9 = O_OO_@_O_# : len=10 : NO 00 D3 + 1441 53 10 = O_OO_@OO_# : len=10 : NO 00 D4 + 1442 53 11 = O_OO_@__O# : len=10 : NO 00 D3 + 1443 53 12 = O_OO_@O_O# : len=10 : D4 00 D4 + 1444 53 13 = O_OO_@_OO# : len=10 : NO 00 D3 + 1445 53 14 = O_OO_@OOO# : len=10 : NO 00 D4 + 1446 53 15 = O_OO_@____# : len=11 : NO 00 D3 + 1447 53 16 = O_OO_@O___# : len=11 : D4 00 D4 + 1448 53 17 = O_OO_@_O__# : len=11 : NO 00 D3 + 1449 53 18 = O_OO_@OO__# : len=11 : NO 00 D4 + 1450 53 19 = O_OO_@__O_# : len=11 : NO 00 D3 + 1451 53 20 = O_OO_@O_O_# : len=11 : D4 00 D4 + 1452 53 21 = O_OO_@_OO_# : len=11 : NO 00 D3 + 1453 53 22 = O_OO_@OOO_# : len=11 : S4 00 H4 + 1454 53 23 = O_OO_@___O# : len=11 : NO 00 D3 + 1455 53 24 = O_OO_@O__O# : len=11 : D4 00 D4 + 1456 53 25 = O_OO_@_O_O# : len=11 : NO 00 D3 + 1457 53 26 = O_OO_@OO_O# : len=11 : D4 00 X4 + 1458 53 27 = O_OO_@__OO# : len=11 : NO 00 D3 + 1459 53 28 = O_OO_@O_OO# : len=11 : X4 00 X4 + 1460 53 29 = O_OO_@_OOO# : len=11 : D4 00 D4 + 1461 53 30 = O_OO_@OOOO# : len=11 : L5 00 L5 + 1462 53 31 = O_OO_@_____ : len=11 : NO 00 D3 + 1463 53 32 = O_OO_@O____ : len=11 : D4 00 D4 + 1464 53 33 = O_OO_@_O___ : len=11 : NO 00 D3 + 1465 53 34 = O_OO_@OO___ : len=11 : NO 00 D4 + 1466 53 35 = O_OO_@__O__ : len=11 : NO 00 D3 + 1467 53 36 = O_OO_@O_O__ : len=11 : D4 00 D4 + 1468 53 37 = O_OO_@_OO__ : len=11 : NO 00 D3 + 1469 53 38 = O_OO_@OOO__ : len=11 : S4 00 H4 + 1470 53 39 = O_OO_@___O_ : len=11 : NO 00 D3 + 1471 53 40 = O_OO_@O__O_ : len=11 : D4 00 D4 + 1472 53 41 = O_OO_@_O_O_ : len=11 : NO 00 D3 + 1473 53 42 = O_OO_@OO_O_ : len=11 : D4 00 X4 + 1474 53 43 = O_OO_@__OO_ : len=11 : NO 00 D3 + 1475 53 44 = O_OO_@O_OO_ : len=11 : X4 00 X4 + 1476 53 45 = O_OO_@_OOO_ : len=11 : D4 00 D4 + 1477 53 46 = O_OO_@OOOO_ : len=11 : L5 00 L5 + 1478 53 47 = O_OO_@____O : len=11 : NO 00 D3 + 1479 53 48 = O_OO_@O___O : len=11 : D4 00 D4 + 1480 53 49 = O_OO_@_O__O : len=11 : NO 00 D3 + 1481 53 50 = O_OO_@OO__O : len=11 : NO 00 D4 + 1482 53 51 = O_OO_@__O_O : len=11 : NO 00 D3 + 1483 53 52 = O_OO_@O_O_O : len=11 : D4 00 D4 + 1484 53 53 = O_OO_@_OO_O : len=11 : NO 00 D3 + 1485 54 0 = O_OOO@# : len= 7 : NO 00 D4 + 1486 54 1 = O_OOO@_# : len= 8 : S4 00 H4 + 1487 54 2 = O_OOO@O# : len= 8 : L5 00 L5 + 1488 54 3 = O_OOO@__# : len= 9 : S4 00 H4 + 1489 54 4 = O_OOO@O_# : len= 9 : L5 00 L5 + 1490 54 5 = O_OOO@_O# : len= 9 : NO 00 H4 + 1491 54 6 = O_OOO@OO# : len= 9 : L6 00 L6 + 1492 54 7 = O_OOO@___# : len=10 : S4 00 H4 + 1493 54 8 = O_OOO@O__# : len=10 : L5 00 L5 + 1494 54 9 = O_OOO@_O_# : len=10 : NO 00 H4 + 1495 54 10 = O_OOO@OO_# : len=10 : L6 00 L6 + 1496 54 11 = O_OOO@__O# : len=10 : S4 00 H4 + 1497 54 12 = O_OOO@O_O# : len=10 : L5 00 L5 + 1498 54 13 = O_OOO@_OO# : len=10 : NO 00 H4 + 1499 54 14 = O_OOO@OOO# : len=10 : L6 00 L6 + 1500 54 15 = O_OOO@____# : len=11 : S4 00 H4 + 1501 54 16 = O_OOO@O___# : len=11 : L5 00 L5 + 1502 54 17 = O_OOO@_O__# : len=11 : NO 00 H4 + 1503 54 18 = O_OOO@OO__# : len=11 : L6 00 L6 + 1504 54 19 = O_OOO@__O_# : len=11 : S4 00 H4 + 1505 54 20 = O_OOO@O_O_# : len=11 : L5 00 L5 + 1506 54 21 = O_OOO@_OO_# : len=11 : NO 00 H4 + 1507 54 22 = O_OOO@OOO_# : len=11 : L6 00 L6 + 1508 54 23 = O_OOO@___O# : len=11 : S4 00 H4 + 1509 54 24 = O_OOO@O__O# : len=11 : L5 00 L5 + 1510 54 25 = O_OOO@_O_O# : len=11 : NO 00 H4 + 1511 54 26 = O_OOO@OO_O# : len=11 : L6 00 L6 + 1512 54 27 = O_OOO@__OO# : len=11 : S4 00 H4 + 1513 54 28 = O_OOO@O_OO# : len=11 : L5 00 L5 + 1514 54 29 = O_OOO@_OOO# : len=11 : NO 00 H4 + 1515 54 30 = O_OOO@OOOO# : len=11 : L6 00 L6 + 1516 54 31 = O_OOO@_____ : len=11 : S4 00 H4 + 1517 54 32 = O_OOO@O____ : len=11 : L5 00 L5 + 1518 54 33 = O_OOO@_O___ : len=11 : NO 00 H4 + 1519 54 34 = O_OOO@OO___ : len=11 : L6 00 L6 + 1520 54 35 = O_OOO@__O__ : len=11 : S4 00 H4 + 1521 54 36 = O_OOO@O_O__ : len=11 : L5 00 L5 + 1522 54 37 = O_OOO@_OO__ : len=11 : NO 00 H4 + 1523 54 38 = O_OOO@OOO__ : len=11 : L6 00 L6 + 1524 54 39 = O_OOO@___O_ : len=11 : S4 00 H4 + 1525 54 40 = O_OOO@O__O_ : len=11 : L5 00 L5 + 1526 54 41 = O_OOO@_O_O_ : len=11 : NO 00 H4 + 1527 54 42 = O_OOO@OO_O_ : len=11 : L6 00 L6 + 1528 54 43 = O_OOO@__OO_ : len=11 : S4 00 H4 + 1529 54 44 = O_OOO@O_OO_ : len=11 : L5 00 L5 + 1530 54 45 = O_OOO@_OOO_ : len=11 : NO 00 H4 + 1531 54 46 = O_OOO@OOOO_ : len=11 : L6 00 L6 + 1532 54 47 = O_OOO@____O : len=11 : S4 00 H4 + 1533 54 48 = O_OOO@O___O : len=11 : L5 00 L5 + 1534 54 49 = O_OOO@_O__O : len=11 : NO 00 H4 + 1535 54 50 = O_OOO@OO__O : len=11 : L6 00 L6 + 1536 54 51 = O_OOO@__O_O : len=11 : S4 00 H4 + 1537 54 52 = O_OOO@O_O_O : len=11 : L5 00 L5 + 1538 54 53 = O_OOO@_OO_O : len=11 : NO 00 H4 + 1539 54 54 = O_OOO@OOO_O : len=11 : L6 00 L6 + 1540 55 0 = OO___@# : len= 7 : NO 00 NO + 1541 55 1 = OO___@_# : len= 8 : NO 00 NO + 1542 55 2 = OO___@O# : len= 8 : NO 00 NO + 1543 55 3 = OO___@__# : len= 9 : NO 00 NO + 1544 55 4 = OO___@O_# : len= 9 : NO 00 NO + 1545 55 5 = OO___@_O# : len= 9 : NO 00 NO + 1546 55 6 = OO___@OO# : len= 9 : NO 00 NO + 1547 55 7 = OO___@___# : len=10 : NO 00 NO + 1548 55 8 = OO___@O__# : len=10 : NO 00 NO + 1549 55 9 = OO___@_O_# : len=10 : NO 00 NO + 1550 55 10 = OO___@OO_# : len=10 : H3 13 H3 + 1551 55 11 = OO___@__O# : len=10 : NO 00 NO + 1552 55 12 = OO___@O_O# : len=10 : NO 00 NO + 1553 55 13 = OO___@_OO# : len=10 : NO 00 NO + 1554 55 14 = OO___@OOO# : len=10 : S4 00 S4 + 1555 55 15 = OO___@____# : len=11 : NO 00 NO + 1556 55 16 = OO___@O___# : len=11 : NO 00 NO + 1557 55 17 = OO___@_O__# : len=11 : NO 00 NO + 1558 55 18 = OO___@OO__# : len=11 : H3 13 H3 + 1559 55 19 = OO___@__O_# : len=11 : NO 00 NO + 1560 55 20 = OO___@O_O_# : len=11 : D3 02 D3 + 1561 55 21 = OO___@_OO_# : len=11 : D3 01 D3 + 1562 55 22 = OO___@OOO_# : len=11 : H4 00 H4 + 1563 55 23 = OO___@___O# : len=11 : NO 00 NO + 1564 55 24 = OO___@O__O# : len=11 : NO 00 NO + 1565 55 25 = OO___@_O_O# : len=11 : NO 00 NO + 1566 55 26 = OO___@OO_O# : len=11 : D4 00 D4 + 1567 55 27 = OO___@__OO# : len=11 : NO 00 NO + 1568 55 28 = OO___@O_OO# : len=11 : D4 00 D4 + 1569 55 29 = OO___@_OOO# : len=11 : D4 00 D4 + 1570 55 30 = OO___@OOOO# : len=11 : L5 00 L5 + 1571 55 31 = OO___@_____ : len=11 : NO 00 NO + 1572 55 32 = OO___@O____ : len=11 : NO 00 NO + 1573 55 33 = OO___@_O___ : len=11 : NO 00 NO + 1574 55 34 = OO___@OO___ : len=11 : H3 13 H3 + 1575 55 35 = OO___@__O__ : len=11 : NO 00 NO + 1576 55 36 = OO___@O_O__ : len=11 : D3 02 D3 + 1577 55 37 = OO___@_OO__ : len=11 : D3 01 D3 + 1578 55 38 = OO___@OOO__ : len=11 : H4 00 H4 + 1579 55 39 = OO___@___O_ : len=11 : NO 00 NO + 1580 55 40 = OO___@O__O_ : len=11 : NO 00 NO + 1581 55 41 = OO___@_O_O_ : len=11 : NO 00 NO + 1582 55 42 = OO___@OO_O_ : len=11 : D4 00 D4 + 1583 55 43 = OO___@__OO_ : len=11 : NO 00 NO + 1584 55 44 = OO___@O_OO_ : len=11 : D4 00 D4 + 1585 55 45 = OO___@_OOO_ : len=11 : D4 00 D4 + 1586 55 46 = OO___@OOOO_ : len=11 : L5 00 L5 + 1587 55 47 = OO___@____O : len=11 : NO 00 NO + 1588 55 48 = OO___@O___O : len=11 : NO 00 NO + 1589 55 49 = OO___@_O__O : len=11 : NO 00 NO + 1590 55 50 = OO___@OO__O : len=11 : H3 13 H3 + 1591 55 51 = OO___@__O_O : len=11 : NO 00 NO + 1592 55 52 = OO___@O_O_O : len=11 : NO 00 D3 + 1593 55 53 = OO___@_OO_O : len=11 : NO 00 D3 + 1594 55 54 = OO___@OOO_O : len=11 : S4 00 H4 + 1595 55 55 = OO___@___OO : len=11 : NO 00 NO + 1596 56 0 = OO__O@# : len= 7 : NO 00 NO + 1597 56 1 = OO__O@_# : len= 8 : NO 00 NO + 1598 56 2 = OO__O@O# : len= 8 : NO 00 NO + 1599 56 3 = OO__O@__# : len= 9 : NO 00 NO + 1600 56 4 = OO__O@O_# : len= 9 : NO 00 H3 + 1601 56 5 = OO__O@_O# : len= 9 : NO 00 NO + 1602 56 6 = OO__O@OO# : len= 9 : S4 00 S4 + 1603 56 7 = OO__O@___# : len=10 : NO 00 NO + 1604 56 8 = OO__O@O__# : len=10 : H3 22 H3 + 1605 56 9 = OO__O@_O_# : len=10 : D3 01 D3 + 1606 56 10 = OO__O@OO_# : len=10 : H4 00 H4 + 1607 56 11 = OO__O@__O# : len=10 : NO 00 NO + 1608 56 12 = OO__O@O_O# : len=10 : D4 00 D4 + 1609 56 13 = OO__O@_OO# : len=10 : D4 00 D4 + 1610 56 14 = OO__O@OOO# : len=10 : L5 00 L5 + 1611 56 15 = OO__O@____# : len=11 : NO 00 NO + 1612 56 16 = OO__O@O___# : len=11 : H3 22 H3 + 1613 56 17 = OO__O@_O__# : len=11 : D3 01 D3 + 1614 56 18 = OO__O@OO__# : len=11 : H4 00 H4 + 1615 56 19 = OO__O@__O_# : len=11 : NO 00 NO + 1616 56 20 = OO__O@O_O_# : len=11 : D4 00 D4 + 1617 56 21 = OO__O@_OO_# : len=11 : D4 00 D4 + 1618 56 22 = OO__O@OOO_# : len=11 : L5 00 L5 + 1619 56 23 = OO__O@___O# : len=11 : NO 00 NO + 1620 56 24 = OO__O@O__O# : len=11 : NO 00 H3 + 1621 56 25 = OO__O@_O_O# : len=11 : NO 00 D3 + 1622 56 26 = OO__O@OO_O# : len=11 : S4 00 H4 + 1623 56 27 = OO__O@__OO# : len=11 : NO 00 NO + 1624 56 28 = OO__O@O_OO# : len=11 : NO 00 D4 + 1625 56 29 = OO__O@_OOO# : len=11 : NO 00 D4 + 1626 56 30 = OO__O@OOOO# : len=11 : L6 00 L6 + 1627 56 31 = OO__O@_____ : len=11 : NO 00 NO + 1628 56 32 = OO__O@O____ : len=11 : H3 22 H3 + 1629 56 33 = OO__O@_O___ : len=11 : D3 01 D3 + 1630 56 34 = OO__O@OO___ : len=11 : H4 00 H4 + 1631 56 35 = OO__O@__O__ : len=11 : NO 00 NO + 1632 56 36 = OO__O@O_O__ : len=11 : D4 00 D4 + 1633 56 37 = OO__O@_OO__ : len=11 : D4 00 D4 + 1634 56 38 = OO__O@OOO__ : len=11 : L5 00 L5 + 1635 56 39 = OO__O@___O_ : len=11 : NO 00 NO + 1636 56 40 = OO__O@O__O_ : len=11 : NO 00 H3 + 1637 56 41 = OO__O@_O_O_ : len=11 : NO 00 D3 + 1638 56 42 = OO__O@OO_O_ : len=11 : S4 00 H4 + 1639 56 43 = OO__O@__OO_ : len=11 : NO 00 NO + 1640 56 44 = OO__O@O_OO_ : len=11 : NO 00 D4 + 1641 56 45 = OO__O@_OOO_ : len=11 : NO 00 D4 + 1642 56 46 = OO__O@OOOO_ : len=11 : L6 00 L6 + 1643 56 47 = OO__O@____O : len=11 : NO 00 NO + 1644 56 48 = OO__O@O___O : len=11 : H3 22 H3 + 1645 56 49 = OO__O@_O__O : len=11 : D3 01 D3 + 1646 56 50 = OO__O@OO__O : len=11 : H4 00 H4 + 1647 56 51 = OO__O@__O_O : len=11 : NO 00 NO + 1648 56 52 = OO__O@O_O_O : len=11 : D4 00 D4 + 1649 56 53 = OO__O@_OO_O : len=11 : D4 00 D4 + 1650 56 54 = OO__O@OOO_O : len=11 : L5 00 L5 + 1651 56 55 = OO__O@___OO : len=11 : NO 00 NO + 1652 56 56 = OO__O@O__OO : len=11 : NO 00 H3 + 1653 57 0 = OO_O_@# : len= 7 : NO 00 NO + 1654 57 1 = OO_O_@_# : len= 8 : NO 00 NO + 1655 57 2 = OO_O_@O# : len= 8 : NO 00 NO + 1656 57 3 = OO_O_@__# : len= 9 : NO 00 NO + 1657 57 4 = OO_O_@O_# : len= 9 : NO 00 D3 + 1658 57 5 = OO_O_@_O# : len= 9 : NO 00 NO + 1659 57 6 = OO_O_@OO# : len= 9 : D4 00 D4 + 1660 57 7 = OO_O_@___# : len=10 : NO 00 NO + 1661 57 8 = OO_O_@O__# : len=10 : NO 00 D3 + 1662 57 9 = OO_O_@_O_# : len=10 : NO 00 NO + 1663 57 10 = OO_O_@OO_# : len=10 : D4 00 D4 + 1664 57 11 = OO_O_@__O# : len=10 : NO 00 NO + 1665 57 12 = OO_O_@O_O# : len=10 : NO 00 D3 + 1666 57 13 = OO_O_@_OO# : len=10 : NO 00 NO + 1667 57 14 = OO_O_@OOO# : len=10 : NO 00 D4 + 1668 57 15 = OO_O_@____# : len=11 : NO 00 NO + 1669 57 16 = OO_O_@O___# : len=11 : NO 00 D3 + 1670 57 17 = OO_O_@_O__# : len=11 : NO 00 NO + 1671 57 18 = OO_O_@OO__# : len=11 : D4 00 D4 + 1672 57 19 = OO_O_@__O_# : len=11 : NO 00 NO + 1673 57 20 = OO_O_@O_O_# : len=11 : NO 00 D3 + 1674 57 21 = OO_O_@_OO_# : len=11 : NO 00 D3 + 1675 57 22 = OO_O_@OOO_# : len=11 : S4 00 H4 + 1676 57 23 = OO_O_@___O# : len=11 : NO 00 NO + 1677 57 24 = OO_O_@O__O# : len=11 : NO 00 D3 + 1678 57 25 = OO_O_@_O_O# : len=11 : NO 00 NO + 1679 57 26 = OO_O_@OO_O# : len=11 : X4 00 X4 + 1680 57 27 = OO_O_@__OO# : len=11 : NO 00 NO + 1681 57 28 = OO_O_@O_OO# : len=11 : D4 00 D4 + 1682 57 29 = OO_O_@_OOO# : len=11 : D4 00 D4 + 1683 57 30 = OO_O_@OOOO# : len=11 : L5 00 L5 + 1684 57 31 = OO_O_@_____ : len=11 : NO 00 NO + 1685 57 32 = OO_O_@O____ : len=11 : NO 00 D3 + 1686 57 33 = OO_O_@_O___ : len=11 : NO 00 NO + 1687 57 34 = OO_O_@OO___ : len=11 : D4 00 D4 + 1688 57 35 = OO_O_@__O__ : len=11 : NO 00 NO + 1689 57 36 = OO_O_@O_O__ : len=11 : NO 00 D3 + 1690 57 37 = OO_O_@_OO__ : len=11 : NO 00 D3 + 1691 57 38 = OO_O_@OOO__ : len=11 : S4 00 H4 + 1692 57 39 = OO_O_@___O_ : len=11 : NO 00 NO + 1693 57 40 = OO_O_@O__O_ : len=11 : NO 00 D3 + 1694 57 41 = OO_O_@_O_O_ : len=11 : NO 00 NO + 1695 57 42 = OO_O_@OO_O_ : len=11 : X4 00 X4 + 1696 57 43 = OO_O_@__OO_ : len=11 : NO 00 NO + 1697 57 44 = OO_O_@O_OO_ : len=11 : D4 00 D4 + 1698 57 45 = OO_O_@_OOO_ : len=11 : D4 00 D4 + 1699 57 46 = OO_O_@OOOO_ : len=11 : L5 00 L5 + 1700 57 47 = OO_O_@____O : len=11 : NO 00 NO + 1701 57 48 = OO_O_@O___O : len=11 : NO 00 D3 + 1702 57 49 = OO_O_@_O__O : len=11 : NO 00 NO + 1703 57 50 = OO_O_@OO__O : len=11 : D4 00 D4 + 1704 57 51 = OO_O_@__O_O : len=11 : NO 00 NO + 1705 57 52 = OO_O_@O_O_O : len=11 : NO 00 D3 + 1706 57 53 = OO_O_@_OO_O : len=11 : NO 00 D3 + 1707 57 54 = OO_O_@OOO_O : len=11 : NO 00 H4 + 1708 57 55 = OO_O_@___OO : len=11 : NO 00 NO + 1709 57 56 = OO_O_@O__OO : len=11 : NO 00 D3 + 1710 57 57 = OO_O_@_O_OO : len=11 : NO 00 NO + 1711 58 0 = OO_OO@# : len= 7 : NO 00 D4 + 1712 58 1 = OO_OO@_# : len= 8 : NO 00 D4 + 1713 58 2 = OO_OO@O# : len= 8 : NO 00 D4 + 1714 58 3 = OO_OO@__# : len= 9 : NO 00 D4 + 1715 58 4 = OO_OO@O_# : len= 9 : S4 00 H4 + 1716 58 5 = OO_OO@_O# : len= 9 : D4 00 X4 + 1717 58 6 = OO_OO@OO# : len= 9 : L5 00 L5 + 1718 58 7 = OO_OO@___# : len=10 : NO 00 D4 + 1719 58 8 = OO_OO@O__# : len=10 : S4 00 H4 + 1720 58 9 = OO_OO@_O_# : len=10 : D4 00 X4 + 1721 58 10 = OO_OO@OO_# : len=10 : L5 00 L5 + 1722 58 11 = OO_OO@__O# : len=10 : NO 00 D4 + 1723 58 12 = OO_OO@O_O# : len=10 : NO 00 H4 + 1724 58 13 = OO_OO@_OO# : len=10 : NO 00 X4 + 1725 58 14 = OO_OO@OOO# : len=10 : L6 00 L6 + 1726 58 15 = OO_OO@____# : len=11 : NO 00 D4 + 1727 58 16 = OO_OO@O___# : len=11 : S4 00 H4 + 1728 58 17 = OO_OO@_O__# : len=11 : D4 00 X4 + 1729 58 18 = OO_OO@OO__# : len=11 : L5 00 L5 + 1730 58 19 = OO_OO@__O_# : len=11 : NO 00 D4 + 1731 58 20 = OO_OO@O_O_# : len=11 : NO 00 H4 + 1732 58 21 = OO_OO@_OO_# : len=11 : NO 00 X4 + 1733 58 22 = OO_OO@OOO_# : len=11 : L6 00 L6 + 1734 58 23 = OO_OO@___O# : len=11 : NO 00 D4 + 1735 58 24 = OO_OO@O__O# : len=11 : S4 00 H4 + 1736 58 25 = OO_OO@_O_O# : len=11 : D4 00 X4 + 1737 58 26 = OO_OO@OO_O# : len=11 : L5 00 L5 + 1738 58 27 = OO_OO@__OO# : len=11 : NO 00 D4 + 1739 58 28 = OO_OO@O_OO# : len=11 : NO 00 H4 + 1740 58 29 = OO_OO@_OOO# : len=11 : NO 00 X4 + 1741 58 30 = OO_OO@OOOO# : len=11 : L6 00 L6 + 1742 58 31 = OO_OO@_____ : len=11 : NO 00 D4 + 1743 58 32 = OO_OO@O____ : len=11 : S4 00 H4 + 1744 58 33 = OO_OO@_O___ : len=11 : D4 00 X4 + 1745 58 34 = OO_OO@OO___ : len=11 : L5 00 L5 + 1746 58 35 = OO_OO@__O__ : len=11 : NO 00 D4 + 1747 58 36 = OO_OO@O_O__ : len=11 : NO 00 H4 + 1748 58 37 = OO_OO@_OO__ : len=11 : NO 00 X4 + 1749 58 38 = OO_OO@OOO__ : len=11 : L6 00 L6 + 1750 58 39 = OO_OO@___O_ : len=11 : NO 00 D4 + 1751 58 40 = OO_OO@O__O_ : len=11 : S4 00 H4 + 1752 58 41 = OO_OO@_O_O_ : len=11 : D4 00 X4 + 1753 58 42 = OO_OO@OO_O_ : len=11 : L5 00 L5 + 1754 58 43 = OO_OO@__OO_ : len=11 : NO 00 D4 + 1755 58 44 = OO_OO@O_OO_ : len=11 : NO 00 H4 + 1756 58 45 = OO_OO@_OOO_ : len=11 : NO 00 X4 + 1757 58 46 = OO_OO@OOOO_ : len=11 : L6 00 L6 + 1758 58 47 = OO_OO@____O : len=11 : NO 00 D4 + 1759 58 48 = OO_OO@O___O : len=11 : S4 00 H4 + 1760 58 49 = OO_OO@_O__O : len=11 : D4 00 X4 + 1761 58 50 = OO_OO@OO__O : len=11 : L5 00 L5 + 1762 58 51 = OO_OO@__O_O : len=11 : NO 00 D4 + 1763 58 52 = OO_OO@O_O_O : len=11 : NO 00 H4 + 1764 58 53 = OO_OO@_OO_O : len=11 : NO 00 X4 + 1765 58 54 = OO_OO@OOO_O : len=11 : L6 00 L6 + 1766 58 55 = OO_OO@___OO : len=11 : NO 00 D4 + 1767 58 56 = OO_OO@O__OO : len=11 : S4 00 H4 + 1768 58 57 = OO_OO@_O_OO : len=11 : D4 00 X4 + 1769 58 58 = OO_OO@OO_OO : len=11 : L5 00 L5 + 1770 59 0 = OOO__@# : len= 7 : NO 00 NO + 1771 59 1 = OOO__@_# : len= 8 : NO 00 NO + 1772 59 2 = OOO__@O# : len= 8 : NO 00 NO + 1773 59 3 = OOO__@__# : len= 9 : NO 00 NO + 1774 59 4 = OOO__@O_# : len= 9 : NO 00 NO + 1775 59 5 = OOO__@_O# : len= 9 : NO 00 NO + 1776 59 6 = OOO__@OO# : len= 9 : NO 00 NO + 1777 59 7 = OOO__@___# : len=10 : NO 00 NO + 1778 59 8 = OOO__@O__# : len=10 : NO 00 NO + 1779 59 9 = OOO__@_O_# : len=10 : NO 00 NO + 1780 59 10 = OOO__@OO_# : len=10 : NO 00 H3 + 1781 59 11 = OOO__@__O# : len=10 : NO 00 NO + 1782 59 12 = OOO__@O_O# : len=10 : NO 00 NO + 1783 59 13 = OOO__@_OO# : len=10 : NO 00 NO + 1784 59 14 = OOO__@OOO# : len=10 : S4 00 S4 + 1785 59 15 = OOO__@____# : len=11 : NO 00 NO + 1786 59 16 = OOO__@O___# : len=11 : NO 00 NO + 1787 59 17 = OOO__@_O__# : len=11 : NO 00 NO + 1788 59 18 = OOO__@OO__# : len=11 : H3 13 H3 + 1789 59 19 = OOO__@__O_# : len=11 : NO 00 NO + 1790 59 20 = OOO__@O_O_# : len=11 : D3 02 D3 + 1791 59 21 = OOO__@_OO_# : len=11 : D3 01 D3 + 1792 59 22 = OOO__@OOO_# : len=11 : H4 00 H4 + 1793 59 23 = OOO__@___O# : len=11 : NO 00 NO + 1794 59 24 = OOO__@O__O# : len=11 : NO 00 NO + 1795 59 25 = OOO__@_O_O# : len=11 : NO 00 NO + 1796 59 26 = OOO__@OO_O# : len=11 : D4 00 D4 + 1797 59 27 = OOO__@__OO# : len=11 : NO 00 NO + 1798 59 28 = OOO__@O_OO# : len=11 : D4 00 D4 + 1799 59 29 = OOO__@_OOO# : len=11 : D4 00 D4 + 1800 59 30 = OOO__@OOOO# : len=11 : L5 00 L5 + 1801 59 31 = OOO__@_____ : len=11 : NO 00 NO + 1802 59 32 = OOO__@O____ : len=11 : NO 00 NO + 1803 59 33 = OOO__@_O___ : len=11 : NO 00 NO + 1804 59 34 = OOO__@OO___ : len=11 : H3 13 H3 + 1805 59 35 = OOO__@__O__ : len=11 : NO 00 NO + 1806 59 36 = OOO__@O_O__ : len=11 : D3 02 D3 + 1807 59 37 = OOO__@_OO__ : len=11 : D3 01 D3 + 1808 59 38 = OOO__@OOO__ : len=11 : H4 00 H4 + 1809 59 39 = OOO__@___O_ : len=11 : NO 00 NO + 1810 59 40 = OOO__@O__O_ : len=11 : NO 00 NO + 1811 59 41 = OOO__@_O_O_ : len=11 : NO 00 NO + 1812 59 42 = OOO__@OO_O_ : len=11 : D4 00 D4 + 1813 59 43 = OOO__@__OO_ : len=11 : NO 00 NO + 1814 59 44 = OOO__@O_OO_ : len=11 : D4 00 D4 + 1815 59 45 = OOO__@_OOO_ : len=11 : D4 00 D4 + 1816 59 46 = OOO__@OOOO_ : len=11 : L5 00 L5 + 1817 59 47 = OOO__@____O : len=11 : NO 00 NO + 1818 59 48 = OOO__@O___O : len=11 : NO 00 NO + 1819 59 49 = OOO__@_O__O : len=11 : NO 00 NO + 1820 59 50 = OOO__@OO__O : len=11 : NO 00 H3 + 1821 59 51 = OOO__@__O_O : len=11 : NO 00 NO + 1822 59 52 = OOO__@O_O_O : len=11 : NO 00 D3 + 1823 59 53 = OOO__@_OO_O : len=11 : NO 00 D3 + 1824 59 54 = OOO__@OOO_O : len=11 : S4 00 H4 + 1825 59 55 = OOO__@___OO : len=11 : NO 00 NO + 1826 59 56 = OOO__@O__OO : len=11 : NO 00 NO + 1827 59 57 = OOO__@_O_OO : len=11 : NO 00 NO + 1828 59 58 = OOO__@OO_OO : len=11 : NO 00 D4 + 1829 59 59 = OOO__@__OOO : len=11 : NO 00 NO + 1830 60 0 = OOO_O@# : len= 7 : NO 00 D4 + 1831 60 1 = OOO_O@_# : len= 8 : NO 00 D4 + 1832 60 2 = OOO_O@O# : len= 8 : NO 00 D4 + 1833 60 3 = OOO_O@__# : len= 9 : NO 00 D4 + 1834 60 4 = OOO_O@O_# : len= 9 : NO 00 D4 + 1835 60 5 = OOO_O@_O# : len= 9 : NO 00 D4 + 1836 60 6 = OOO_O@OO# : len= 9 : NO 00 D4 + 1837 60 7 = OOO_O@___# : len=10 : NO 00 D4 + 1838 60 8 = OOO_O@O__# : len=10 : NO 00 D4 + 1839 60 9 = OOO_O@_O_# : len=10 : NO 00 D4 + 1840 60 10 = OOO_O@OO_# : len=10 : S4 00 H4 + 1841 60 11 = OOO_O@__O# : len=10 : NO 00 D4 + 1842 60 12 = OOO_O@O_O# : len=10 : D4 00 X4 + 1843 60 13 = OOO_O@_OO# : len=10 : D4 00 X4 + 1844 60 14 = OOO_O@OOO# : len=10 : L5 00 L5 + 1845 60 15 = OOO_O@____# : len=11 : NO 00 D4 + 1846 60 16 = OOO_O@O___# : len=11 : NO 00 D4 + 1847 60 17 = OOO_O@_O__# : len=11 : NO 00 D4 + 1848 60 18 = OOO_O@OO__# : len=11 : S4 00 H4 + 1849 60 19 = OOO_O@__O_# : len=11 : NO 00 D4 + 1850 60 20 = OOO_O@O_O_# : len=11 : D4 00 X4 + 1851 60 21 = OOO_O@_OO_# : len=11 : D4 00 X4 + 1852 60 22 = OOO_O@OOO_# : len=11 : L5 00 L5 + 1853 60 23 = OOO_O@___O# : len=11 : NO 00 D4 + 1854 60 24 = OOO_O@O__O# : len=11 : NO 00 D4 + 1855 60 25 = OOO_O@_O_O# : len=11 : NO 00 D4 + 1856 60 26 = OOO_O@OO_O# : len=11 : NO 00 H4 + 1857 60 27 = OOO_O@__OO# : len=11 : NO 00 D4 + 1858 60 28 = OOO_O@O_OO# : len=11 : NO 00 X4 + 1859 60 29 = OOO_O@_OOO# : len=11 : NO 00 X4 + 1860 60 30 = OOO_O@OOOO# : len=11 : L6 00 L6 + 1861 60 31 = OOO_O@_____ : len=11 : NO 00 D4 + 1862 60 32 = OOO_O@O____ : len=11 : NO 00 D4 + 1863 60 33 = OOO_O@_O___ : len=11 : NO 00 D4 + 1864 60 34 = OOO_O@OO___ : len=11 : S4 00 H4 + 1865 60 35 = OOO_O@__O__ : len=11 : NO 00 D4 + 1866 60 36 = OOO_O@O_O__ : len=11 : D4 00 X4 + 1867 60 37 = OOO_O@_OO__ : len=11 : D4 00 X4 + 1868 60 38 = OOO_O@OOO__ : len=11 : L5 00 L5 + 1869 60 39 = OOO_O@___O_ : len=11 : NO 00 D4 + 1870 60 40 = OOO_O@O__O_ : len=11 : NO 00 D4 + 1871 60 41 = OOO_O@_O_O_ : len=11 : NO 00 D4 + 1872 60 42 = OOO_O@OO_O_ : len=11 : NO 00 H4 + 1873 60 43 = OOO_O@__OO_ : len=11 : NO 00 D4 + 1874 60 44 = OOO_O@O_OO_ : len=11 : NO 00 X4 + 1875 60 45 = OOO_O@_OOO_ : len=11 : NO 00 X4 + 1876 60 46 = OOO_O@OOOO_ : len=11 : L6 00 L6 + 1877 60 47 = OOO_O@____O : len=11 : NO 00 D4 + 1878 60 48 = OOO_O@O___O : len=11 : NO 00 D4 + 1879 60 49 = OOO_O@_O__O : len=11 : NO 00 D4 + 1880 60 50 = OOO_O@OO__O : len=11 : S4 00 H4 + 1881 60 51 = OOO_O@__O_O : len=11 : NO 00 D4 + 1882 60 52 = OOO_O@O_O_O : len=11 : D4 00 X4 + 1883 60 53 = OOO_O@_OO_O : len=11 : D4 00 X4 + 1884 60 54 = OOO_O@OOO_O : len=11 : L5 00 L5 + 1885 60 55 = OOO_O@___OO : len=11 : NO 00 D4 + 1886 60 56 = OOO_O@O__OO : len=11 : NO 00 D4 + 1887 60 57 = OOO_O@_O_OO : len=11 : NO 00 D4 + 1888 60 58 = OOO_O@OO_OO : len=11 : NO 00 H4 + 1889 60 59 = OOO_O@__OOO : len=11 : NO 00 D4 + 1890 60 60 = OOO_O@O_OOO : len=11 : NO 00 X4 + 1891 61 0 = OOOO_@# : len= 7 : NO 00 D4 + 1892 61 1 = OOOO_@_# : len= 8 : NO 00 D4 + 1893 61 2 = OOOO_@O# : len= 8 : NO 00 D4 + 1894 61 3 = OOOO_@__# : len= 9 : NO 00 D4 + 1895 61 4 = OOOO_@O_# : len= 9 : NO 00 D4 + 1896 61 5 = OOOO_@_O# : len= 9 : NO 00 D4 + 1897 61 6 = OOOO_@OO# : len= 9 : NO 00 D4 + 1898 61 7 = OOOO_@___# : len=10 : NO 00 D4 + 1899 61 8 = OOOO_@O__# : len=10 : NO 00 D4 + 1900 61 9 = OOOO_@_O_# : len=10 : NO 00 D4 + 1901 61 10 = OOOO_@OO_# : len=10 : NO 00 D4 + 1902 61 11 = OOOO_@__O# : len=10 : NO 00 D4 + 1903 61 12 = OOOO_@O_O# : len=10 : NO 00 D4 + 1904 61 13 = OOOO_@_OO# : len=10 : NO 00 D4 + 1905 61 14 = OOOO_@OOO# : len=10 : NO 00 D4 + 1906 61 15 = OOOO_@____# : len=11 : NO 00 D4 + 1907 61 16 = OOOO_@O___# : len=11 : NO 00 D4 + 1908 61 17 = OOOO_@_O__# : len=11 : NO 00 D4 + 1909 61 18 = OOOO_@OO__# : len=11 : NO 00 D4 + 1910 61 19 = OOOO_@__O_# : len=11 : NO 00 D4 + 1911 61 20 = OOOO_@O_O_# : len=11 : NO 00 D4 + 1912 61 21 = OOOO_@_OO_# : len=11 : NO 00 D4 + 1913 61 22 = OOOO_@OOO_# : len=11 : S4 00 H4 + 1914 61 23 = OOOO_@___O# : len=11 : NO 00 D4 + 1915 61 24 = OOOO_@O__O# : len=11 : NO 00 D4 + 1916 61 25 = OOOO_@_O_O# : len=11 : NO 00 D4 + 1917 61 26 = OOOO_@OO_O# : len=11 : D4 00 X4 + 1918 61 27 = OOOO_@__OO# : len=11 : NO 00 D4 + 1919 61 28 = OOOO_@O_OO# : len=11 : D4 00 X4 + 1920 61 29 = OOOO_@_OOO# : len=11 : D4 00 X4 + 1921 61 30 = OOOO_@OOOO# : len=11 : L5 00 L5 + 1922 61 31 = OOOO_@_____ : len=11 : NO 00 D4 + 1923 61 32 = OOOO_@O____ : len=11 : NO 00 D4 + 1924 61 33 = OOOO_@_O___ : len=11 : NO 00 D4 + 1925 61 34 = OOOO_@OO___ : len=11 : NO 00 D4 + 1926 61 35 = OOOO_@__O__ : len=11 : NO 00 D4 + 1927 61 36 = OOOO_@O_O__ : len=11 : NO 00 D4 + 1928 61 37 = OOOO_@_OO__ : len=11 : NO 00 D4 + 1929 61 38 = OOOO_@OOO__ : len=11 : S4 00 H4 + 1930 61 39 = OOOO_@___O_ : len=11 : NO 00 D4 + 1931 61 40 = OOOO_@O__O_ : len=11 : NO 00 D4 + 1932 61 41 = OOOO_@_O_O_ : len=11 : NO 00 D4 + 1933 61 42 = OOOO_@OO_O_ : len=11 : D4 00 X4 + 1934 61 43 = OOOO_@__OO_ : len=11 : NO 00 D4 + 1935 61 44 = OOOO_@O_OO_ : len=11 : D4 00 X4 + 1936 61 45 = OOOO_@_OOO_ : len=11 : D4 00 X4 + 1937 61 46 = OOOO_@OOOO_ : len=11 : L5 00 L5 + 1938 61 47 = OOOO_@____O : len=11 : NO 00 D4 + 1939 61 48 = OOOO_@O___O : len=11 : NO 00 D4 + 1940 61 49 = OOOO_@_O__O : len=11 : NO 00 D4 + 1941 61 50 = OOOO_@OO__O : len=11 : NO 00 D4 + 1942 61 51 = OOOO_@__O_O : len=11 : NO 00 D4 + 1943 61 52 = OOOO_@O_O_O : len=11 : NO 00 D4 + 1944 61 53 = OOOO_@_OO_O : len=11 : NO 00 D4 + 1945 61 54 = OOOO_@OOO_O : len=11 : NO 00 H4 + 1946 61 55 = OOOO_@___OO : len=11 : NO 00 D4 + 1947 61 56 = OOOO_@O__OO : len=11 : NO 00 D4 + 1948 61 57 = OOOO_@_O_OO : len=11 : NO 00 D4 + 1949 61 58 = OOOO_@OO_OO : len=11 : NO 00 X4 + 1950 61 59 = OOOO_@__OOO : len=11 : NO 00 D4 + 1951 61 60 = OOOO_@O_OOO : len=11 : NO 00 X4 + 1952 61 61 = OOOO_@_OOOO : len=11 : NO 00 X4 +*/ + +unsigned char *pat_gomoku /* [1954] */ = +/* 0 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 16 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x55\xcc\x00\x00\x00\x00" +/* 32 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x44\x00\x33\x00\x00\x00" +/* 48 */ "\x00\x22\x00\x55\x00\x22\x00\x00\x00\x44\x33\x66\x55\xcc\x33\x66" +/* 64 */ "\x55\xcc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00" +/* 80 */ "\x55\x00\x55\x00\x05\x00\x55\x02\x46\x00\xaa\x00\x00\x55\x00\x55" +/* 96 */ "\x00\x05\x00\x55\x00\x05\x00\x55\x00\x00\x44\xcc\x44\xcc\x05\xbb" +/* 112 */ "\x44\xcc\x05\xbb\x44\xcc\x05\xbb\x00\x00\x00\x00\x00\x00\x00\x00" +/* 128 */ "\x00\x00\x33\x00\x00\x00\x44\x00\x00\x00\x00\x00\x33\x00\x44\x00" +/* 144 */ "\x33\x22\x66\x00\x55\x55\xcc\x00\x33\x00\x00\x00\x00\x22\x00\x55" +/* 160 */ "\x00\x22\x00\x55\x00\x02\x00\x05\x00\x22\x00\x00\x33\x44\x33\x66" +/* 176 */ "\x55\xcc\x33\x66\x55\xcc\x33\x46\x05\xbb\x33\x66\x55\xcc\x00\x00" +/* 192 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x44\x00\x00\x00" +/* 208 */ "\x33\x00\x00\x22\x55\x22\x55\x02\x05\x22\x55\x02\x46\x22\xaa\x55" +/* 224 */ "\xcc\x22\x55\x02\x46\x22\xaa\x00\x22\x55\x22\x55\x02\x05\x22\x55" +/* 240 */ "\x02\x05\x22\x55\x02\x05\x22\x55\x02\x05\x22\x55\x02\x44\x66\xcc" +/* 256 */ "\x66\xcc\x46\xbb\x66\xcc\x46\xbb\x66\xcc\x46\xbb\x66\xcc\x46\xbb" +/* 272 */ "\x66\xcc\x46\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00" +/* 288 */ "\x00\x00\x44\x00\x00\x00\x33\x00\x22\x22\x66\x00\x00\x00\x00\x00" +/* 304 */ "\x03\x00\x44\x00\x33\x22\x66\x00\x55\x55\xcc\x00\x33\x22\x66\x00" +/* 320 */ "\x55\x55\xcc\x00\x03\x00\x00\x00\x00\x02\x00\x55\x00\x02\x00\x55" +/* 336 */ "\x00\x02\x00\x05\x00\x02\x00\x55\x00\x02\x02\x46\x00\x02\x00\x55" +/* 352 */ "\x55\x05\x55\x46\xaa\xcc\x55\x46\xaa\xcc\x55\x06\x5a\xbb\x55\x46" +/* 368 */ "\xaa\xcc\x55\x06\x5a\xbb\x55\x46\xaa\xcc\x00\x00\x00\x00\x00\x00" +/* 384 */ "\x00\x00\x00\x00\x03\x00\x00\x00\x44\x00\x00\x00\x33\x00\x22\x22" +/* 400 */ "\x66\x00\x00\x00\x55\x00\x55\x55\x05\x55\x05\x55\x05\x55\x05\x55" +/* 416 */ "\x46\x55\x5a\xaa\xcc\x55\x05\x55\x46\x55\x5a\xaa\xcc\x55\x05\x55" +/* 432 */ "\x06\x55\x0a\x55\x55\x05\x55\x05\x55\x05\x55\x05\x55\x05\x55\x05" +/* 448 */ "\x55\x05\x55\x05\x55\x05\x55\x05\x55\x46\x55\x05\x55\x5a\x55\x5a" +/* 464 */ "\xaa\xcc\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb" +/* 480 */ "\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb" +/* 496 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x44\x00" +/* 512 */ "\x00\x00\x33\x00\x22\x22\x66\x00\x00\x00\x55\x00\x55\x55\xcc\x00" +/* 528 */ "\x00\x00\x00\x00\x33\x00\x44\x00\x33\x22\x66\x00\x55\x55\xcc\x00" +/* 544 */ "\x33\x22\x66\x00\x55\x55\xcc\x00\x33\x02\x46\x00\x05\x05\xbb\x00" +/* 560 */ "\x33\x00\x00\x00\x00\x22\x00\x55\x00\x22\x00\x55\x00\x02\x00\x05" +/* 576 */ "\x00\x22\x00\x55\x00\x02\x02\x46\x00\x22\x00\xaa\x00\x55\x55\xcc" +/* 592 */ "\x00\x22\x00\x00\x33\x44\x33\x66\x55\xcc\x33\x66\x55\xcc\x33\x46" +/* 608 */ "\x05\xbb\x33\x66\x55\xcc\x33\x46\x05\xbb\x33\x66\x55\xcc\x33\x46" +/* 624 */ "\x05\xbb\x33\x66\x55\xcc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 640 */ "\x03\x00\x00\x00\x44\x00\x00\x00\x33\x00\x22\x22\x66\x00\x00\x00" +/* 656 */ "\x55\x00\x55\x55\xcc\x00\x00\x00\x33\x00\x00\x22\x55\x22\x55\x02" +/* 672 */ "\x05\x22\x55\x02\x46\x22\xaa\x55\xcc\x22\x55\x02\x46\x22\xaa\x55" +/* 688 */ "\xcc\x22\x55\x02\x06\x22\x5a\x05\xbb\x22\x55\x02\x46\x22\xaa\x00" +/* 704 */ "\x22\x55\x22\x55\x02\x05\x22\x55\x02\x05\x22\x55\x02\x05\x22\x55" +/* 720 */ "\x02\x05\x22\x55\x02\x46\x22\x55\x02\x5a\x22\xaa\x55\xcc\x22\x55" +/* 736 */ "\x02\x05\x22\x55\x02\x44\x66\xcc\x66\xcc\x46\xbb\x66\xcc\x46\xbb" +/* 752 */ "\x66\xcc\x46\xbb\x66\xcc\x46\xbb\x66\xcc\x46\xbb\x66\xcc\x46\xbb" +/* 768 */ "\x66\xcc\x46\xbb\x66\xcc\x46\xbb\x66\xcc\x46\xbb\x00\x00\x00\x00" +/* 784 */ "\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x44\x00\x00\x00\x33\x00" +/* 800 */ "\x22\x22\x66\x00\x00\x00\x55\x00\x55\x55\xcc\x00\x00\x00\x33\x00" +/* 816 */ "\x22\x22\x66\x00\x00\x00\x00\x00\x03\x00\x44\x00\x33\x22\x66\x00" +/* 832 */ "\x55\x55\xcc\x00\x33\x22\x66\x00\x55\x55\xcc\x00\x03\x02\x46\x00" +/* 848 */ "\x05\x05\xbb\x00\x33\x22\x66\x00\x55\x55\xcc\x00\x03\x00\x00\x00" +/* 864 */ "\x00\x02\x00\x55\x00\x02\x00\x55\x00\x02\x00\x05\x00\x02\x00\x55" +/* 880 */ "\x00\x02\x02\x46\x00\x02\x00\xaa\x00\x55\x55\xcc\x00\x02\x00\x55" +/* 896 */ "\x00\x02\x02\x46\x00\x02\x00\x55\x55\x05\x55\x46\xaa\xcc\x55\x46" +/* 912 */ "\xaa\xcc\x55\x06\x5a\xbb\x55\x46\xaa\xcc\x55\x06\x5a\xbb\x55\x46" +/* 928 */ "\xaa\xcc\x55\x06\x5a\xbb\x55\x46\xaa\xcc\x55\x06\x5a\xbb\x55\x46" +/* 944 */ "\xaa\xcc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00" +/* 960 */ "\x44\x00\x00\x00\x33\x00\x22\x22\x66\x00\x00\x00\x55\x00\x55\x55" +/* 976 */ "\xcc\x00\x00\x00\x33\x00\x22\x22\x66\x00\x00\x00\x55\x00\x55\x55" +/* 992 */ "\x05\x55\x05\x55\x05\x55\x05\x55\x46\x55\x5a\xaa\xcc\x55\x05\x55" +/* 1008 */ "\x46\x55\x5a\xaa\xcc\x55\x05\x55\x06\x55\x0a\x5a\xbb\x55\x05\x55" +/* 1024 */ "\x46\x55\x5a\xaa\xcc\x55\x05\x55\x06\x55\x0a\x55\x55\x05\x55\x05" +/* 1040 */ "\x55\x05\x55\x05\x55\x05\x55\x05\x55\x05\x55\x05\x55\x05\x55\x05" +/* 1056 */ "\x55\x46\x55\x05\x55\x5a\x55\x5a\xaa\xcc\x55\x05\x55\x05\x55\x05" +/* 1072 */ "\x55\x46\x55\x05\x55\x5a\x55\x5a\xaa\xcc\xcc\xbb\xcc\xbb\xcc\xbb" +/* 1088 */ "\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb" +/* 1104 */ "\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb" +/* 1120 */ "\xcc\xbb\xcc\xbb\xcc\xbb\xcc\xbb\x00\x00\x00\x00\x00\x00\x00\x00" +/* 1136 */ "\x00\x00\x33\x00\x00\x00\x44\x00\x00\x00\x33\x00\x22\x22\x66\x00" +/* 1152 */ "\x00\x00\x55\x00\x55\x55\xcc\x00\x00\x00\x33\x00\x22\x22\x66\x00" +/* 1168 */ "\x00\x00\x55\x00\x55\x55\xcc\x00\x00\x00\x00\x00\x33\x00\x44\x00" +/* 1184 */ "\x33\x22\x66\x00\x55\x55\xcc\x00\x33\x22\x66\x00\x55\x55\xcc\x00" +/* 1200 */ "\x33\x02\x46\x00\x05\x05\xbb\x00\x33\x22\x66\x00\x55\x55\xcc\x00" +/* 1216 */ "\x33\x02\x46\x00\x05\x05\xbb\x00\x33\x00\x00\x00\x00\x22\x00\x55" +/* 1232 */ "\x00\x22\x00\x55\x00\x02\x00\x05\x00\x22\x00\x55\x00\x02\x02\x46" +/* 1248 */ "\x00\x22\x00\xaa\x00\x55\x55\xcc\x00\x22\x00\x55\x00\x02\x02\x46" +/* 1264 */ "\x00\x22\x00\xaa\x00\x55\x55\xcc\x00\x22\x00\x00\x03\x44\x33\x66" +/* 1280 */ "\x55\xcc\x33\x66\x55\xcc\x03\x46\x05\xbb\x33\x66\x55\xcc\x03\x46" +/* 1296 */ "\x05\xbb\x33\x66\x55\xcc\x03\x46\x05\xbb\x33\x66\x55\xcc\x03\x46" +/* 1312 */ "\x05\xbb\x33\x66\x55\xcc\x03\x46\x05\xbb\x33\x66\x55\xcc\x00\x00" +/* 1328 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x44\x00\x00\x00" +/* 1344 */ "\x33\x00\x22\x22\x66\x00\x00\x00\x55\x00\x55\x55\xcc\x00\x00\x00" +/* 1360 */ "\x33\x00\x22\x22\x66\x00\x00\x00\x55\x00\x55\x55\xcc\x00\x00\x00" +/* 1376 */ "\x03\x00\x00\x02\x55\x02\x55\x02\x05\x02\x55\x02\x46\x02\xaa\x55" +/* 1392 */ "\xcc\x02\x55\x02\x46\x02\xaa\x55\xcc\x02\x55\x02\x06\x02\x5a\x05" +/* 1408 */ "\xbb\x02\x55\x02\x46\x02\xaa\x55\xcc\x02\x55\x02\x06\x02\x5a\x05" +/* 1424 */ "\xbb\x02\x55\x02\x46\x02\xaa\x00\x02\x55\x02\x55\x02\x05\x02\x55" +/* 1440 */ "\x02\x05\x02\x55\x02\x05\x02\x55\x02\x05\x02\x55\x02\x46\x02\x55" +/* 1456 */ "\x02\x5a\x02\xaa\x55\xcc\x02\x55\x02\x05\x02\x55\x02\x46\x02\x55" +/* 1472 */ "\x02\x5a\x02\xaa\x55\xcc\x02\x55\x02\x05\x02\x55\x02\x05\x46\xcc" +/* 1488 */ "\x46\xcc\x06\xbb\x46\xcc\x06\xbb\x46\xcc\x06\xbb\x46\xcc\x06\xbb" +/* 1504 */ "\x46\xcc\x06\xbb\x46\xcc\x06\xbb\x46\xcc\x06\xbb\x46\xcc\x06\xbb" +/* 1520 */ "\x46\xcc\x06\xbb\x46\xcc\x06\xbb\x46\xcc\x06\xbb\x46\xcc\x06\xbb" +/* 1536 */ "\x46\xcc\x06\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00" +/* 1552 */ "\x00\x00\x44\x00\x00\x00\x33\x00\x22\x22\x66\x00\x00\x00\x55\x00" +/* 1568 */ "\x55\x55\xcc\x00\x00\x00\x33\x00\x22\x22\x66\x00\x00\x00\x55\x00" +/* 1584 */ "\x55\x55\xcc\x00\x00\x00\x33\x00\x02\x02\x46\x00\x00\x00\x00\x00" +/* 1600 */ "\x03\x00\x44\x00\x33\x22\x66\x00\x55\x55\xcc\x00\x33\x22\x66\x00" +/* 1616 */ "\x55\x55\xcc\x00\x03\x02\x46\x00\x05\x05\xbb\x00\x33\x22\x66\x00" +/* 1632 */ "\x55\x55\xcc\x00\x03\x02\x46\x00\x05\x05\xbb\x00\x33\x22\x66\x00" +/* 1648 */ "\x55\x55\xcc\x00\x03\x00\x00\x00\x00\x02\x00\x55\x00\x02\x00\x55" +/* 1664 */ "\x00\x02\x00\x05\x00\x02\x00\x55\x00\x02\x02\x46\x00\x02\x00\xaa" +/* 1680 */ "\x00\x55\x55\xcc\x00\x02\x00\x55\x00\x02\x02\x46\x00\x02\x00\xaa" +/* 1696 */ "\x00\x55\x55\xcc\x00\x02\x00\x55\x00\x02\x02\x06\x00\x02\x00\x05" +/* 1712 */ "\x05\x05\x05\x46\x5a\xcc\x05\x46\x5a\xcc\x05\x06\x0a\xbb\x05\x46" +/* 1728 */ "\x5a\xcc\x05\x06\x0a\xbb\x05\x46\x5a\xcc\x05\x06\x0a\xbb\x05\x46" +/* 1744 */ "\x5a\xcc\x05\x06\x0a\xbb\x05\x46\x5a\xcc\x05\x06\x0a\xbb\x05\x46" +/* 1760 */ "\x5a\xcc\x05\x06\x0a\xbb\x05\x46\x5a\xcc\x00\x00\x00\x00\x00\x00" +/* 1776 */ "\x00\x00\x00\x00\x03\x00\x00\x00\x44\x00\x00\x00\x33\x00\x22\x22" +/* 1792 */ "\x66\x00\x00\x00\x55\x00\x55\x55\xcc\x00\x00\x00\x33\x00\x22\x22" +/* 1808 */ "\x66\x00\x00\x00\x55\x00\x55\x55\xcc\x00\x00\x00\x03\x00\x02\x02" +/* 1824 */ "\x46\x00\x00\x00\x05\x00\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" +/* 1840 */ "\x46\x05\x5a\x5a\xcc\x05\x05\x05\x46\x05\x5a\x5a\xcc\x05\x05\x05" +/* 1856 */ "\x06\x05\x0a\x0a\xbb\x05\x05\x05\x46\x05\x5a\x5a\xcc\x05\x05\x05" +/* 1872 */ "\x06\x05\x0a\x0a\xbb\x05\x05\x05\x46\x05\x5a\x5a\xcc\x05\x05\x05" +/* 1888 */ "\x06\x05\x0a\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" +/* 1904 */ "\x05\x05\x05\x05\x05\x05\x05\x05\x05\x46\x05\x05\x05\x5a\x05\x5a" +/* 1920 */ "\x5a\xcc\x05\x05\x05\x05\x05\x05\x05\x46\x05\x05\x05\x5a\x05\x5a" +/* 1936 */ "\x5a\xcc\x05\x05\x05\x05\x05\x05\x05\x06\x05\x05\x05\x0a\x05\x0a" +/* 1952 */ "\x0a"; + +unsigned char *adv_gomoku /* [978] */ = +/* 0 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 16 */ "\x00\x00\x00\x00\xa0\x00\xa0\x00\x04\x00\x04\x00\x00\xd0\x00\xd0" +/* 32 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 48 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 64 */ "\x00\x70\x00\x00\x00\x00\xa0\x00\xa1\x00\x00\x00\xa0\x00\x04\x00" +/* 80 */ "\x04\x00\x00\x00\x04\x00\xd0\xd0\x00\xd0\x00\xd0\x00\xd0\x00\x00" +/* 96 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x70\x08\x08\x00\x08\x00\x08\x00" +/* 112 */ "\x08\x00\x08\x00\x40\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x00" +/* 128 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70" +/* 144 */ "\x00\x00\x00\x70\x21\x00\x00\x00\x00\x00\xa1\x00\x00\x00\xa1\x00" +/* 160 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 176 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 192 */ "\x00\x00\x00\x00\x00\x00\x70\x21\x00\x00\x00\x00\x00\x00\x00\x00" +/* 208 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 224 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 240 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00" +/* 256 */ "\x00\x70\x21\x00\x00\x00\x00\x00\x00\x00\xa0\x00\xa1\x00\x00\x00" +/* 272 */ "\xa1\x00\x00\x00\xa0\x00\x00\x00\xa0\x00\x04\x00\x04\x00\x00\x00" +/* 288 */ "\x04\x00\x00\x00\x04\x00\x00\x00\x04\x00\xd0\xd0\x00\xd0\x00\xd0" +/* 304 */ "\x00\xd0\x00\xd0\x00\xd0\x00\xd0\x00\xd0\x00\x00\x00\x00\x00\x00" +/* 320 */ "\x00\x00\x00\x00\x70\x21\x00\x00\x00\x00\x00\x00\x70\x08\x08\x00" +/* 336 */ "\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00" +/* 352 */ "\x40\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40" +/* 368 */ "\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 384 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x70" +/* 400 */ "\x21\x00\x00\x00\x00\x00\x00\x70\x21\x00\x00\x00\x00\x00\xa1\x00" +/* 416 */ "\x00\x00\xa1\x00\x00\x00\x00\x00\x00\x00\xa1\x00\x00\x00\x00\x00" +/* 432 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 448 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 464 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 480 */ "\x00\x00\x70\x21\x00\x00\x00\x00\x00\x00\x70\x21\x00\x00\x00\x00" +/* 496 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 512 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 528 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 544 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 560 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x70\x21\x00" +/* 576 */ "\x00\x00\x00\x00\x00\x70\x21\x00\x00\x00\x00\x00\x00\x00\xa0\x00" +/* 592 */ "\xa1\x00\x00\x00\xa1\x00\x00\x00\xa0\x00\x00\x00\xa1\x00\x00\x00" +/* 608 */ "\xa0\x00\x00\x00\xa0\x00\x04\x00\x04\x00\x00\x00\x04\x00\x00\x00" +/* 624 */ "\x04\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\xd0" +/* 640 */ "\x00\xd0\x00\x00\x00\xd0\x00\x00\x00\xd0\x00\x00\x00\xd0\x00\x00" +/* 656 */ "\x00\xd0\x00\x00\x00\xd0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 672 */ "\x70\x21\x00\x00\x00\x00\x00\x00\x70\x21\x00\x00\x00\x00\x00\x00" +/* 688 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 704 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 720 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 736 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 752 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 768 */ "\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x70\x21\x00\x00\x00" +/* 784 */ "\x00\x00\x00\x70\x21\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00" +/* 800 */ "\x00\x00\xa1\x00\x00\x00\xa1\x00\x00\x00\x00\x00\x00\x00\xa1\x00" +/* 816 */ "\x00\x00\x00\x00\x00\x00\xa1\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 832 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 848 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 864 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 880 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x21" +/* 896 */ "\x00\x00\x00\x00\x00\x00\x70\x21\x00\x00\x00\x00\x00\x00\x00\x00" +/* 912 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 928 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 944 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 960 */ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +/* 976 */ "\x00"; diff --git a/include/modes.h b/include/modes.h new file mode 100644 index 00000000..fe3a6b79 --- /dev/null +++ b/include/modes.h @@ -0,0 +1,152 @@ +/* $Id: modes.h,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +#ifndef INCLUDE_MODES_H +#define INCLUDE_MODES_H + +#define DONOTHING 0 /* Read menu command return states */ +#define FULLUPDATE 1 /* Entire screen was destroyed in this oper */ +#define PARTUPDATE 2 /* Only the top three lines were destroyed */ +#define DOQUIT 3 /* Exit read menu was executed */ +#define NEWDIRECT 4 /* Directory has changed, re-read files */ +#define READ_NEXT 5 /* Direct read next file */ +#define READ_PREV 6 /* Direct read prev file */ +#define DIRCHANGED 8 /* Index file was changed */ +#define READ_REDRAW 9 +#define PART_REDRAW 10 +#define POS_NEXT 101 /* cursor_pos(locmem, locmem->crs_ln + 1, 1);*/ + +/* user 操作狀態與模式 */ +#define IDLE 0 +#define MMENU 1 /* menu mode */ +#define ADMIN 2 +#define MAIL 3 +#define TMENU 4 +#define UMENU 5 +#define XMENU 6 +#define CLASS 7 +#define PMENU 8 +#define NMENU 9 +#define PSALE 10 +#define POSTING 11 /* boards & class */ +#define READBRD 12 +#define READING 13 +#define READNEW 14 +#define SELECT 15 +#define RMAIL 16 /* mail menu */ +#define SMAIL 17 +#define CHATING 18 /* talk menu */ +#define XMODE 19 +#define FRIEND 20 +#define LAUSERS 21 +#define LUSERS 22 +#define MONITOR 23 +#define PAGE 24 +#define TQUERY 25 +#define TALK 26 +#define EDITPLAN 27 /* user menu */ +#define EDITSIG 28 +#define VOTING 29 +#define XINFO 30 +#define MSYSOP 31 +#define WWW 32 +#define BIG2 33 +#define REPLY 34 +#define HIT 35 +#define DBACK 36 +#define NOTE 37 +#define EDITING 38 +#define MAILALL 39 +#define MJ 40 +#define P_FRIEND 41 +#define LOGIN 42 /* main menu */ +#define DICT 43 +#define BRIDGE 44 +#define ARCHIE 45 +#define GOPHER 46 +#define NEWS 47 +#define LOVE 48 +#define EDITEXP 49 +#define IPREG 50 +#define NADM 51 +#define DRINK 52 +#define CAL 53 +#define PROVERB 54 +#define ANNOUNCE 55 /* announce */ +#define EDNOTE 56 +#define CDICT 57 +#define LOBJ 58 +#define OSONG 59 +#define CHICKEN 60 +#define TICKET 61 +#define GUESSNUM 62 +#define AMUSE 63 +#define OTHELLO 64 +#define DICE 65 +#define VICE 66 +#define BBCALL 67 +#define VIOLATELAW 68 +#define M_FIVE 69 +#define JACK_CARD 70 +#define TENHALF 71 +#define CARD_99 72 +#define RAIL_WAY 73 +#define SREG 74 +#define CHC 75 /* Chinese chess */ +#define DARK 76 /* 中國暗琪 */ +#define TMPJACK 77 +#define JCEE 78 +#define REEDIT 79 + +/* menu.c 中的模式 */ +#define QUIT 0x666 /* Return value to abort recursive functions */ +#define XEASY 0x333 /* Return value to un-redraw screen */ + +/* for currmode */ +#define MODE_STARTED 1 /* 是否已經進入系統 */ +#define MODE_POST 2 /* 是否可以在 currboard 發表文章 */ +#define MODE_BOARD 4 /* 是否可以在 currboard 刪除、mark文章 */ +#define MODE_MENU 8 /* 是否可以在 MENU 開板 */ +#define MODE_DIGEST 0x10 /* 是否為 digest mode */ +#define MODE_ETC 0x20 /* 是否為 etc mode */ +#define MODE_SELECT 0x40 /* 搜尋使用者標題 */ +#define MODE_DIRTY 0x80 /* 是否更動過 userflag */ + +/* for curredit */ +#define EDIT_MAIL 1 /* 目前是 mail/board ? */ +#define EDIT_LIST 2 /* 是否為 mail list ? */ +#define EDIT_BOTH 4 /* both reply to author/board ? */ +#define EDIT_ITEM 8 /* ITEM ? */ + +/* read.c 中的模式 */ +#define TAG_NIN 0 /* 不屬於 TagList */ +#define TAG_TOGGLE 1 /* 切換 Taglist */ +#define TAG_INSERT 2 /* 加入 TagList */ + + +#define RS_FORWARD 0x01 /* backward */ +#define RS_TITLE 0x02 /* author/title */ +#define RS_RELATED 0x04 +#define RS_FIRST 0x08 /* find first article */ +#define RS_CURRENT 0x10 /* match current read article */ +#define RS_THREAD 0x20 /* search the first article */ +#define RS_AUTHOR 0x40 /* search author's article */ +#define RS_NEWPOST 0x80 /* search new posts */ + +#define CURSOR_FIRST (RS_RELATED | RS_TITLE | RS_FIRST) +#define CURSOR_NEXT (RS_RELATED | RS_TITLE | RS_FORWARD) +#define CURSOR_PREV (RS_RELATED | RS_TITLE) +#define RELATE_FIRST (RS_RELATED | RS_TITLE | RS_FIRST | RS_CURRENT) +#define RELATE_NEXT (RS_RELATED | RS_TITLE | RS_FORWARD | RS_CURRENT) +#define RELATE_PREV (RS_RELATED | RS_TITLE | RS_CURRENT) +#define THREAD_NEXT (RS_THREAD | RS_FORWARD) +#define THREAD_PREV (RS_THREAD) + +enum {STRIP_ALL = 0, ONLY_COLOR, NO_RELOAD}; + +#define SIG_PK 0 +#define SIG_TALK 1 +#define SIG_BROADCAST 2 +#define SIG_GOMO 3 +#define SIG_CHC 4 +#define SIG_DARK 5 + +#endif diff --git a/include/perm.h b/include/perm.h new file mode 100644 index 00000000..eece624e --- /dev/null +++ b/include/perm.h @@ -0,0 +1,56 @@ +/* $Id: perm.h,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +#ifndef INCLUDE_PERM_H +#define INCLUDE_PERM_H + +#define PERM_BASIC 000000000001 +#define PERM_CHAT 000000000002 +#define PERM_PAGE 000000000004 +#define PERM_POST 000000000010 +#define PERM_LOGINOK 000000000020 +#define PERM_MAILLIMIT 000000000040 +#define PERM_CLOAK 000000000100 +#define PERM_SEECLOAK 000000000200 +#define PERM_XEMPT 000000000400 +#define PERM_DENYPOST 000000001000 +#define PERM_BM 000000002000 +#define PERM_ACCOUNTS 000000004000 +#define PERM_CHATROOM 000000010000 +#define PERM_BOARD 000000020000 +#define PERM_SYSOP 000000040000 +#define PERM_BBSADM 000000100000 +#define PERM_NOTOP 000000200000 +#define PERM_VIOLATELAW 000000400000 +#define PERM_NOOUTMAIL 000001000000 +#define PERM_20 000002000000 +#define PERM_VIEWSYSOP 000004000000 +#define PERM_LOGUSER 000010000000 +#define PERM_ANNOUNCE 000020000000 +#define PERM_RELATION 000040000000 +#define PERM_SMG 000100000000 +#define PERM_PRG 000200000000 +#define PERM_ACTION 000400000000 +#define PERM_PAINT 001000000000 +#define PERM_LAW 002000000000 +#define PERM_SYSSUBOP 004000000000 +#define PERM_MSYSOP 010000000000 +#define PERM_PTT 020000000000 + +#define NUMPERMS 32 + +#define PERM_DEFAULT (PERM_BASIC | PERM_CHAT | PERM_PAGE ) +#define PERM_MANAGER (PERM_RELATION | PERM_SMG | PERM_ACTION | PERM_PAINT | PERM_LAW) +#define PERM_ADMIN (PERM_ACCOUNTS | PERM_SYSOP | PERM_SYSSUBOP | PERM_MANAGER | PERM_BM) +#define PERM_ALLBOARD (PERM_SYSOP | PERM_BOARD) +#define PERM_LOGINCLOAK (PERM_SYSOP | PERM_ACCOUNTS) +#define PERM_SEEULEVELS (PERM_SYSOP) +#define PERM_SEEBLEVELS (PERM_SYSOP | PERM_BM) +#define PERM_NOTIMEOUT (PERM_SYSOP) +#define PERM_READMAIL (PERM_BASIC) +#define PERM_FORWARD (PERM_BASIC) /* to do the forwarding */ +#define PERM_INTERNET (PERM_LOGINOK) /* 身份認證過關的才能寄信到 Internet */ + +#define HAS_PERM(x) ((x) ? cuser.userlevel & (x) : 1) +#define HAVE_PERM(x) (cuser.userlevel&(x)) +#define PERM_HIDE(u) ((u)->userlevel & PERM_SYSOP && \ + (u)->userlevel & PERM_DENYPOST) +#endif diff --git a/include/proto.h b/include/proto.h new file mode 100644 index 00000000..8122f5d5 --- /dev/null +++ b/include/proto.h @@ -0,0 +1,522 @@ +/* $Id: proto.h,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +#ifndef INCLUDE_PROTO_H +#define INCLUDE_PROTO_H + +/* admin */ +int m_mod_board(char *bname); +int m_newbrd(int recover); +int scan_register_form(char *regfile, int automode, int neednum); +int m_user(); +int search_user_bypwd(); +int search_user_bybakpwd(); +int m_board(); +int m_register(); +int cat_register(); +unsigned int setperms(unsigned int pbits, char *pstring[]); +void setup_man(boardheader_t * board); + +/* announce */ +int a_menu(char *maintitle, char *path, int lastlevel); +void a_copyitem(char* fpath, char* title, char* owner, int mode); +int Announce(); +void gem(char* maintitle, item_t* path, int update); + +/* args */ +void initsetproctitle(int argc, char **argv, char **envp); +void setproctitle(const char* format, ...); + +/* bbcall */ +int main_bbcall(); + +/* bbs */ +void make_blist(); +int invalid_brdname(char *brd); +int del_range(int ent, fileheader_t *fhdr, char *direct); +int cmpfowner(fileheader_t *fhdr); +int b_note_edit_bname(int bid); +int Read(); +void anticrosspost(); +int Select(); +void do_reply_title(int row, char *title); +int cmpfmode(fileheader_t *fhdr); +int cmpfilename(fileheader_t *fhdr); +int getindex(char *fpath, char *fname, int size); +void outgo_post(fileheader_t *fh, char *board); +int edit_title(int ent, fileheader_t *fhdr, char *direct); +int whereami(int ent, fileheader_t *fhdr, char *direct); +void set_board(); +int do_post(); +void ReadSelect(); +int save_violatelaw(); +int board_select(); +int board_etc(); +int board_digest(); + +/* board */ +int brc_unread(char *fname, int bnum, int *blist); +int brc_initial(char *boardname); +void brc_update(); +int Ben_Perm(boardheader_t *bptr); +int New(); +int Boards(); +int root_board(); +void save_brdbuf(void); +void init_brdbuf(void); + +/* cache */ +int moneyof(int uid); +int getuser(char *userid); +void setuserid(int num, char *userid); +int searchuser(char *userid); +int getbnum(char *bname); +void reset_board(int bid); +void touch_boards(); +void addbrd_touchcache(); +void setapath(char *buf, char *boardname); +void setutmpmode(int mode); +void setadir(char *buf, char *path); +boardheader_t *getbcache(int bid); +int apply_boards(int (*func)(boardheader_t *)); +int haspostperm(char *bname); +void inbtotal(int bid, int add); +void brc_addlist(char *fname); +void setbtotal(int bid); +unsigned int safe_sleep(unsigned int seconds); +int apply_ulist(int (*fptr)(userinfo_t *)); +userinfo_t *search_ulistn(int uid, int unum); +void purge_utmp(userinfo_t *uentp); +userinfo_t *search_ulist(int uid); +int count_multi(); +void resolve_utmp(); +void attach_uhash(); +void getnewutmpent(userinfo_t *up); +void resolve_garbage(); +void resolve_boards(); +void resolve_fcache(); +void sem_init(int semkey,int *semid); +void sem_lock(int op,int semid); +int count_ulist(); +char *u_namearray(char buf[][IDLEN + 1], int *pnum, char *tag); +char *getuserid(int num); +int searchnewuser(int mode); +int count_logins(int uid, int show); +void remove_from_uhash(int n); +void add_to_uhash(int n, char *id); +int setumoney(int uid, int money); +int getbtotal(int bid); +userinfo_t *search_ulist_pid(int pid); +int moneyof(int uid); +void hbflreload(int bid); +int hbflcheck(int bid, int uid); + +/* cal */ +int vice(int money, char* item); +int inumoney(char *tuser, int money); +int cal(); +#define reload_money() cuser.money=moneyof(usernum) +int demoney(int money); +int deumoney(int uid, int money); +int lockutmpmode(int unmode, int state); +int unlockutmpmode(); +int p_touch_boards(); +int x_file(); +int give_money(); +int p_sysinfo(); +int p_give(); +int p_cloak(); +int p_from(); +int ordersong(); +int p_exmail(); +void mail_redenvelop(char* from, char* to, int money, char mode); + +/* card */ +int g_card_jack(); +int g_ten_helf(); +int card_99(); + +/* chat */ +int t_chat(); + +/* chc_draw */ +void chc_drawline(board_t board, int line); +void chc_movecur(int r, int c); +void chc_redraw(board_t board); + +/* chc_net */ +void chc_sendmove(int s); +int chc_recvmove(int s); + +/* chc_play */ +void chc(int s); + +/* chc_rule */ +void chc_movechess(board_t board); +int chc_canmove(board_t board, rc_t from, rc_t to); +int chc_iskfk(board_t board); +int chc_ischeck(board_t board, int turn); +void chc_init_board(board_t board); + +/* chicken */ +int show_file(char *filename, int y, int lines, int mode); +void ch_buyitem(int money, char *picture, int *item); +int chicken_main(); +int chickenpk(int fd); +void time_diff(chicken_t *thechicken); +int isdeadth(chicken_t *thechicken); +void show_chicken_data(chicken_t *thechicken, chicken_t *pkchicken); +int reload_chicken(); + +/* dark */ +int main_dark(int fd,userinfo_t *uin); + +/* dice */ +int IsSNum(char *a); +int dice_main(); +int IsNum(char *a, int n); + +/* edit */ +int vedit(char *fpath, int saveheader, int *islocal); +void write_header(FILE *fp); +void addsignature(FILE *fp, int ifuseanony); +void auto_backup(); +void restore_backup(); +char *ask_tmpbuf(int y); +char *strcasestr(const char* big, const char* little); + +/* friend */ +void friend_edit(int type); +void friend_load(); +int t_override(); +int t_reject(); +void friend_add(char *uident, int type); +void friend_delete(char *uident, int type); + +/* gamble */ +int ticket_main(); +int post_msg(char* bname, char* title, char *msg, char* author); +int openticket(int bid); +int ticket(int bid); + +/* gomo */ +int gomoku(int fd); + +/* gomo1 */ +int getstyle(int x, int y, int color, int limit); +int chkwin(int style, int limit); + +/* guess */ +int guess_main(); + +/* indict */ +int x_dict(); +int use_dict(); + +/* io */ +int getdata(int line, int col, char *prompt, char *buf, int len, int echo); +int igetch(); +int getdata_str(int line, int col, char *prompt, char *buf, int len, int echo, char *defaultstr); +int getdata_buf(int line, int col, char *prompt, char *buf, int len, int echo); +int i_get_key(); +void add_io(int fd, int timeout); +int igetkey(); +void oflush(); +int oldgetdata(int line, int col, char *prompt, char *buf, int len, int echo); +void output(char *s, int len); +void init_alarm(); +int num_in_buf(); +int ochar(int c); + +/* kaede */ +int Rename(char* src, char* dst); +int Link(char* src, char* dst); +char *Ptt_prints(char *str, int mode); +char *my_ctime(const time_t *t); + +/* lovepaper */ +int x_love(); + +/* mail */ +int load_mailalert(char *userid); +int mail_muser(userec_t muser, char *title, char *filename); +int mail_id(char* id, char *title, char *filename, char *owner); +int m_read(); +int doforward(char *direct, fileheader_t *fh, int mode); +int mail_reply(int ent, fileheader_t *fhdr, char *direct); +int bsmtp(char *fpath, char *title, char *rcpt, int method); +void hold_mail(char *fpath, char *receiver); +int chkmail(int rechk); +void m_init(); +int chkmailbox(); +int mail_man(); +int m_new(); +int m_send(); +int mail_list(); +int setforward(); +int m_internet(); +int mail_mbox(); +int built_mail_index(); +int mail_all(); +int invalidaddr(char *addr); +int do_send(char *userid, char *title); +void my_send(char *uident); + +/* mbbsd */ +void log_usies(char *mode, char *mesg); +void log_user(char *msg); +void abort_bbs(int sig); +void del_distinct(char *fname, char *line); +void add_distinct(char *fname, char *line); +void show_last_call_in(int save); +int dosearchuser(char *userid); +void u_exit(char *mode); + +/* menu */ +void showtitle(char *title, char *mid); +int egetch(); +void movie(int i); +void domenu(int cmdmode, char *cmdtitle, int cmd, commands_t cmdtable[]); + +/* more */ +int more(char *fpath, int promptend); + +/* name */ +void usercomplete(char *prompt, char *data); +void namecomplete(char *prompt, char *data); +void AddNameList(char *name); +void CreateNameList(); +int chkstr(char *otag, char *tag, char *name); +int InNameList(char *name); +void ShowNameList(int row, int column, char *prompt); +int RemoveNameList(char *name); +void ToggleNameList(int *reciper, char *listfile, char *msg); + +/* osdep */ +int cpuload(char *str); +double swapused(long *total, long *used); + +/* othello */ +int othello_main(); + +/* page */ +int main_railway(); + +/* read */ +void z_download(char *fpath); +void i_read(int cmdmode, char *direct, void (*dotitle)(), void (*doentry)(), onekey_t *rcmdlist, int bidcache); +void fixkeep(char *s, int first); +keeploc_t *getkeep(char *s, int def_topline, int def_cursline); +int Tagger(time_t chrono, int recno, int mode); + +/* record */ +int substitute_record(char *fpath, void *rptr, int size, int id); +int get_record(char *fpath, void *rptr, int size, int id); +void prints(char *fmt, ...); +int append_record(char *fpath, fileheader_t *record, int size); +int stampfile(char *fpath, fileheader_t *fh); +void stampdir(char *fpath, fileheader_t *fh); +int get_num_records(char *fpath, int size); +int get_records(char *fpath, void *rptr, int size, int id, int number); +void stamplink(char *fpath, fileheader_t *fh); +int delete_record(char fpath[], int size, int id); +int delete_files(char* dirname, int (*filecheck)(), int record); +int delete_file(char *dirname, int size, int ent, int (*filecheck)()); +int delete_range(char *fpath, int id1, int id2); +int apply_record(char *fpath, int (*fptr)(), int size); +int search_rec(char* dirname, int (*filecheck)()); +int do_append(char *fpath, fileheader_t *record, int size); +int get_sum_records(char* fpath, int size); + +/* register */ +int getnewuserid(); +int bad_user_id(char *userid); +void new_register(); +int checkpasswd(char *passwd, char *test); +void check_register(); +char *genpasswd(char *pw); + +/* screen */ +void move(int y, int x); +void outs(char *str); +void clrtoeol(); +void clear(); +void refresh(); +void clrtobot(); +void mprints(int y, int x, char *str); +void outmsg(char *msg); +void region_scroll_up(int top, int bottom); +void outc(unsigned char ch); +void redoscr(); +void clrtoline(int line); +void standout(); +void standend(); +int edit_outs(char *text); +void outch(unsigned char c); +void rscroll(); +void scroll(); +void getyx(int *y, int *x); +void initscr(); +void Jaky_outs(char *str, int line); + +/* stuff */ +void setcalfile(char *buf, char *userid); +void stand_title(char *title); +void pressanykey(); +int vmsg (const char *fmt,...); +void trim(char *buf); +void bell(); +void setbpath(char *buf, char *boardname); +int dashf(char *fname); +void sethomepath(char *buf, char *userid); +void sethomedir(char *buf, char *userid); +char *Cdate(time_t *clock); +void sethomefile(char *buf, char *userid, char *fname); +int log_file(char *filename,char *buf); +void str_lower(char *t, char *s); +int strstr_lower(char *str, char *tag); +int cursor_key(int row, int column); +int search_num(int ch, int max); +void setuserfile(char *buf, char *fname); +int is_BM(char *list); +long dasht(char *fname); +int dashd(char *fname); +int invalid_pname(char *str); +void setbdir(char *buf, char *boardname); +void setbfile(char *buf, char *boardname, char *fname); +int dashl(char *fname); +char *subject(char *title); +int not_alnum(char ch); +void setdirpath(char *buf, char *direct, char *fname); +int str_checksum(char *str); +void show_help(char *helptext[]); +int belong(char *filelist, char *key); +char *Cdatedate(time_t *clock); +int isprint2(char ch); +void sethomeman(char *buf, char *userid); +off_t dashs(char *fname); +void cursor_clear(int row, int column); +void cursor_show(int row, int column); +void printdash(char *mesg); +char *Cdatelite(time_t *clock); +int not_alpha(char ch); +int valid_ident(char *ident); +int userid_is_BM(char *userid, char *list); +int is_uBM(char *list, char *id); + +/* syspost */ +void post_newboard(char *bgroup, char *bname, char *bms); +void post_violatelaw(char *crime, char *police, char *reason, char *result); +void post_change_perm(int oldperm, int newperm, char *sysopid, char *userid); + +/* talk */ +int cmpwatermtime(const void *a, const void *b); +void water_scr(water_t **currwater, int which, char type); +void my_write2(void); +int t_idle(); +char *modestring(userinfo_t * uentp, int simple); +int isvisible(userinfo_t * me, userinfo_t * uentp); +int t_users(); +int cmpuids(int uid, userinfo_t * urec); +int my_write(pid_t pid, char *hint, char *id, int flag); +void t_display_new(); +void talkreply(); +int t_monitor(); +int t_pager(); +int t_query(); +int t_qchicken(); +int t_talk(); +int t_display(); +int my_query(char *uident); +int logout_friend_online(); +int login_friend_online(); +int isvisible_uid(int tuid); +int friend_stat(userinfo_t *me, userinfo_t * ui); + +/* tmpjack */ +int reg_barbq(); +int p_ticket_main(); +int j_ticket_main(); + +/* term */ +void init_tty(); +int term_init(); +void save_cursor(); +void restore_cursor(); +void do_move(int destcol, int destline); +void scroll_forward(); +void change_scroll_range(int top, int bottom); + +/* topsong */ +void sortsong(); +int topsong(); + +/* user */ +int u_editcalendar(); +void user_display(userec_t *u, int real); +void uinfo_query(userec_t *u, int real, int unum); +int showsignature(char *fname); +void mail_violatelaw(char* crime, char* police, char* reason, char* result); +void showplans(char *uid); +int u_info(); +int u_loginview(); +int u_ansi(); +int u_editplan(); +int u_editsig(); +int u_switchproverb(); +int u_editproverb(); +int u_cloak(); +int u_register(); +int u_list(); + +/* vote */ +int strip_ansi(char *buf, char *str, int mode); +void b_suckinfile(FILE *fp, char *fname); +int b_results(); +int b_vote(); +int b_vote_maintain(); +int b_closepolls(); + +/* vice */ +int vice_main(); + +/* voteboard */ +int do_voteboard(); +void do_voteboardreply(fileheader_t *fhdr); + +/* xyz */ +int m_sysop(); +int x_boardman(); +int x_note(); +int x_login(); +int x_week(); +int x_issue(); +int x_today(); +int x_yesterday(); +int x_user100(); +int x_birth(); +int x_90(); +int x_89(); +int x_88(); +int x_87(); +int x_86(); +int x_history(); +int x_weather(); +int x_stock(); +int note(); +int Goodbye(); + +/* toolkit */ +unsigned StringHash(unsigned char *s); + +/* passwd */ +int passwd_mmap(); +int passwd_update(int num, userec_t *buf); +int passwd_query(int num, userec_t *buf); +int passwd_apply(int (*fptr)(userec_t *)); +void passwd_lock(); +void passwd_unlock(); +int passwd_update_money(int num); + +/* calendar */ +int calendar(); + +#endif diff --git a/include/pttbbs.conf b/include/pttbbs.conf new file mode 100644 index 00000000..9bd4722d --- /dev/null +++ b/include/pttbbs.conf @@ -0,0 +1,17 @@ +/* 定義 BBS 站名位址 */ +#define BBSNAME "批踢踢實業坊" /* 中文站名 */ +#define MYHOSTNAME "ptt.csie.ntu.edu.tw" /* 網路位址 */ +#define MYIP "140.112.30.142" /* IP位址 */ +#define BBSUSER "bbs" +#define BBSUID 9999 +#define BBSGID 99 + +#define MAX_USERS 150000 +#define MAX_ACTIVE 4096 +#define MAX_CPULOAD 50 +#define MAX_FROM 512 +#define RELAY_SERVER_IP "140.112.30.143" +#define MAX_POST_MONEY 1000 +#define MAX_CHICKEN_MONEY 10000 +#define HAVE_JCEE 0 +#define TITLE_COLOR "\33[0;1;37;44m" diff --git a/include/pttstruct.h b/include/pttstruct.h new file mode 100644 index 00000000..76a196a9 --- /dev/null +++ b/include/pttstruct.h @@ -0,0 +1,390 @@ +/* $Id: pttstruct.h,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +#ifndef INCLUDE_STRUCT_H +#define INCLUDE_STRUCT_H + +/* 小雞的資料 */ +typedef struct chicken_t { + char name[20]; + char type; /* 物種 */ + unsigned char tech[16]; /* 技能 */ + time_t birthday; /* 生日 */ + time_t lastvisit; /* 上次照顧時間 */ + int oo; /* 補品 */ + int food; /* 食物 */ + int medicine; /* 藥品 */ + int weight; /* 體重 */ + int clean; /* 乾淨 */ + int run; /* 敏捷度 */ + int attack; /* 攻擊力 */ + int book; /* 知識 */ + int happy; /* 快樂 */ + int satis; /* 滿意度 */ + int temperament; /* 氣質 */ + int tiredstrong; /* 疲勞度 */ + int sick; /* 病氣指數 */ + int hp; /* 血量 */ + int hp_max; /* 滿血量 */ + int mm; /* 法力 */ + int mm_max; /* 滿法力 */ + time_t cbirth; /* 實際計算用的生日 */ + int pad[2]; /* 留著以後用 */ +} chicken_t; + +#define IDLEN 12 /* Length of bid/uid */ +#define PASSLEN 14 /* Length of encrypted passwd field */ +#define REGLEN 38 /* Length of registration data */ + +typedef struct userec_t { + char userid[IDLEN + 1]; + char realname[20]; + char username[24]; + char passwd[PASSLEN]; + unsigned char uflag; + unsigned int userlevel; + unsigned short numlogins; + unsigned short numposts; + time_t firstlogin; + time_t lastlogin; + char lasthost[16]; + int money; + char remoteuser[3]; /* 保留 目前沒用到的 */ + char proverb; + char email[50]; + char address[50]; + char justify[REGLEN + 1]; + unsigned char month; + unsigned char day; + unsigned char year; + unsigned char sex; + unsigned char state; + unsigned char pager; + unsigned char invisible; + unsigned int exmailbox; + chicken_t mychicken; + time_t lastsong; + unsigned int loginview; + unsigned char channel; /* 動態看板 */ + unsigned short vl_count; /* ViolateLaw counter */ + unsigned short five_win; + unsigned short five_lose; + unsigned short five_tie; + unsigned short chc_win; + unsigned short chc_lose; + unsigned short chc_tie; + int mobile; + int mind; + char ident[11]; + unsigned int uflag2; + char pad[72]; +} userec_t; +/* these are flags in userec_t.uflag */ +#define SIG_FLAG 0x3 /* signature number, 2 bits */ +#define PAGER_FLAG 0x4 /* true if pager was OFF last session */ +#define CLOAK_FLAG 0x8 /* true if cloak was ON last session */ +#define FRIEND_FLAG 0x10 /* true if show friends only */ +#define BRDSORT_FLAG 0x20 /* true if the boards sorted alphabetical */ +#define MOVIE_FLAG 0x40 /* true if show movie */ +#define COLOR_FLAG 0x80 /* true if the color mode open */ +#define MIND_FLAG 0x100 /* true if mind search mode open <-Heat*/ +/* these are flags in userec_t.uflag2 */ +#define WATER_MASK 000003 /* water mask */ +#define WATER_ORIG 0 +#define WATER_NEW 1 +#define WATER_OFO 2 +#define WATERMODE(mode) ((cuser.uflag2 & WATER_MASK) == mode) + + +#define BTLEN 48 /* Length of board title */ + +typedef struct boardheader_t { + char brdname[IDLEN + 1]; /* bid */ + char title[BTLEN + 1]; + char BM[IDLEN * 3 + 3]; /* BMs' uid, token '/' */ + unsigned int brdattr; /* board的屬性 */ + char pad[3]; /* 沒用到的 */ + time_t bupdate; /* note update time */ + char pad2[3]; /* 沒用到的 */ + unsigned char bvote; /* Vote flags */ + time_t vtime; /* Vote close time */ + unsigned int level; /* 可以看此板的權限 */ + int unused; /* 還沒用到 */ + int gid; /* 看板所屬的類別 ID */ + void *next[2]; /* 在同一個gid下一個看板 動態產生*/ + void *firstchild[2]; /* 屬於這個看板的第一個子看板 */ + void *parent; + char pad3[100]; +} boardheader_t; + +#define BRD_NOZAP 00001 /* 不可zap */ +#define BRD_NOCOUNT 00002 /* 不列入統計 */ +#define BRD_NOTRAN 00004 /* 不轉信 */ +#define BRD_GROUPBOARD 00010 /* 群組板 */ +#define BRD_HIDE 00020 /* 隱藏板 (看板好友才可看) */ +#define BRD_POSTMASK 00040 /* 限制發表或閱讀 */ +#define BRD_ANONYMOUS 00100 /* 匿名板? */ +#define BRD_DEFAULTANONYMOUS 00200 /* 預設匿名板 */ +#define BRD_BAD 00400 /* 違法改進中看板 */ +#define BRD_VOTEBOARD 01000 /* 連署機看板 */ +#define BRD_WARNDEL 02000 /* 已警告要廢除的看板 */ + +#define TTLEN 64 /* Length of title */ +#define FNLEN 33 /* Length of filename */ + +#define FHR_REFERENCE (1<<31) + +typedef struct fileheader_t { + char filename[FNLEN]; /* M.9876543210.A */ + char savemode; /* file save mode */ + char owner[IDLEN + 2]; /* uid[.] */ + char date[6]; /* [02/02] or space(5) */ + char title[TTLEN + 1]; + int money; /* rocker: if bit32 on ==> reference */ + unsigned char filemode; /* must be last field @ boards.c */ +} fileheader_t; + +#define FILE_LOCAL 0x1 /* local saved */ +#define FILE_READ 0x1 /* already read : mail only */ +#define FILE_MARKED 0x2 /* opus: 0x8 */ +#define FILE_DIGEST 0x4 /* digest */ +#define FILE_SOLVED 0x10 /* problem solved, sysop only */ +#define FILE_HIDE 0x20 /* hild */ +#define FILE_BM 0x40 /* BM only */ + +#define STRLEN 80 /* Length of most string data */ + + +/* uhash is a userid->uid hash table -- jochang */ + +#define HASH_BITS 16 +typedef struct uhash_t { + char userid[MAX_USERS][IDLEN + 1]; + int next_in_hash[MAX_USERS]; + int money[MAX_USERS]; + int hash_head[1 << HASH_BITS]; + int number; /* # of users total */ + int loaded; /* .PASSWD has been loaded? */ + int hbfl[MAX_BOARD][MAX_FRIEND + 1]; +} uhash_t; + +union xitem_t { + struct { /* bbs_item */ + char fdate[9]; /* [mm/dd/yy] */ + char editor[13]; /* user ID */ + char fname[31]; + } B; + struct { /* gopher_item */ + char path[81]; + char server[48]; + int port; + } G; +}; + +typedef struct { + char title[63]; + union xitem_t X; +} item_t; + +typedef struct { + item_t *item[MAX_ITEMS]; + char mtitle[STRLEN]; + char *path; + int num, page, now, level; +} gmenu_t; + +typedef struct msgque_t { + pid_t pid; + char userid[IDLEN + 1]; + char last_call_in[80]; +} msgque_t; + +typedef struct water_t { + pid_t pid; + char userid[IDLEN + 1]; + msgque_t msg[MAX_REVIEW]; + int top, count; +} water_t; + +#define FAVMAX 74 /* Max boards of Myfavorite */ +#define FAVGMAX 16 /* Max groups of Myfavorite */ +#define FAVGSLEN 8 /* Max Length of Description String */ + +typedef struct userinfo_t { + int uid; /* Used to find user name in passwd file */ + pid_t pid; /* kill() to notify user of talk request */ + int sockaddr; /* ... */ + int destuid; /* talk uses this to identify who called */ + int destuip; /* dest index in utmpshm->uinfo[] */ + unsigned char active; /* When allocated this field is true */ + unsigned char invisible; /* Used by cloaking function in Xyz menu */ + unsigned char sockactive; /* Used to coordinate talk requests */ + unsigned int userlevel; + unsigned char mode; /* UL/DL, Talk Mode, Chat Mode, ... */ + unsigned char pager; /* pager toggle, YEA, or NA */ + unsigned char in_chat; /* for in_chat commands */ + unsigned char sig; /* signal type */ + char userid[IDLEN + 1]; + char chatid[11]; /* chat id, if in chat mode */ + char realname[20]; + char username[24]; + char from[27]; /* machine name the user called in from */ + int from_alias; + char birth; /* 是否是生日 Ptt*/ + char tty[11]; /* tty port */ + int friend[MAX_FRIEND]; + int friend_online[MAX_FRIEND]; /* point到線上好友 utmpshm的位置 */ + /* 好友比較的cache 前兩個bit是狀態 */ + int reject[MAX_REJECT]; + int pad[3]; + int friendtotal; /* 好友比較的cache 大小 */ + unsigned char msgcount; + msgque_t msgs[MAX_MSGS]; + time_t uptime; + time_t lastact; /* 上次使用者動的時間 */ + unsigned int brc_id; + unsigned char lockmode; /* 不准 multi_login 玩的東西 */ + char turn; /* for gomo */ + char mateid[IDLEN + 1]; /* for gomo */ + unsigned short int five_win; + unsigned short int five_lose; + unsigned short int five_tie; + int myfavorite[FAVMAX]; + char gfavorite[FAVGMAX][FAVGSLEN+1]; + int ninGroup[FAVGMAX]; + int nGroup; + int ninRoot; + int mailalert; + int sex; + char color; + int mind; +} userinfo_t; + +typedef struct { + fileheader_t *header; + char mtitle[STRLEN]; + char *path; + int num, page, now, level; +} menu_t; + +typedef struct onekey_t { /* Used to pass commands to the readmenu */ + int key; + int (*fptr)(); +} onekey_t; + +#define ANSILINELEN (511) /* Maximum Screen width in chars */ + +/* anti_crosspost */ +typedef struct crosspost_t { + int checksum[4]; /* 0 -> 'X' cross post 1-3 -> 簡查文章行 */ + int times; /* 第幾次 */ +} crosspost_t; + +#define SORT_BY_ID 0 +#define SORT_BY_CLASS 1 +#define SORT_BY_STAT 1 +#define SORT_BY_IDLE 2 +#define SORT_BY_FROM 3 +#define SORT_BY_FIVE 4 +#define SORT_BY_SEX 5 + +typedef struct bcache_t { + boardheader_t bcache[MAX_BOARD]; + boardheader_t *sorted[2][MAX_BOARD]; /* 0: by name 1: by class */ + fileheader_t dircache[MAX_BOARD][DIRCACHESIZE]; + int cachetotal[MAX_BOARD]; + int total[MAX_BOARD]; + time_t lastposttime[MAX_BOARD]; + time_t uptime; + time_t touchtime; + int number; + int busystate; +} bcache_t; + +typedef struct keeploc_t { + char *key; + int top_ln; + int crs_ln; + struct keeploc_t *next; +} keeploc_t; + +#define USHM_SIZE (MAX_ACTIVE + 4) /* why+4? */ + +struct utmpfile_t { + userinfo_t uinfo[USHM_SIZE]; + userinfo_t *sorted[2][8][USHM_SIZE]; + /* 第一維double buffer 由currsorted指向目前使用的 + 第二維sort type */ + int currsorted; + time_t uptime; + int number; + int busystate; +}; + +struct pttcache_t { + char notes[MAX_MOVIE][200*11]; + char today_is[20]; + int n_notes[MAX_MOVIE_SECTION]; /* 一節中有幾個 看板 */ + int next_refresh[MAX_MOVIE_SECTION]; /* 下一次要refresh的 看板 */ + int max_film; + int max_history; + time_t uptime; + time_t touchtime; + int busystate; +}; + +typedef struct fromcache_t { + char domain[MAX_FROM][50]; + char replace[MAX_FROM][50]; + int top; + int max_user; + time_t max_time; + time_t uptime; + time_t touchtime; + int busystate; +} fromcache_t; + +typedef struct { + unsigned char oldlen; /* previous line length */ + unsigned char len; /* current length of line */ + unsigned char mode; /* status of line, as far as update */ + unsigned char smod; /* start of modified data */ + unsigned char emod; /* end of modified data */ + unsigned char sso; /* start stand out */ + unsigned char eso; /* end stand out */ + unsigned char data[ANSILINELEN + 1]; +} screenline_t; + +typedef struct { + int r, c; +} rc_t; + +#define BRD_ROW 10 +#define BRD_COL 9 + +typedef int board_t[BRD_ROW][BRD_COL]; + +/* name.c 中運用的資料結構 */ +typedef struct word_t { + char *word; + struct word_t *next; +} word_t; + +typedef struct commands_t { + int (*cmdfunc)(); + int level; + char *desc; /* next/key/description */ +} commands_t; + +typedef struct MailQueue { + char filepath[FNLEN]; + char subject[STRLEN]; + time_t mailtime; + char sender[IDLEN + 1]; + char username[24]; + char rcpt[50]; + int method; + char * niamod; +} MailQueue; + +enum {MQ_TEXT, MQ_UUENCODE, MQ_JUSTIFY}; + +#endif diff --git a/include/pttstruct.h.save b/include/pttstruct.h.save new file mode 100644 index 00000000..f73f6413 --- /dev/null +++ b/include/pttstruct.h.save @@ -0,0 +1,363 @@ +/* $Id: pttstruct.h.save,v 1.1 2002/03/07 15:13:48 in2 Exp $ */ +~#ifndef INCLUDE_STRUCT_H +#define INCLUDE_STRUCT_H + +/* 小雞的資料 */ +typedef struct chicken_t { + char name[20]; + char type; /* 物種 */ + unsigned char tech[16]; /* 技能 */ + time_t birthday; /* 生日 */ + time_t lastvisit; /* 上次照顧時間 */ + int oo; /* 補品 */ + int food; /* 食物 */ + int medicine; /* 藥品 */ + int weight; /* 體重 */ + int clean; /* 乾淨 */ + int run; /* 敏捷度 */ + int attack; /* 攻擊力 */ + int book; /* 知識 */ + int happy; /* 快樂 */ + int satis; /* 滿意度 */ + int temperament; /* 氣質 */ + int tiredstrong; /* 疲勞度 */ + int sick; /* 病氣指數 */ + int hp; /* 血量 */ + int hp_max; /* 滿血量 */ + int mm; /* 法力 */ + int mm_max; /* 滿法力 */ + time_t cbirth; /* 實際計算用的生日 */ + int pad[2]; /* 留著以後用 */ +} chicken_t; + +#define IDLEN 12 /* Length of bid/uid */ +#define PASSLEN 14 /* Length of encrypted passwd field */ +#define REGLEN 38 /* Length of registration data */ + +typedef struct userec_t { + char userid[IDLEN + 1]; + char realname[20]; + char username[24]; + char passwd[PASSLEN]; + unsigned char uflag; + unsigned int userlevel; + unsigned short numlogins; + unsigned short numposts; + time_t firstlogin; + time_t lastlogin; + char lasthost[16]; + int money; + char remoteuser[3]; /* 保留 目前沒用到的 */ + char proverb; + char email[50]; + char address[50]; + char justify[REGLEN + 1]; + unsigned char month; + unsigned char day; + unsigned char year; + unsigned char sex; + unsigned char state; + unsigned char pager; + unsigned char invisible; + unsigned int exmailbox; + chicken_t mychicken; + time_t lastsong; + unsigned int loginview; + unsigned char channel; /* 動態看板 */ + unsigned short vl_count; /* ViolateLaw counter */ + unsigned short five_win; + unsigned short five_lose; + unsigned short five_tie; + unsigned short chc_win; + unsigned short chc_lose; + unsigned short chc_tie; + char pad[95]; +} userec_t; +/* these are flags in userec_t.uflag */ +#define SIG_FLAG 0x3 /* signature number, 2 bits */ +#define PAGER_FLAG 0x4 /* true if pager was OFF last session */ +#define CLOAK_FLAG 0x8 /* true if cloak was ON last session */ +#define FRIEND_FLAG 0x10 /* true if show friends only */ +#define BRDSORT_FLAG 0x20 /* true if the boards sorted alphabetical */ +#define MOVIE_FLAG 0x40 /* true if show movie */ +#define COLOR_FLAG 0x80 /* true if the color mode open */ +#define MIND_FLAG 0x100 /* true if mind search mode open <-Heat*/ + +#define BTLEN 48 /* Length of board title */ + +typedef struct boardheader_t { + char brdname[IDLEN + 1]; /* bid */ + char title[BTLEN + 1]; + char BM[IDLEN * 3 + 3]; /* BMs' uid, token '/' */ + unsigned int brdattr; /* board的屬性 */ + char pad[3]; /* 沒用到的 */ + time_t bupdate; /* note update time */ + char pad2[3]; /* 沒用到的 */ + unsigned char bvote; /* Vote flags */ + time_t vtime; /* Vote close time */ + unsigned int level; /* 可以看此板的權限 */ + int uid; /* 看板的類別 ID */ + int gid; /* 看板所屬的類別 ID */ + void *next[2]; /* 在同一個gid下一個看板 動態產生*/ + void *firstchild[2]; /* 屬於這個看板的第一個子看板 */ + void *parent; + char pad3[100]; +} boardheader_t; + +#define BRD_NOZAP 00001 /* 不可zap */ +#define BRD_NOCOUNT 00002 /* 不列入統計 */ +#define BRD_NOTRAN 00004 /* 不轉信 */ +#define BRD_GROUPBOARD 00010 /* 群組板 */ +#define BRD_HIDE 00020 /* 隱藏板 (看板好友才可看) */ +#define BRD_POSTMASK 00040 /* 限制發表或閱讀 */ +#define BRD_ANONYMOUS 00100 /* 匿名板? */ +#define BRD_DEFAULTANONYMOUS 00200 /* 預設匿名板 */ +#define BRD_BAD 00400 /* 違法改進中看板 */ +#define BRD_VOTEBOARD 01000 /* 連署機看板 */ + +#define TTLEN 64 /* Length of title */ +#define FNLEN 33 /* Length of filename */ + +#define FHR_REFERENCE (1<<31) + +typedef struct fileheader_t { + char filename[FNLEN]; /* M.9876543210.A */ + char savemode; /* file save mode */ + char owner[IDLEN + 2]; /* uid[.] */ + char date[6]; /* [02/02] or space(5) */ + char title[TTLEN + 1]; + int money; /* rocker: if bit32 on ==> reference */ + unsigned char filemode; /* must be last field @ boards.c */ +} fileheader_t; + +#define FILE_LOCAL 0x1 /* local saved */ +#define FILE_READ 0x1 /* already read : mail only */ +#define FILE_MARKED 0x2 /* opus: 0x8 */ +#define FILE_DIGEST 0x4 /* digest */ +#define FILE_TAGED 0x8 /* taged */ +#define FILE_SOLVED 0x10 /* problem solved, sysop only */ + +#define STRLEN 80 /* Length of most string data */ + + +/* uhash is a userid->uid hash table -- jochang */ + +#define HASH_BITS 16 +typedef struct uhash_t { + char userid[MAX_USERS][IDLEN + 1]; + int money[MAX_USERS]; + int next_in_hash[MAX_USERS]; + int hash_head[1 << HASH_BITS]; + int number; /* # of users total */ + int loaded; /* .PASSWD has been loaded? */ +} uhash_t; + +union xitem_t { + struct { /* bbs_item */ + char fdate[9]; /* [mm/dd/yy] */ + char editor[13]; /* user ID */ + char fname[31]; + } B; + struct { /* gopher_item */ + char path[81]; + char server[48]; + int port; + } G; +}; + +typedef struct { + char title[63]; + union xitem_t X; +} item_t; + +typedef struct { + item_t *item[MAX_ITEMS]; + char mtitle[STRLEN]; + char *path; + int num, page, now, level; +} gmenu_t; + +typedef struct msgque_t { + pid_t last_pid; + char last_userid[IDLEN + 1]; + char last_call_in[80]; +} msgque_t; + +#define FAVMAX 74 /* Max boards of Myfavorite */ +#define FAVGMAX 16 /* Max groups of Myfavorite */ +#define FAVGSLEN 8 /* Max Length of Description String */ + +typedef struct userinfo_t { + int uid; /* Used to find user name in passwd file */ + pid_t pid; /* kill() to notify user of talk request */ + int sockaddr; /* ... */ + int destuid; /* talk uses this to identify who called */ + int destuip; /* dest index in utmpshm->uinfo[] */ + unsigned char active; /* When allocated this field is true */ + unsigned char invisible; /* Used by cloaking function in Xyz menu */ + unsigned char sockactive; /* Used to coordinate talk requests */ + unsigned int userlevel; + unsigned char mode; /* UL/DL, Talk Mode, Chat Mode, ... */ + unsigned char pager; /* pager toggle, YEA, or NA */ + unsigned char in_chat; /* for in_chat commands */ + unsigned char sig; /* signal type */ + char userid[IDLEN + 1]; + char chatid[11]; /* chat id, if in chat mode */ + char realname[20]; + char username[24]; + char from[27]; /* machine name the user called in from */ + int from_alias; + char birth; /* 是否是生日 Ptt*/ + char tty[11]; /* tty port */ + int friend[MAX_FRIEND]; + void *friend_online[MAX_FRIEND]; /* point到線上好友 */ + int friend_state[MAX_FRIEND]; /* 對應到friend_online的狀態 */ + int reject[MAX_REJECT]; + unsigned char msgcount; + msgque_t msgs[MAX_MSGS]; + time_t uptime; + time_t lastact; /* 上次使用者動的時間 */ + unsigned int brc_id; + unsigned char lockmode; /* 不准 multi_login 玩的東西 */ + char turn; /* for gomo */ + char mateid[IDLEN + 1]; /* for gomo */ + unsigned short int five_win; + unsigned short int five_lose; + unsigned short int five_tie; + int myfavorite[FAVMAX]; + char gfavorite[FAVGMAX][FAVGSLEN+1]; + int ninGroup[FAVGMAX]; + int nGroup; + int ninRoot; + int mailalert; + int sex; + char color; + int mind; +} userinfo_t; + +typedef struct { + fileheader_t *header; + char mtitle[STRLEN]; + char *path; + int num, page, now, level; +} menu_t; + +typedef struct onekey_t { /* Used to pass commands to the readmenu */ + int key; + int (*fptr)(); +} onekey_t; + +#define ANSILINELEN (511) /* Maximum Screen width in chars */ + +/* anti_crosspost */ +typedef struct crosspost_t { + int checksum[4]; /* 0 -> 'X' cross post 1-3 -> 簡查文章行 */ + int times; /* 第幾次 */ +} crosspost_t; + +#define SORT_BY_ID 0 +#define SORT_BY_CLASS 1 +#define SORT_BY_STAT 1 +#define SORT_BY_IDLE 2 +#define SORT_BY_FROM 3 +#define SORT_BY_FIVE 4 +#define SORT_BY_SEX 5 + +typedef struct bcache_t { + boardheader_t bcache[MAX_BOARD]; + boardheader_t *sorted[2][MAX_BOARD]; /* 0: by name 1: by class */ + fileheader_t dircache[MAX_BOARD][DIRCACHESIZE]; + unsigned int total[MAX_BOARD]; + time_t lastposttime[MAX_BOARD]; + time_t uptime; + time_t touchtime; + int number; + int busystate; +} bcache_t; + +typedef struct keeploc_t { + char *key; + int top_ln; + int crs_ln; + struct keeploc_t *next; +} keeploc_t; + +#define USHM_SIZE (MAX_ACTIVE + 4) /* why+4? */ + +struct utmpfile_t { + userinfo_t uinfo[USHM_SIZE]; + userinfo_t *sorted[8][USHM_SIZE]; + time_t uptime; + int number; + int busystate; +}; + +struct pttcache_t { + char notes[MAX_MOVIE][200*11]; + char today_is[20]; + int n_notes[MAX_MOVIE_SECTION]; /* 一節中有幾個 看板 */ + int next_refresh[MAX_MOVIE_SECTION]; /* 下一次要refresh的 看板 */ + int max_film; + int max_history; + time_t uptime; + time_t touchtime; + int busystate; +}; + +typedef struct fromcache_t { + char domain[MAX_FROM][50]; + char replace[MAX_FROM][50]; + int top; + int max_user; + time_t max_time; + time_t uptime; + time_t touchtime; + int busystate; +} fromcache_t; + +typedef struct { + unsigned char oldlen; /* previous line length */ + unsigned char len; /* current length of line */ + unsigned char mode; /* status of line, as far as update */ + unsigned char smod; /* start of modified data */ + unsigned char emod; /* end of modified data */ + unsigned char sso; /* start stand out */ + unsigned char eso; /* end stand out */ + unsigned char data[ANSILINELEN + 1]; +} screenline_t; + +typedef struct { + int r, c; +} rc_t; + +#define BRD_ROW 10 +#define BRD_COL 9 + +typedef int board_t[BRD_ROW][BRD_COL]; + +/* name.c 中運用的資料結構 */ +typedef struct word_t { + char *word; + struct word_t *next; +} word_t; + +typedef struct commands_t { + int (*cmdfunc)(); + int level; + char *desc; /* next/key/description */ +} commands_t; + +typedef struct MailQueue { + char filepath[FNLEN]; + char subject[STRLEN]; + time_t mailtime; + char sender[IDLEN + 1]; + char username[24]; + char rcpt[50]; + int method; + char * niamod; +} MailQueue; + +enum {MQ_TEXT, MQ_UUENCODE, MQ_JUSTIFY}; + +#endif |