Windows CE changes (from <Someone>)
The changes did not apply to the main trunk as easily as I wouuld have hoped, so I attempted a number of manual applications. I hope <Someone> can tell me if there is a problem. Changelist: - bugfix: help text windows close immediately after open (unhandled WM_KEYDOWN in mhtext.c) - bugfix: action button uses hero coordinates instead of cursor position - pocketpc: bugfix: menu window closes on up/down keys from first/last position - smartphone: do not translate input when command helper is hidden (fixes Motorola Q keyboard bug) - smartphone: new keypad layouts - smartphone: wizard mode command layout - smartphone: option to feed arbitrary text as a command to nethack core - wrap/unwrap text option for text windows - hardware keyboard detection - hide keypad when hardware keyboard is present - backport message window highlighting from winnt port - new icon with recommended image sizes
This commit is contained in:
@@ -15,7 +15,6 @@ copy ..\..\win\win32\mnsel.uu ..\..\wince\mnsel.uu
|
||||
copy ..\..\win\win32\mnselcnt.uu ..\..\wince\mnselcnt.uu
|
||||
copy ..\..\win\win32\mnunsel.uu ..\..\wince\mnunsel.uu
|
||||
copy ..\..\win\win32\petmark.uu ..\..\wince\petmark.uu
|
||||
copy ..\..\sys\winnt\nhico.uu ..\..\wince\nhico.uu
|
||||
copy ..\..\sys\wince\menubar.uu ..\..\wince\menubar.uu
|
||||
copy ..\..\sys\wince\keypad.uu ..\..\wince\keypad.uu
|
||||
REM
|
||||
|
||||
@@ -155,6 +155,8 @@ static PNHCmdSet nhcmdset_default = 0;
|
||||
#define NH_LAYOUT_ITEM_HANDLING 3
|
||||
#define NH_LAYOUT_CONTROLS 4
|
||||
#define NH_LAYOUT_ADV_MOVEMENT 5
|
||||
#define NH_LAYOUT_ITEM_LOOKUP 6
|
||||
#define NH_LAYOUT_WIZARD 7
|
||||
|
||||
/* template menu layout */
|
||||
NHCmdPadCell cells_layout_menu[NH_CMDPAD_CELLNUM] =
|
||||
@@ -218,7 +220,7 @@ NHCmdPadCell cells_layout_item_handling[NH_CMDPAD_CELLNUM] =
|
||||
{ -1, "D", "D", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "Q", "Q", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "i", "i", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "[", "[", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "Q", "Q", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "A", "A", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "I", "I", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "X", "X", 13, NH_CELL_LAYOUT_MENU, 1 , 0 }
|
||||
@@ -232,7 +234,7 @@ NHCmdPadCell cells_layout_general[NH_CMDPAD_CELLNUM] =
|
||||
{ -1, "l", "l", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "s", "s", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "E", "E", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "\x04", "^D", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "\x01", "^A", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "c", "c", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "o", "o", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "p", "p", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
@@ -268,12 +270,48 @@ NHCmdPadCell cells_layout_adv_movement[NH_CMDPAD_CELLNUM] =
|
||||
{ -1, "_", "_", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "\x14", "^T", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "j", "j", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "<", "<", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, ">", ">", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "^", "^", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "", "", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "X", "X", 13, NH_CELL_LAYOUT_MENU, 1 , 0 }
|
||||
};
|
||||
|
||||
/* item lookup layout */
|
||||
NHCmdPadCell cells_layout_lookup[NH_CMDPAD_CELLNUM] =
|
||||
{
|
||||
{ -1, ";", ";", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "^", "^", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "]", "]", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, ")", ")", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "=", "=", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "*", "*", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "(", "(", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "\"", "\"", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "$", "$", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "+", "+", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "", "", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "X", "X", 13, NH_CELL_LAYOUT_MENU, 1 , 0 }
|
||||
};
|
||||
|
||||
#ifdef WIZARD
|
||||
/* wizard mode layout */
|
||||
NHCmdPadCell cells_layout_wizard[NH_CMDPAD_CELLNUM] =
|
||||
{
|
||||
{ -1, "\x05", "^e", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "\x06", "^f", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "\x07", "^g", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "\x09", "^i", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "\x0f", "^o", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "\x16", "^v", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "\x17", "^w", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "\x14", "^T", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "#", "#", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "", "", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "", "", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
|
||||
{ -1, "X", "X", 13, NH_CELL_LAYOUT_MENU, 1 , 0 }
|
||||
};
|
||||
#endif
|
||||
|
||||
#else /* !WIN_CE_SMARTPHONE */
|
||||
|
||||
@@ -512,6 +550,19 @@ void register_command_window_class()
|
||||
plt = nhcmdlayout_create("Advanced Movement", NH_CMDPAD_ROWS, NH_CMDPAD_COLS);
|
||||
nhcmdlayout_init(plt, cells_layout_adv_movement);
|
||||
nhcmdset_add(nhcmdset_current, plt);
|
||||
|
||||
plt = nhcmdlayout_create("Item Lookup", NH_CMDPAD_ROWS, NH_CMDPAD_COLS);
|
||||
nhcmdlayout_init(plt, cells_layout_lookup);
|
||||
nhcmdset_add(nhcmdset_current, plt);
|
||||
|
||||
#ifdef WIZARD
|
||||
if( wizard ) {
|
||||
plt = nhcmdlayout_create("Wizard Mode", NH_CMDPAD_ROWS, NH_CMDPAD_COLS);
|
||||
nhcmdlayout_init(plt, cells_layout_wizard);
|
||||
nhcmdset_add(nhcmdset_current, plt);
|
||||
}
|
||||
#endif
|
||||
|
||||
#else /* ! WIN_CE_SMARTPHONE */
|
||||
plt = nhcmdlayout_create("lowercase", NH_CMDPAD_ROWS, NH_CMDPAD_COLS);
|
||||
nhcmdlayout_init(plt, cells_layout_mod1);
|
||||
|
||||
@@ -130,7 +130,7 @@ LRESULT CALLBACK GetlinDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lP
|
||||
TRUE );
|
||||
|
||||
#if defined(WIN_CE_SMARTPHONE)
|
||||
NHSPhoneDialogSetup(hWnd, TRUE, FALSE);
|
||||
NHSPhoneDialogSetup(hWnd, IDC_SPHONE_DIALOGBAR, TRUE, FALSE);
|
||||
#endif
|
||||
|
||||
/* set focus to the edit control */
|
||||
@@ -242,7 +242,7 @@ LRESULT CALLBACK ExtCmdDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lP
|
||||
}
|
||||
|
||||
#if defined(WIN_CE_SMARTPHONE)
|
||||
NHSPhoneDialogSetup(hWnd, FALSE, FALSE);
|
||||
NHSPhoneDialogSetup(hWnd, IDC_SPHONE_DIALOGBAR, FALSE, FALSE);
|
||||
|
||||
GetClientRect(hWnd, &dlg_rt);
|
||||
MoveWindow(GetDlgItem(hWnd, IDC_EXTCMD_LIST),
|
||||
@@ -364,7 +364,7 @@ BOOL CALLBACK PlayerSelectorDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPAR
|
||||
plselInitDialog(hWnd);
|
||||
|
||||
#if defined(WIN_CE_SMARTPHONE)
|
||||
NHSPhoneDialogSetup(hWnd, FALSE, FALSE);
|
||||
NHSPhoneDialogSetup(hWnd, IDC_SPHONE_DIALOGBAR, FALSE, FALSE);
|
||||
#endif
|
||||
/* set focus on the role checkbox (random) field */
|
||||
SetFocus(GetDlgItem(hWnd, IDC_PLSEL_ROLE_RANDOM));
|
||||
|
||||
@@ -200,8 +200,6 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar
|
||||
(GetNHApp()->bCmdPad? MF_CHECKED : MF_UNCHECKED)
|
||||
);
|
||||
|
||||
/* create command pad (keyboard emulator) */
|
||||
GetNHApp()->hCmdWnd = mswin_init_command_window();
|
||||
} break;
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
@@ -397,13 +395,21 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar
|
||||
}
|
||||
return 0;
|
||||
|
||||
case VK_RETURN:
|
||||
NHEVENT_MS( CLICK_1, u.ux, u.uy);
|
||||
case VK_RETURN: {
|
||||
int x, y;
|
||||
if( WIN_MAP!=WIN_ERR ) {
|
||||
mswin_map_get_cursor(mswin_hwnd_from_winid(WIN_MAP), &x, &y);
|
||||
} else {
|
||||
x = u.ux;
|
||||
y = u.uy;
|
||||
}
|
||||
NHEVENT_MS(CLICK_1, x, y);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if defined(WIN_CE_SMARTPHONE)
|
||||
if( NHSPhoneTranslateKbdMessage(wParam, lParam, TRUE) ) return 0;
|
||||
if( GetNHApp()->bCmdPad && NHSPhoneTranslateKbdMessage(wParam, lParam, TRUE) ) return 0;
|
||||
#endif
|
||||
return 1; /* end of WM_KEYDOWN */
|
||||
|
||||
@@ -411,13 +417,20 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar
|
||||
|
||||
#if defined(WIN_CE_SMARTPHONE)
|
||||
case WM_KEYUP:
|
||||
if( NHSPhoneTranslateKbdMessage(wParam, lParam, FALSE) ) return 0;
|
||||
if( GetNHApp()->bCmdPad && NHSPhoneTranslateKbdMessage(wParam, lParam, FALSE) ) return 0;
|
||||
return 1; /* end of WM_KEYUP */
|
||||
#endif
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
#if !defined(WIN_CE_SMARTPHONE)
|
||||
case WM_CHAR:
|
||||
#if defined(WIN_CE_SMARTPHONE)
|
||||
/* if smartphone cmdpad is up then translation happens - disable WM_CHAR processing
|
||||
to avoid double input */
|
||||
if( GetNHApp()->bCmdPad ) {
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
if( wParam=='\n' || wParam=='\r' || wParam==C('M') ) return 0; /* we already processed VK_RETURN */
|
||||
|
||||
/* all characters go to nethack except Ctrl-P that scrolls message window up */
|
||||
@@ -427,7 +440,6 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar
|
||||
NHEVENT_KBD( (lParam & 1<<29)? M(tolower(wParam)) : wParam );
|
||||
}
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
@@ -865,6 +877,21 @@ LRESULT onWMCommand(HWND hWnd, WPARAM wParam, LPARAM lParam)
|
||||
DialogBox(GetNHApp()->hApp, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
|
||||
break;
|
||||
|
||||
case IDM_CMD_DLG: {
|
||||
char input[BUFSZ];
|
||||
char* p;
|
||||
boolean ctrl = FALSE;
|
||||
mswin_getlin("Enter command", input);
|
||||
for(p=input; *p; p++) {
|
||||
if( *p == '^' ) {
|
||||
ctrl = TRUE;
|
||||
continue;
|
||||
}
|
||||
NHEVENT_KBD(ctrl? C(*p) : *p);
|
||||
ctrl = FALSE;
|
||||
}
|
||||
} break;
|
||||
|
||||
case IDM_EXIT:
|
||||
done2();
|
||||
break;
|
||||
@@ -1109,10 +1136,8 @@ void mswin_select_map_mode(int mode)
|
||||
** first, check if WIN_MAP has been inialized.
|
||||
** If not - attempt to retrieve it by type, then check it again
|
||||
*/
|
||||
if( map_id==WIN_ERR )
|
||||
map_id = mswin_winid_from_type(NHW_MAP);
|
||||
if( map_id!=WIN_ERR )
|
||||
mswin_map_mode(mswin_hwnd_from_winid(map_id), mode);
|
||||
if( WIN_MAP!=WIN_ERR )
|
||||
mswin_map_mode(mswin_hwnd_from_winid(WIN_MAP), mode);
|
||||
}
|
||||
|
||||
static struct t_menu2mapmode {
|
||||
|
||||
@@ -299,6 +299,17 @@ int mswin_map_mode(HWND hWnd, int mode)
|
||||
return oldMode;
|
||||
}
|
||||
|
||||
/* retrieve cursor position */
|
||||
void mswin_map_get_cursor(HWND hWnd, int* x, int* y)
|
||||
{
|
||||
PNHMapWindow data;
|
||||
|
||||
data = (PNHMapWindow)GetWindowLong(hWnd, GWL_USERDATA);
|
||||
if( !data ) panic("mswin_map_get_cursor: no window data");
|
||||
if( x ) *x = data->xCur;
|
||||
if( y ) *y = data->yCur;
|
||||
}
|
||||
|
||||
/* register window class for map window */
|
||||
void register_map_window_class()
|
||||
{
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
HWND mswin_init_map_window (void);
|
||||
void mswin_map_stretch(HWND hWnd, LPSIZE lpsz, BOOL redraw);
|
||||
int mswin_map_mode(HWND hWnd, int mode);
|
||||
void mswin_map_get_cursor(HWND hWnd, int* x, int* y);
|
||||
|
||||
#define ROGUE_LEVEL_MAP_MODE MAP_MODE_ASCII12x16
|
||||
|
||||
|
||||
@@ -271,7 +271,7 @@ LRESULT CALLBACK MenuWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar
|
||||
|
||||
#if defined(WIN_CE_SMARTPHONE)
|
||||
/* special initialization for SmartPhone dialogs */
|
||||
NHSPhoneDialogSetup(hWnd, FALSE, GetNHApp()->bFullScreen);
|
||||
NHSPhoneDialogSetup(hWnd, IDC_SPHONE_DIALOGBAR, FALSE, GetNHApp()->bFullScreen);
|
||||
#endif
|
||||
} break;
|
||||
|
||||
@@ -1441,6 +1441,10 @@ LRESULT CALLBACK NHMenuListWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARA
|
||||
bUpdateFocusItem = TRUE;
|
||||
} break;
|
||||
|
||||
/* tell Windows not to process arrow keys */
|
||||
case WM_GETDLGCODE:
|
||||
return DLGC_WANTARROWS;
|
||||
|
||||
#else /* defined(WIN_CE_SMARTPHONE) */
|
||||
case WM_KEYDOWN:
|
||||
if( wParam==VK_TACTION ) {
|
||||
|
||||
@@ -46,6 +46,7 @@ static void onMSNH_VScroll(HWND hWnd, WPARAM wParam, LPARAM lParam);
|
||||
#ifndef MSG_WRAP_TEXT
|
||||
static void onMSNH_HScroll(HWND hWnd, WPARAM wParam, LPARAM lParam);
|
||||
#endif
|
||||
static COLORREF setMsgTextColor(HDC hdc, int gray);
|
||||
static void onPaint(HWND hWnd);
|
||||
static void onCreate(HWND hWnd, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
@@ -457,6 +458,24 @@ void onMSNH_HScroll(HWND hWnd, WPARAM wParam, LPARAM lParam)
|
||||
}
|
||||
#endif // MSG_WRAP_TEXT
|
||||
|
||||
COLORREF setMsgTextColor(HDC hdc, int gray)
|
||||
{
|
||||
COLORREF fg, color1, color2;
|
||||
if (gray) {
|
||||
color1 = mswin_get_color(NHW_MESSAGE, MSWIN_COLOR_BG);
|
||||
color2 = mswin_get_color(NHW_MESSAGE, MSWIN_COLOR_FG);
|
||||
/* Make a "gray" color by taking the average of the individual R,G,B
|
||||
components of two colors. Thanks to Jonathan del Strother */
|
||||
fg = RGB((GetRValue(color1)+GetRValue(color2))/2,
|
||||
(GetGValue(color1)+GetGValue(color2))/2,
|
||||
(GetBValue(color1)+GetBValue(color2))/2);
|
||||
} else {
|
||||
fg = mswin_get_color(NHW_MESSAGE, MSWIN_COLOR_FG);
|
||||
}
|
||||
|
||||
return SetTextColor(hdc, fg);
|
||||
}
|
||||
|
||||
void onPaint(HWND hWnd)
|
||||
{
|
||||
PAINTSTRUCT ps;
|
||||
@@ -473,7 +492,7 @@ void onPaint(HWND hWnd)
|
||||
hdc = BeginPaint(hWnd, &ps);
|
||||
|
||||
OldBg = SetBkColor(hdc, mswin_get_color(NHW_MESSAGE, MSWIN_COLOR_BG));
|
||||
OldFg = SetTextColor(hdc, mswin_get_color(NHW_MESSAGE, MSWIN_COLOR_FG));
|
||||
OldFg = setMsgTextColor(hdc, 0);
|
||||
|
||||
data = (PNHMessageWindow)GetWindowLong(hWnd, GWL_USERDATA);
|
||||
|
||||
@@ -504,6 +523,7 @@ void onPaint(HWND hWnd)
|
||||
|
||||
oldFont = SelectObject(hdc, mswin_get_font(NHW_MESSAGE, data->window_text[i].attr, hdc, FALSE));
|
||||
|
||||
setMsgTextColor(hdc, i < (MSG_LINES - data->lines_last_turn));
|
||||
#ifdef MSG_WRAP_TEXT
|
||||
DrawText(hdc, wbuf, wlen, &draw_rt, DT_NOPREFIX | DT_WORDBREAK | DT_CALCRECT);
|
||||
draw_rt.top = y - (draw_rt.bottom - draw_rt.top);
|
||||
@@ -518,21 +538,6 @@ void onPaint(HWND hWnd)
|
||||
} else {
|
||||
y -= data->yChar;
|
||||
}
|
||||
|
||||
/* highligh the last line */
|
||||
if( i==MSG_LINES-1 ) {
|
||||
draw_rt.left = client_rt.left;
|
||||
draw_rt.right = draw_rt.left + 2*data->xChar;
|
||||
DrawText(hdc, TEXT("> "), 2, &draw_rt, DT_NOPREFIX );
|
||||
|
||||
y -= 2;
|
||||
draw_rt.left = client_rt.left;
|
||||
draw_rt.right = client_rt.right;
|
||||
draw_rt.top -= 2;
|
||||
draw_rt.bottom = client_rt.bottom;
|
||||
DrawEdge(hdc, &draw_rt, EDGE_SUNKEN, BF_TOP );
|
||||
DrawEdge(hdc, &draw_rt, EDGE_SUNKEN, BF_BOTTOM );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -569,6 +574,10 @@ void onCreate(HWND hWnd, WPARAM wParam, LPARAM lParam)
|
||||
/* Free the device context. */
|
||||
SelectObject(hdc, saveFont);
|
||||
ReleaseDC (hWnd, hdc);
|
||||
|
||||
/* create command pad (keyboard emulator) */
|
||||
if( !GetNHApp()->hCmdWnd )
|
||||
GetNHApp()->hCmdWnd = mswin_init_command_window();
|
||||
}
|
||||
|
||||
void mswin_message_window_size (HWND hWnd, LPSIZE sz)
|
||||
|
||||
@@ -21,6 +21,7 @@ LRESULT CALLBACK TextWndProc(HWND, UINT, WPARAM, LPARAM);
|
||||
LRESULT CALLBACK NHTextControlWndProc(HWND, UINT, WPARAM, LPARAM);
|
||||
static void onMSNHCommand(HWND hWnd, WPARAM wParam, LPARAM lParam);
|
||||
static void LayoutText(HWND hwnd);
|
||||
static void ToggleWrapStatus(HWND hDlg, BOOL bWrap);
|
||||
|
||||
HWND mswin_init_text_window () {
|
||||
HWND ret;
|
||||
@@ -51,11 +52,7 @@ void mswin_display_text_window (HWND hWnd)
|
||||
|
||||
data = (PNHTextWindow)GetWindowLong(hWnd, GWL_USERDATA);
|
||||
if( data ) {
|
||||
HWND control;
|
||||
control = GetDlgItem(hWnd, IDC_TEXT_CONTROL);
|
||||
SendMessage(control, EM_FMTLINES, 1, 0 );
|
||||
mswin_render_text(data->window_text, GetDlgItem(hWnd, IDC_TEXT_CONTROL));
|
||||
|
||||
ToggleWrapStatus(hWnd, mswin_get_text_wrap(data->window_text));
|
||||
data->done = 0;
|
||||
mswin_popup_display(hWnd, &data->done);
|
||||
mswin_popup_destroy(hWnd);
|
||||
@@ -84,22 +81,12 @@ LRESULT CALLBACK TextWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar
|
||||
|
||||
#if defined(WIN_CE_SMARTPHONE)
|
||||
/* special initialization for SmartPhone dialogs */
|
||||
NHSPhoneDialogSetup(hWnd, FALSE, GetNHApp()->bFullScreen);
|
||||
NHSPhoneDialogSetup(hWnd, IDC_SPHONE_TEXTDIALOGBAR, FALSE, GetNHApp()->bFullScreen);
|
||||
#endif
|
||||
/* subclass edit control */
|
||||
editControlWndProc = (WNDPROC)GetWindowLong(control, GWL_WNDPROC);
|
||||
SetWindowLong(control, GWL_WNDPROC, (LONG)NHTextControlWndProc);
|
||||
|
||||
if( !program_state.gameover && GetNHApp()->bWrapText ) {
|
||||
DWORD styles;
|
||||
styles = GetWindowLong(control, GWL_STYLE);
|
||||
if( styles ) {
|
||||
SetWindowLong(control, GWL_STYLE, styles & (~WS_HSCROLL));
|
||||
SetWindowPos(control, NULL, 0, 0, 0, 0,
|
||||
SWP_FRAMECHANGED | SWP_NOZORDER | SWP_NOMOVE | SWP_NOSIZE );
|
||||
}
|
||||
}
|
||||
|
||||
SetFocus(control);
|
||||
return FALSE;
|
||||
|
||||
@@ -116,8 +103,11 @@ LRESULT CALLBACK TextWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar
|
||||
{
|
||||
case IDOK:
|
||||
case IDCANCEL:
|
||||
data->done = 1;
|
||||
return TRUE;
|
||||
data->done = 1;
|
||||
return TRUE;
|
||||
case IDC_TEXT_TOGGLE_WRAP:
|
||||
ToggleWrapStatus(hWnd, !mswin_get_text_wrap(data->window_text));
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -159,16 +149,80 @@ void onMSNHCommand(HWND hWnd, WPARAM wParam, LPARAM lParam)
|
||||
}
|
||||
}
|
||||
|
||||
void ToggleWrapStatus(HWND hDlg, BOOL bWrap)
|
||||
{
|
||||
DWORD styles;
|
||||
PNHTextWindow data;
|
||||
HWND control;
|
||||
TCHAR wbuf[BUFSZ];
|
||||
|
||||
data = (PNHTextWindow)GetWindowLong(hDlg, GWL_USERDATA);
|
||||
|
||||
control = GetDlgItem(hDlg, IDC_TEXT_CONTROL);
|
||||
if( !control ) {
|
||||
panic("cannot get text view window");
|
||||
}
|
||||
|
||||
/* set horizontal scrollbar status */
|
||||
styles = GetWindowLong(control, GWL_STYLE);
|
||||
if( styles ) {
|
||||
SetWindowLong(control, GWL_STYLE, (bWrap? (styles & (~WS_HSCROLL)) : (styles | WS_HSCROLL)));
|
||||
SetWindowPos(control, NULL, 0, 0, 0, 0,
|
||||
SWP_FRAMECHANGED | SWP_NOZORDER | SWP_NOMOVE | SWP_NOSIZE );
|
||||
}
|
||||
|
||||
/* set text wrap mode */
|
||||
mswin_set_text_wrap(data->window_text, bWrap);
|
||||
mswin_render_text(data->window_text, control);
|
||||
|
||||
/* change button status */
|
||||
ZeroMemory( wbuf, sizeof(wbuf) );
|
||||
if( !LoadString(
|
||||
GetNHApp()->hApp,
|
||||
(bWrap? IDS_TEXT_UNWRAP : IDS_TEXT_WRAP),
|
||||
wbuf,
|
||||
BUFSZ) ) {
|
||||
panic("cannot load text window strings");
|
||||
}
|
||||
|
||||
#if defined(WIN_CE_SMARTPHONE)
|
||||
{
|
||||
TBBUTTONINFO tbbi;
|
||||
|
||||
ZeroMemory( &tbbi, sizeof(tbbi) );
|
||||
tbbi.cbSize = sizeof(tbbi);
|
||||
tbbi.dwMask = TBIF_TEXT;
|
||||
tbbi.pszText = wbuf;
|
||||
if( !SendMessage(
|
||||
SHFindMenuBar(hDlg),
|
||||
TB_SETBUTTONINFO,
|
||||
IDC_TEXT_TOGGLE_WRAP,
|
||||
(LPARAM)&tbbi) ) {
|
||||
error( "Cannot update IDC_TEXT_TOGGLE_WRAP menu item." );
|
||||
}
|
||||
}
|
||||
#else
|
||||
SendDlgItemMessage(
|
||||
hDlg,
|
||||
IDC_TEXT_TOGGLE_WRAP,
|
||||
WM_SETTEXT,
|
||||
(WPARAM)0,
|
||||
(LPARAM)wbuf
|
||||
);
|
||||
#endif
|
||||
}
|
||||
|
||||
void LayoutText(HWND hWnd)
|
||||
{
|
||||
HWND btn_ok;
|
||||
HWND btn_ok, btn_wrap;
|
||||
HWND text;
|
||||
RECT clrt, rt;
|
||||
POINT pt_elem, pt_ok;
|
||||
SIZE sz_elem, sz_ok;
|
||||
POINT pt_elem, pt_ok, pt_wrap;
|
||||
SIZE sz_elem, sz_ok, sz_wrap;
|
||||
|
||||
text = GetDlgItem(hWnd, IDC_TEXT_CONTROL);
|
||||
btn_ok = GetDlgItem(hWnd, IDOK);
|
||||
btn_wrap = GetDlgItem(hWnd, IDC_TEXT_TOGGLE_WRAP);
|
||||
|
||||
/* get window coordinates */
|
||||
GetClientRect(hWnd, &clrt );
|
||||
@@ -176,12 +230,18 @@ void LayoutText(HWND hWnd)
|
||||
/* set window placements */
|
||||
if( IsWindow(btn_ok) ) {
|
||||
GetWindowRect(btn_ok, &rt);
|
||||
sz_ok.cx = clrt.right - clrt.left;
|
||||
sz_ok.cx = (clrt.right - clrt.left)/2;
|
||||
sz_ok.cy = rt.bottom-rt.top;
|
||||
pt_ok.x = clrt.left;
|
||||
pt_ok.y = clrt.bottom - sz_ok.cy;
|
||||
MoveWindow(btn_ok, pt_ok.x, pt_ok.y, sz_ok.cx, sz_ok.cy, TRUE );
|
||||
|
||||
sz_wrap.cx = (clrt.right - clrt.left)/2;
|
||||
sz_wrap.cy = rt.bottom-rt.top;
|
||||
pt_wrap.x = clrt.left + sz_ok.cx;
|
||||
pt_wrap.y = clrt.bottom - sz_ok.cy;
|
||||
MoveWindow(btn_wrap, pt_wrap.x, pt_wrap.y, sz_wrap.cx, sz_wrap.cy, TRUE );
|
||||
|
||||
pt_elem.x = clrt.left;
|
||||
pt_elem.y = clrt.top;
|
||||
sz_elem.cx = clrt.right - clrt.left;
|
||||
@@ -200,7 +260,7 @@ void LayoutText(HWND hWnd)
|
||||
LRESULT CALLBACK NHTextControlWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch(message) {
|
||||
case WM_KEYUP:
|
||||
case WM_KEYDOWN:
|
||||
switch( wParam ) {
|
||||
case VK_SPACE:
|
||||
case VK_RETURN:
|
||||
@@ -228,7 +288,7 @@ LRESULT CALLBACK NHTextControlWndProc(HWND hWnd, UINT message, WPARAM wParam, LP
|
||||
PostMessage(hWnd, WM_HSCROLL, MAKEWPARAM(SB_LINERIGHT, 0), (LPARAM)NULL);
|
||||
return 0;
|
||||
}
|
||||
break; /* case WM_KEYUP: */
|
||||
break; /* case WM_KEYDOWN: */
|
||||
}
|
||||
|
||||
if( editControlWndProc )
|
||||
|
||||
@@ -96,7 +96,9 @@ void mswin_add_text(PNHTextBuffer pb, int attr, const char* text)
|
||||
|
||||
/* if there are 3 (or more) consecutive spaces inside the string
|
||||
consider it formatted */
|
||||
new_line->formatted = (strstr(new_line->text, " ")!=NULL);
|
||||
new_line->formatted =
|
||||
(strstr(new_line->text, " ")!=NULL)
|
||||
|| (new_line->beg_padding>8);
|
||||
} else {
|
||||
new_line->end_padding = 0;
|
||||
new_line->text[0] = 0;
|
||||
@@ -105,6 +107,16 @@ void mswin_add_text(PNHTextBuffer pb, int attr, const char* text)
|
||||
pb->n_used++;
|
||||
}
|
||||
/*----------------------------------------------------------------*/
|
||||
void mswin_set_text_wrap(PNHTextBuffer pb, BOOL wrap_text)
|
||||
{
|
||||
pb->b_wrap_text = wrap_text;
|
||||
}
|
||||
/*----------------------------------------------------------------*/
|
||||
BOOL mswin_get_text_wrap(PNHTextBuffer pb)
|
||||
{
|
||||
return pb->b_wrap_text;
|
||||
}
|
||||
/*----------------------------------------------------------------*/
|
||||
static TCHAR* nh_append( TCHAR* s, int* size, const char* ap )
|
||||
{
|
||||
int tlen, tnewlen;
|
||||
|
||||
@@ -12,6 +12,8 @@ typedef struct mswin_nethack_text_buffer* PNHTextBuffer;
|
||||
PNHTextBuffer mswin_init_text_buffer(BOOL wrap_text);
|
||||
void mswin_free_text_buffer(PNHTextBuffer pb);
|
||||
void mswin_add_text(PNHTextBuffer pb, int attr, const char* text);
|
||||
void mswin_set_text_wrap(PNHTextBuffer pb, BOOL wrap_text);
|
||||
BOOL mswin_get_text_wrap(PNHTextBuffer pb);
|
||||
void mswin_render_text(PNHTextBuffer pb, HWND edit_control);
|
||||
|
||||
#endif /* MSWINTextBuffer_h */
|
||||
|
||||
@@ -1891,7 +1891,7 @@ void mswin_set_fullscreen(BOOL is_fullscreen)
|
||||
}
|
||||
|
||||
#if defined(WIN_CE_SMARTPHONE)
|
||||
void NHSPhoneDialogSetup(HWND hDlg, BOOL is_edit, BOOL is_fullscreen)
|
||||
void NHSPhoneDialogSetup(HWND hDlg, UINT nToolBarId, BOOL is_edit, BOOL is_fullscreen)
|
||||
{
|
||||
SHMENUBARINFO mbi;
|
||||
HWND hOK, hCancel;
|
||||
@@ -1901,7 +1901,7 @@ void NHSPhoneDialogSetup(HWND hDlg, BOOL is_edit, BOOL is_fullscreen)
|
||||
ZeroMemory(&mbi, sizeof(SHMENUBARINFO));
|
||||
mbi.cbSize = sizeof(mbi);
|
||||
mbi.hwndParent = hDlg;
|
||||
mbi.nToolBarId = IDC_SPHONE_DIALOGBAR;
|
||||
mbi.nToolBarId = nToolBarId;
|
||||
mbi.hInstRes = GetNHApp()->hApp;
|
||||
if(!SHCreateMenuBar(&mbi)) {
|
||||
error("cannot create dialog menu");
|
||||
@@ -1961,6 +1961,25 @@ void mswin_write_reg(void)
|
||||
{
|
||||
}
|
||||
|
||||
/* check HKCU\Software\\Microsoft\\Shell\HasKeyboard for keyboard presence,
|
||||
if the key is not there assume older device and no keyboard */
|
||||
BOOL mswin_has_keyboard(void)
|
||||
{
|
||||
DWORD dwHasKB = 0;
|
||||
#if defined(WIN_CE_POCKETPC) || defined(WIN_CE_SMARTPHONE)
|
||||
HKEY hKey;
|
||||
DWORD dwType;
|
||||
DWORD dwSize = sizeof(dwHasKB);
|
||||
if( RegOpenKeyEx(HKEY_CURRENT_USER , _T("Software\\Microsoft\\Shell"), 0, 0, &hKey)==ERROR_SUCCESS) {
|
||||
if( RegQueryValueEx(hKey, _T("HasKeyboard"), NULL, &dwType, (LPBYTE)&dwHasKB, &dwSize)!=ERROR_SUCCESS) {
|
||||
dwHasKB = 0;
|
||||
}
|
||||
RegCloseKey(hKey);
|
||||
}
|
||||
#endif
|
||||
return (dwHasKB==1);
|
||||
}
|
||||
|
||||
#ifdef _DEBUG
|
||||
#include <stdarg.h>
|
||||
|
||||
|
||||
555
sys/wince/nhico.uu
Normal file
555
sys/wince/nhico.uu
Normal file
@@ -0,0 +1,555 @@
|
||||
begin 700 nethack.ico
|
||||
M```!``8`("``````"`"H"```9@```!`0``````@`:`4```X)```L+``````(
|
||||
M`!@-``!V#@``0$``````"``H%@``CAL``%I:``````@`N"@``+8Q```6%@``
|
||||
M```(`)`&``!N6@``*````"````!``````0`(````````!```````````````
|
||||
M`0````$``````````(```(````"`@`"`````@`"``("```#`P,``P-S``/#*
|
||||
MI@`$!`0`"`@(``P,#``1$1$`%A86`!P<'``B(B(`*2DI`%5550!-34T`0D)"
|
||||
M`#DY.0"`?/\`4%#_`),`U@#_[,P`QM;O`-;GYP"0J:T````S````9@```)D`
|
||||
M``#,```S````,S,``#-F```SF0``,\P``#/_``!F````9C,``&9F``!FF0``
|
||||
M9LP``&;_``"9````F3,``)EF``"9F0``F<P``)G_``#,````S#,``,QF``#,
|
||||
MF0``S,P``,S_``#_9@``_YD``/_,`#,````S`#,`,P!F`#,`F0`S`,P`,P#_
|
||||
M`#,S```S,S,`,S-F`#,SF0`S,\P`,S/_`#-F```S9C,`,V9F`#-FF0`S9LP`
|
||||
M,V;_`#.9```SF3,`,YEF`#.9F0`SF<P`,YG_`#/,```SS#,`,\QF`#/,F0`S
|
||||
MS,P`,\S_`#/_,P`S_V8`,_^9`#/_S``S__\`9@```&8`,P!F`&8`9@"9`&8`
|
||||
MS`!F`/\`9C,``&8S,P!F,V8`9C.9`&8SS`!F,_\`9F8``&9F,P!F9F8`9F:9
|
||||
M`&9FS`!FF0``9IDS`&:99@!FF9D`9IG,`&:9_P!FS```9LPS`&;,F0!FS,P`
|
||||
M9LS_`&;_``!F_S,`9O^9`&;_S`#,`/\`_P#,`)F9``"9,YD`F0"9`)D`S`"9
|
||||
M````F3,S`)D`9@"9,\P`F0#_`)EF``"99C,`F3-F`)EFF0"99LP`F3/_`)F9
|
||||
M,P"9F68`F9F9`)F9S`"9F?\`F<P``)G,,P!FS&8`F<R9`)G,S`"9S/\`F?\`
|
||||
M`)G_,P"9S&8`F?^9`)G_S`"9__\`S````)D`,P#,`&8`S`"9`,P`S`"9,P``
|
||||
MS#,S`,PS9@#,,YD`S#/,`,PS_P#,9@``S&8S`)EF9@#,9ID`S&;,`)EF_P#,
|
||||
MF0``S)DS`,R99@#,F9D`S)G,`,R9_P#,S```S,PS`,S,9@#,S)D`S,S,`,S,
|
||||
M_P#,_P``S/\S`)G_9@#,_YD`S/_,`,S__P#,`#,`_P!F`/\`F0#,,P``_S,S
|
||||
M`/\S9@#_,YD`_S/,`/\S_P#_9@``_V8S`,QF9@#_9ID`_V;,`,QF_P#_F0``
|
||||
M_YDS`/^99@#_F9D`_YG,`/^9_P#_S```_\PS`/_,9@#_S)D`_\S,`/_,_P#_
|
||||
M_S,`S/]F`/__F0#__\P`9F;_`&;_9@!F__\`_V9F`/]F_P#__V8`(0"E`%]?
|
||||
M7P!W=W<`AH:&`):6E@#+R\L`LK*R`-?7UP#=W=T`X^/C`.KJZ@#Q\?$`^/CX
|
||||
M`/#[_P"DH*``@("`````_P``_P```/__`/\```#_`/\`__\``/___P`*"@H*
|
||||
M"O3R"@H*"@H*\_#R"@H*"@H*"@KT"@H*"@H*"@H*"@KS;1+T"@H*"O'PO`<'
|
||||
M\@H*"@KSO/'T"@H*"@H*"@H*"@KL1.L*"O/Q\&\'!Y/WO`H*]`>\\O,*"@H*
|
||||
M"@H*"@H*"O3J1._R\`=&1P<'(&_OO`H'!_.\"@H*"@H*"@H*"@H*"O!$[+R3
|
||||
M("!'!Y,@($6\O`?S\/(*"@H*"@H*"@H*"@H*"N\''"`@($<'DR`@'T6\\/#Q
|
||||
M"@H*"@H*"@H*"@H*"@KR!QP?("`@1P?O("`?'T7PO`H*"@H*"@H*"@H*"@H*
|
||||
M"@<''Q\@("!&[.M%Z1\?`6[Q]`H*"@H*"@H*"@H*"@KR[VX!'^GL[`<'!P=M
|
||||
M'Q\!`;SQ"@H*"@H*"@H*"@H*"O$'10%%!P<';_>2;D4?'P$!!_`*"@H*"@H*
|
||||
M"@H*"@H*\`<!`0?W12!&Z^QNZNKJ1`&3O`H*"@H*"@H*"@H*"@KP!P%N!T0@
|
||||
M$NR2[/?WD@?L`9.\"@H*"@H*"@H*"@H*"O$'`0?W'V[W!_"\[^P?D@=$D[P*
|
||||
M"@H*"@H*"@H*"@H*\0>\!^N\!P?Q\_(';0?W!^R\!PH*"@H*"@H*"@H*"@KQ
|
||||
MO+P';;SO!_+T\KSK\.\'[`<'"@H*"@H*"@H*"@H*"O*\`0?MZ6[W\/'P]^L?
|
||||
M[`=$DP<*"@H*"@H*"@H*"@H*\O`![`=$(._O[^WO[!^2[`&3!PH*"@H*"@H*
|
||||
M"@H*"@KR\`$!!_=%(&[W]^UN;0=$`9/O"@H*"@H*"@H*"@H*"O/Q`0%%!^]M
|
||||
M1>WMZNL'$@$!'.\'!_(*"@H*"@H*"@H*\_$!`1_I'`<'[P<'[T4?`0$<[_$'
|
||||
M[[P*"@H*"@H*"@KS\0$!'R`@(&^2]T8@'Q\!`>WW\`?O!_(*"@H*"@H*"O/Q
|
||||
M`0$?("`@1@<'("`?'P$![9+P!^^2[_,*"@H*"@H*\_`!`1\?("!&!P<@(!\!
|
||||
M`0%N[?`'[Y+L[PH*"@H*"@KS\._O!P?O[P<'\/"\O+P'!^V2O`?ODNP'"@H*
|
||||
M"@H*"@?M[._R\+SP\?+R\O"\O`?O[^R\!^_M[.\*"@H*"@KQ1$1N"@H*"@H*
|
||||
M"@KQ\_/Q!^\'[^V2!_`'[`H*"@H*"FU$ZO,*"@H*"@H*"@?S\_`'[Y*\[/(*
|
||||
M"@KS"@H*"@KL1$0'"@H*"@H*"@H*\_/S\`?O[._Q[PH*"@H*"@H*[T1$'`H*
|
||||
M"@H*"@H*"@H*\_/P!_<'"O0*"@H*"@H*"@KL'.P*"@H*"@H*"@H*"@KP!_`'
|
||||
M]PH*"@H*"@H*"@H*"@H'\@H*"@H*"@H*"@H*"@KRO`?O"@H*"@H*"@H*"@H*
|
||||
M"@H*"@H*"@H*"@H*"@H*"@H*\_#S"@H*"@H*"@H*^?C_?_#P/#_XP!@_^``(
|
||||
M?_P``'_^``#__``!__P``/_X``#_^```__@``/_X``#_^```__@``/_X``#_
|
||||
M^```__@``/_X``#_^```'_@```_X```'^````_@```/X```#^````_#_``/P
|
||||
M_P`[X?\`/\/_@7_'_X/_Y__#____\?\H````$````"`````!``@````````!
|
||||
M```````````````!`````0``````````@```@````("``(````"``(``@(``
|
||||
M`,#`P`#`W,``\,JF``0$!``("`@`#`P,`!$1$0`6%A8`'!P<`"(B(@`I*2D`
|
||||
M5555`$U-30!"0D(`.3DY`(!\_P!04/\`DP#6`/_LS`#&UN\`UN?G`)"IK0``
|
||||
M`#,```!F````F0```,P``#,````S,P``,V8``#.9```SS```,_\``&8```!F
|
||||
M,P``9F8``&:9``!FS```9O\``)D```"9,P``F68``)F9``"9S```F?\``,P`
|
||||
M``#,,P``S&8``,R9``#,S```S/\``/]F``#_F0``_\P`,P```#,`,P`S`&8`
|
||||
M,P"9`#,`S``S`/\`,S,``#,S,P`S,V8`,S.9`#,SS``S,_\`,V8``#-F,P`S
|
||||
M9F8`,V:9`#-FS``S9O\`,YD``#.9,P`SF68`,YF9`#.9S``SF?\`,\P``#/,
|
||||
M,P`SS&8`,\R9`#/,S``SS/\`,_\S`#/_9@`S_YD`,__,`#/__P!F````9@`S
|
||||
M`&8`9@!F`)D`9@#,`&8`_P!F,P``9C,S`&8S9@!F,YD`9C/,`&8S_P!F9@``
|
||||
M9F8S`&9F9@!F9ID`9F;,`&:9``!FF3,`9IEF`&:9F0!FF<P`9IG_`&;,``!F
|
||||
MS#,`9LR9`&;,S`!FS/\`9O\``&;_,P!F_YD`9O_,`,P`_P#_`,P`F9D``)DS
|
||||
MF0"9`)D`F0#,`)D```"9,S,`F0!F`)DSS`"9`/\`F68``)EF,P"9,V8`F6:9
|
||||
M`)EFS`"9,_\`F9DS`)F99@"9F9D`F9G,`)F9_P"9S```F<PS`&;,9@"9S)D`
|
||||
MF<S,`)G,_P"9_P``F?\S`)G,9@"9_YD`F?_,`)G__P#,````F0`S`,P`9@#,
|
||||
M`)D`S`#,`)DS``#,,S,`S#-F`,PSF0#,,\P`S#/_`,QF``#,9C,`F69F`,QF
|
||||
MF0#,9LP`F6;_`,R9``#,F3,`S)EF`,R9F0#,F<P`S)G_`,S,``#,S#,`S,QF
|
||||
M`,S,F0#,S,P`S,S_`,S_``#,_S,`F?]F`,S_F0#,_\P`S/__`,P`,P#_`&8`
|
||||
M_P"9`,PS``#_,S,`_S-F`/\SF0#_,\P`_S/_`/]F``#_9C,`S&9F`/]FF0#_
|
||||
M9LP`S&;_`/^9``#_F3,`_YEF`/^9F0#_F<P`_YG_`/_,``#_S#,`_\QF`/_,
|
||||
MF0#_S,P`_\S_`/__,P#,_V8`__^9`/__S`!F9O\`9O]F`&;__P#_9F8`_V;_
|
||||
M`/__9@`A`*4`7U]?`'=W=P"&AH8`EI:6`,O+RP"RLK(`U]?7`-W=W0#CX^,`
|
||||
MZNKJ`/'Q\0#X^/@`\/O_`*2@H`"`@(````#_``#_````__\`_P```/\`_P#_
|
||||
M_P``____````[QP``/'P\@``\O0```````=$\/!O[I.\\[SR````````[.]&
|
||||
M1@<@;^[P`````````+Q%($;MZ1^3\@```````/0''^SWDO@?`;P```````#R
|
||||
MD^Q%;NSX^$3N````````\N[W[._S]Y+K[@```````//N]^SW\??MZP<`````
|
||||
M``#SD^QN[.WM;43O````````\^\![.WL[.H![P<'`````/23'R!&[R`?`?>\
|
||||
M[_````#T[VX<D[R3DQR2O/?O````[>N\\O+T\O`'![SOD@``!T0<`````/'R
|
||||
M[Y+W`````.MN``````#S\._S\@````#T`````````//P]`````#,9P``P`<`
|
||||
M`.`/``#@#P``P`\``,`/``#`#P``P`\``,`/``#``P``P`$``,`!``#``0``
|
||||
MCP<``)\'``"_CP``*````"P```!8`````0`(``````"0!P``````````````
|
||||
M`0````$``````````(```(````"`@`"`````@`"``("```#`P,``P-S``/#*
|
||||
MI@`$!`0`"`@(``P,#``1$1$`%A86`!P<'``B(B(`*2DI`%5550!-34T`0D)"
|
||||
M`#DY.0"`?/\`4%#_`),`U@#_[,P`QM;O`-;GYP"0J:T````S````9@```)D`
|
||||
M``#,```S````,S,``#-F```SF0``,\P``#/_``!F````9C,``&9F``!FF0``
|
||||
M9LP``&;_``"9````F3,``)EF``"9F0``F<P``)G_``#,````S#,``,QF``#,
|
||||
MF0``S,P``,S_``#_9@``_YD``/_,`#,````S`#,`,P!F`#,`F0`S`,P`,P#_
|
||||
M`#,S```S,S,`,S-F`#,SF0`S,\P`,S/_`#-F```S9C,`,V9F`#-FF0`S9LP`
|
||||
M,V;_`#.9```SF3,`,YEF`#.9F0`SF<P`,YG_`#/,```SS#,`,\QF`#/,F0`S
|
||||
MS,P`,\S_`#/_,P`S_V8`,_^9`#/_S``S__\`9@```&8`,P!F`&8`9@"9`&8`
|
||||
MS`!F`/\`9C,``&8S,P!F,V8`9C.9`&8SS`!F,_\`9F8``&9F,P!F9F8`9F:9
|
||||
M`&9FS`!FF0``9IDS`&:99@!FF9D`9IG,`&:9_P!FS```9LPS`&;,F0!FS,P`
|
||||
M9LS_`&;_``!F_S,`9O^9`&;_S`#,`/\`_P#,`)F9``"9,YD`F0"9`)D`S`"9
|
||||
M````F3,S`)D`9@"9,\P`F0#_`)EF``"99C,`F3-F`)EFF0"99LP`F3/_`)F9
|
||||
M,P"9F68`F9F9`)F9S`"9F?\`F<P``)G,,P!FS&8`F<R9`)G,S`"9S/\`F?\`
|
||||
M`)G_,P"9S&8`F?^9`)G_S`"9__\`S````)D`,P#,`&8`S`"9`,P`S`"9,P``
|
||||
MS#,S`,PS9@#,,YD`S#/,`,PS_P#,9@``S&8S`)EF9@#,9ID`S&;,`)EF_P#,
|
||||
MF0``S)DS`,R99@#,F9D`S)G,`,R9_P#,S```S,PS`,S,9@#,S)D`S,S,`,S,
|
||||
M_P#,_P``S/\S`)G_9@#,_YD`S/_,`,S__P#,`#,`_P!F`/\`F0#,,P``_S,S
|
||||
M`/\S9@#_,YD`_S/,`/\S_P#_9@``_V8S`,QF9@#_9ID`_V;,`,QF_P#_F0``
|
||||
M_YDS`/^99@#_F9D`_YG,`/^9_P#_S```_\PS`/_,9@#_S)D`_\S,`/_,_P#_
|
||||
M_S,`S/]F`/__F0#__\P`9F;_`&;_9@!F__\`_V9F`/]F_P#__V8`(0"E`%]?
|
||||
M7P!W=W<`AH:&`):6E@#+R\L`LK*R`-?7UP#=W=T`X^/C`.KJZ@#Q\?$`^/CX
|
||||
M`/#[_P"DH*``@("`````_P``_P```/__`/\```#_`/\`__\``/___P``````
|
||||
M````]/+T````````````\O#R````````````````````````````````````
|
||||
M`/3Q$^\`````````\_#PO`<'\0``````````\_'R]```````````````````
|
||||
M\^M$1/```````/'P\+P'!P?O!_,``````/('!_3S````````````````````
|
||||
MO$I$;?0``/3Q\O"3DP>\;^_W[_$```#S!P?S\O(`````````````````````
|
||||
M[T1$[0#T\/'N1OD6![P@(&_O[_$```<'\?.\````````````````````````
|
||||
M^$1$!_#PDR`@^18'[B`@($8'!_*\![SS\/````````````````````````#S
|
||||
M;6T'O),@("#Y%@<'("`@'T7PO`<'\_&\```````````````````````````'
|
||||
M[P>3("`@(/F3!P<@("`?'T7N\+SQ]```````````````````````````\P<'
|
||||
MDQ\@("`@^9,'!R`@(!\?'T6\\0?T```````````````````````````'[^\?
|
||||
M'R`@("#YD^_O("`@'Q\?`47Q\/0`````````````````````````\N\'11\?
|
||||
M("`@($9N;6U$1>D?'Q\!`1SQ\?0````````````````````````'[^\!'Q\@
|
||||
MZ6UM]P<'!P<'ZQ\?'P$!1?"\]`````````````````````````<';@$?'T4'
|
||||
M!P>\[^\'!P?L'Q\?`0$!![ST````````````````````````[^X!`1_M!P<'
|
||||
M;OD6[^\@("`?'Q\!`0&3!_,```````````````````````#OO`$!10<'$B`@
|
||||
M(&YM^$7JZNKJZA,!`1P'\@```````````````````````.^\`0'O!^OI($7K
|
||||
M[.WLZP<'O+P'[T0!DP?R````````````````````````!^X!10<'1"!%[>V2
|
||||
M]_?O[/=%'P<'$@&3!_(````````````````````````'!P'W!_=%Z0?W!_#P
|
||||
MO`?O[44![P=M`1P'\0````````````````````````>\\.\'Z[SO[^_P\O+Q
|
||||
MO._K[[SO!^R\O._Q````````````````````````![SP!P=MO._WO/'S]//P
|
||||
M[^SO\>\'[>\'[_$````````````````````````'O.\'!^N3'.\'\?/T\O#O
|
||||
M[.V3]P?M'`?O\0```````````````````````+SN`6X'[T4@!Y*\\?'PO)*2
|
||||
M'Q_O!^H!D^_P````````````````````````O+P!10<'$B!&!_<'!^_M[_<?
|
||||
M'P<'$P&3[_````````````````````````#PO`$!'`?O1"!&!_`'!P<'[Q\2
|
||||
M!^U$`1SW\````````````````````````/#P`0$?!P?W1"#Y;Y+O($9%$^_W
|
||||
M1`$!'/>\````````````````````````\/`!`1]%!P<';41N[_=%$NL'[T0!
|
||||
M`0$<D@?O[[ST``````````````````#Q\0$!'Q_ID[P'!^^2D@<'!^YN'P$!
|
||||
M`9.2!_`'[^_R`````````````````/'Q`0$?'Q\@1FX'![R\[N]NZ1\?`0$!
|
||||
M[9('\+P'[_#R````````````````\?$!`1\?'R`@(/EO!P<@("`@'Q\!`0'M
|
||||
M[>_P!P?O[_+R``````````````#Q\`$!'Q\?("`@^6\'O"`@("`?'P$!`>WM
|
||||
M[_`'!^^2D@<``````````````/+P`0$?'Q\@("#Y;P>\("`@(!\?`0$!;NSO
|
||||
M\`?O[Y+L[/$`````````````\;QN;FYN;FYN;V^3!_"3;VYN;I,<[6[L[`>\
|
||||
M!^_ODNSM!P````````````#Q\;P'!P?O[^_O[P<'O/#Q\O"\!^_ODNWL![P'
|
||||
M[_>2[.SQ``````````````?WDO?N\;P'!P>\\/'Q\?"\O+R\!^_O[^SOO`?O
|
||||
M]^WL^+P```````````#O%$1$[P````````````#T]/3SO`<'!_?P[Q+O!^SM
|
||||
M[>SX]P``````````O!)#1.T``````````````/'P]/3R\+P'[_?SDOB2]```
|
||||
M`/#M`````````/)M%41N]```````````````\;ST]/+P!^_ODN_O^/``````
|
||||
M`/0`````````^!5$;?$`````````````````\/3T\O`'[_?M[`<'D@``````
|
||||
M`````````!Q$1$H'````````````````````]/3R\`?O]^ST`.^2````````
|
||||
M``````#O$D-$'`````````````````````#P\_'P!^^2\@```/#Q````````
|
||||
M`````.T'[/@``````````````````````/#O\;P'[^\`````````````````
|
||||
M`````)+M\P```````````````````````/('O`?O!P``````````````````
|
||||
M`````````````````````````````````/3Q\`?O````````````````````
|
||||
M``````````````````````````````````#T\O#S````````````````_C_C
|
||||
M___P``#\/X#_#_```/P?`#X/\```_@P`'`_P``#_"``,'_```/^````?\```
|
||||
M_X```#_P``#_P```?_```/^```!_\```_X```'_P``#_````/_```/\````_
|
||||
M\```_P```#_P``#_````/_```/\````_\```_P```#_P``#_````/_```/\`
|
||||
M```_\```_P```#_P``#_````/_```/\````_\```_P```#_P``#_````/_``
|
||||
M`/\````_\```_P```#_P``#_`````_```/\````!\```_P````#P``#_````
|
||||
M`'```/\`````<```_P`````P``#_`````#```/\`````,```_P`````P``#^
|
||||
M#_P``#```/P?_``',```^!_\``^P``#X/_X`#_```/!__P!/\```X/__`.?P
|
||||
M``#A__\!__```/'__X'_\```____P?_P``#____P__```"@```!`````@```
|
||||
M``$`"````````!````````````````$````!``````````"```"`````@(``
|
||||
M@````(``@`"`@```P,#``,#<P`#PRJ8`!`0$``@("``,#`P`$1$1`!86%@`<
|
||||
M'!P`(B(B`"DI*0!5554`34U-`$)"0@`Y.3D`@'S_`%!0_P"3`-8`_^S,`,;6
|
||||
M[P#6Y^<`D*FM````,P```&8```"9````S```,P```#,S```S9@``,YD``#/,
|
||||
M```S_P``9@```&8S``!F9@``9ID``&;,``!F_P``F0```)DS``"99@``F9D`
|
||||
M`)G,``"9_P``S````,PS``#,9@``S)D``,S,``#,_P``_V8``/^9``#_S``S
|
||||
M````,P`S`#,`9@`S`)D`,P#,`#,`_P`S,P``,S,S`#,S9@`S,YD`,S/,`#,S
|
||||
M_P`S9@``,V8S`#-F9@`S9ID`,V;,`#-F_P`SF0``,YDS`#.99@`SF9D`,YG,
|
||||
M`#.9_P`SS```,\PS`#/,9@`SS)D`,\S,`#/,_P`S_S,`,_]F`#/_F0`S_\P`
|
||||
M,___`&8```!F`#,`9@!F`&8`F0!F`,P`9@#_`&8S``!F,S,`9C-F`&8SF0!F
|
||||
M,\P`9C/_`&9F``!F9C,`9F9F`&9FF0!F9LP`9ID``&:9,P!FF68`9IF9`&:9
|
||||
MS`!FF?\`9LP``&;,,P!FS)D`9LS,`&;,_P!F_P``9O\S`&;_F0!F_\P`S`#_
|
||||
M`/\`S`"9F0``F3.9`)D`F0"9`,P`F0```)DS,P"9`&8`F3/,`)D`_P"99@``
|
||||
MF68S`)DS9@"99ID`F6;,`)DS_P"9F3,`F9EF`)F9F0"9F<P`F9G_`)G,``"9
|
||||
MS#,`9LQF`)G,F0"9S,P`F<S_`)G_``"9_S,`F<QF`)G_F0"9_\P`F?__`,P`
|
||||
M``"9`#,`S`!F`,P`F0#,`,P`F3,``,PS,P#,,V8`S#.9`,PSS`#,,_\`S&8`
|
||||
M`,QF,P"99F8`S&:9`,QFS`"99O\`S)D``,R9,P#,F68`S)F9`,R9S`#,F?\`
|
||||
MS,P``,S,,P#,S&8`S,R9`,S,S`#,S/\`S/\``,S_,P"9_V8`S/^9`,S_S`#,
|
||||
M__\`S``S`/\`9@#_`)D`S#,``/\S,P#_,V8`_S.9`/\SS`#_,_\`_V8``/]F
|
||||
M,P#,9F8`_V:9`/]FS`#,9O\`_YD``/^9,P#_F68`_YF9`/^9S`#_F?\`_\P`
|
||||
M`/_,,P#_S&8`_\R9`/_,S`#_S/\`__\S`,S_9@#__YD`___,`&9F_P!F_V8`
|
||||
M9O__`/]F9@#_9O\`__]F`"$`I0!?7U\`=W=W`(:&A@"6EI8`R\O+`+*RL@#7
|
||||
MU]<`W=W=`./CXP#JZNH`\?'Q`/CX^`#P^_\`I*"@`("`@````/\``/\```#_
|
||||
M_P#_````_P#_`/__``#___\`````````````````````````````````````
|
||||
M`/'P\P``````````````````````````````````````````````````````
|
||||
M``#RO&T`````````````````\+R\O`?P\@``````````````````]/0`]```
|
||||
M```````````````````````````'\A,3[P````````````#S!_#PO`<'!P>\
|
||||
M]`````````````#S\;P'\O0`````````````````````````````!VU$0VWQ
|
||||
M``````````#Q\/'PO+P'!P?O[^_P``````````#TO`<'O/3S````````````
|
||||
M``````````````````#O2D05^/0``````/3P\O+Q!Y.\!P>3[^_W]P?T````
|
||||
M``#T\.\'!_3R\0```````````````````````````````.Q$1$0<`````/+P
|
||||
M\O+PDT<7O`<';T:3]_?O!_,`````\^\'!_3SO/,`````````````````````
|
||||
M``````````#S;D1#$NX``/+P\?+N;R#Y%P<'!V\@(&_W[^\'\@``]`<'!_+S
|
||||
M\0<```````````````````````````````````?J1$/K\O*\\/&31B`@^1<'
|
||||
M!P=O("`@1ASO!P?R``<'!_#T\KSP````````````````````````````````
|
||||
M````'$1#1`<'O/!O("`@(/D7!P<';R`@("#IDP<'O+SO![ST\O`']```````
|
||||
M``````````````````````````````!N1.\'O/!O("`@("#Y%P<'!V\@("`@
|
||||
M'Q^3\;R\!P?S\_`'\P``````````````````````````````````````\?<'
|
||||
M!P=O("`@("`@^1<'!P=O("`@(!\?Z6^\\/"\\_&\\@``````````````````
|
||||
M`````````````````````/#O!P=N'R`@("`@(/D7!P<';R`@("`?'Q\!;O#Q
|
||||
M\`>\\0```````````````````````````````````````/+O!P>3'Q\@("`@
|
||||
M("#Y%P?O[V\@("`@'Q\?`0$<\?&\\```````````````````````````````
|
||||
M```````````'[P>3'Q\?("`@("`@^1<'[^]O("`@(!\?'P$!`1SR\KP`````
|
||||
M``````````````````````````````````#Q[^\'`1\?'R`@("`@(/D7!^_O
|
||||
M;B`@("`?'Q\!`0%%O/+P\P``````````````````````````````````````
|
||||
M!^\''`$?'Q\@("`@("!%$A(3$Q-$1$7I'Q\?`0$!`6[Q\?``````````````
|
||||
M````````````````````````\>_O!P$!'Q\?("#I1!/K]^\'!P<'!^_W%!\?
|
||||
M'P$!`0$![O"\`````````````````````````````````````+SO[^\!`1\?
|
||||
M'^GMO`<'!P<'!P<'!P<'!Q0?'Q\!`0$!`1SPO/,`````````````````````
|
||||
M```````````````'[P?M`0$?'^F\!P<'!_`'')+O[^\'!P<3'Q\?`0$!`0%N
|
||||
M\+SR````````````````````````````````````!^^\10$!'^F\!P<'O!P@
|
||||
M^1?O[_=N("`@(!\?'P$!`0$!1;P'\0``````````````````````````````
|
||||
M``````?OO`$!`1_N!P?OZT8@(/D7[^_W;NE$1$1$1$1$1`$!`0&\!_$`````
|
||||
M```````````````````````````````'[[P!`0%N!P<';>D@("!%$A(3$NKM
|
||||
M]_?O[^_O[^Q$`0$!O`?Q````````````````````````````````````!P>\
|
||||
M`0$!\`<'[$4@("`3[/CL^&WKD@<'!P<'!P?O$P$!`>X'\0``````````````
|
||||
M``````````````````````<'O`$!;@<'[T0@("`4DNR2DO?O[VWO!^MN;@<'
|
||||
M!VT!`0'N!_`````````````````````````````````````'![P!`0<'!Y)%
|
||||
M("#K[Y*2[^_O]P<';0<2'Q]N!P?W1`%%!P?P````````````````````````
|
||||
M````````````!P<'`0&\!P?K'Q]%O/?OO+SP\+P'O._L$Q\?1;P'[Q0!10<'
|
||||
M\`````````````````````````````````````<'O.X'\`<'$@<'!P?OO/#Q
|
||||
M\?'P\`<'ZQ+O[P>\!P<2[NX'[_``````````````````````````````````
|
||||
M``"\![SP!_`'!^KPO`?O[_#Q\O/S\O`'[>T2\/#Q!P<'$KP'!^^\````````
|
||||
M````````````````````````````O`>\\`?P!P?JO+R\]P?P\O/T]/+QO)*2
|
||||
M$O#Q\;P'!^J\!P?OO````````````````````````````````````+R\O+P'
|
||||
M\`<'$P<'!^\'\/+S]/3R\;R2[1*\[NZ\!P?J!P<'[[P`````````````````
|
||||
M``````````````````#PO`<!`;P'!Q+I(&X']_#Q\O/R\?`']^T3Z1\?O`<'
|
||||
M$P%%!^^\````````````````````````````````````\+P'`0'O!P?M12`@
|
||||
MO.\'\/'Q\?"\[Y('$Q\?1;P'!Q,!10?O!P``````````````````````````
|
||||
M`````````/"\!P$!;@<'!Q,@(&^\[^^\\+R\]^T'!Q(?'_@'!Y)$`44'[P<`
|
||||
M``````````````````````````````````#P\+P!`0&\!P?L1"`@D[P'!P?W
|
||||
MDO<'!P<2'P'K!P<2`0%%!_<'````````````````````````````````````
|
||||
M\?"\`0$!1;P'!VWI("!&!_"\O+SO\?"\ZA\4[P>21`$!1>_W!P``````````
|
||||
M`````````````````````````/'PO`$!`1^3!P?OZD4@(/E&[?<';R`@Z>D4
|
||||
M]P?O%`$!`47O]P<```````````````````````````````````#Q\?`!`0$?
|
||||
M'^X'!P?M$T;Y1N\'!V\@($03[P?O$@$!`0%%[Y+O[P>\]```````````````
|
||||
M````````````````\?'P`0$!'Q\?[[P'!^_L$Q)M[/@2%.J2!P<'$@$!`0$!
|
||||
M1>^2!_#O[.R2\0```````````````````````````/'Q\`$!`1\?'Q]OO`<'
|
||||
M!P<'[_?W[P<'!P>\DQ\?`0$!`47OD@?Q\+P'[_<'````````````````````
|
||||
M``````#Q\?$!`0$?'Q\?($:3![P'!P<'!P<'O+SO11\?'P$!`0%%[Y+O\/"\
|
||||
M!P<'O+P`````````````````````````\?+Q`0$!'Q\?'R`@("!&D^\'![P'
|
||||
MDT8@(!\?'Q\!`0$!1??M[[SPO`?O[P?S\@```````````````````````/'R
|
||||
M\`$!`1\?'Q\@("`@(/E&!P<';R`@("`?'Q\?`0$!`47W[>_P\+P'[^_W[_/Q
|
||||
M``````````````````````#Q\O`!`0$?'Q\?("`@("#Y1@<'O&\@("`@'Q\?
|
||||
M'P$!`0%%]^WW\?`'!^_O]Y+OO/(`````````````````````\?*\`0$!'Q\?
|
||||
M'R`@("`@^48'![QO("`@(!\?'Q\!`0$!1??LDO&\!P?O[_>2[>_O````````
|
||||
M`````````````/'RO`$!`1\?'Q\@("`@(/D7!P>\;R`@("`?'Q\?`0$!`462
|
||||
M[._PO`<'[^_W[>SLDO,```````````````````#Q\@<!`0$!`0$?'Q\?("`@
|
||||
M1@<'\&X@'Q\?'P$!`0$!`0%$DNSO\+P'!^_ODNWL[.\'````````````````
|
||||
M````\?$']^_O[^\'!^^2[^_O!^X'O/"\O`<'[P<'[KSPO.[O]^WL[_"\!P?O
|
||||
M]Y+M[.SO!P```````````````````/#Q\/"\!P<'[^_O]^_O[P<'![R\\/'R
|
||||
M\O'PO`<'[^_WDNWL[._PO`<'[_>2[>SL[_(```````````````````"\\+P'
|
||||
M!P<'O`?O[^_O[^\'![R\\/#P\?&\O`<'!P?O[_>2[>WW\+P'[^_WDNWL[/?Q
|
||||
M``````````````````#Q$D1$1$3L]`````````````````#T\O/S!P?O[^_O
|
||||
M!P?O\+SL;?>\!^_O]Y+M[/CM!P````````````````#T;1%#1$3J]```````
|
||||
M`````````````+ST]/3T\_'PO`?O[^_S!VWL]P?LZ^WW[Y+L[)(`````````
|
||||
M````````["(10T1$\`````````````````````#W\O3T]//Q\+P'[^_W[_+O
|
||||
M$NUM!P``````\NWL````````````````[T,B0T1$[P``````````````````
|
||||
M````[?#T]/3R\?"\!^_ODI('!^T3\@``````````!P``````````````\401
|
||||
M(D1$;@````````````````````````?P]/3T\O'P!P?O[Y+M]_`'[/<`````
|
||||
M````````````````````]!)#0T1$2O0```````````````````````#RO/3T
|
||||
M]/+Q\`<'[_>2[&WO\VWX`````````````````````````/A#0T-$1+P`````
|
||||
M`````````````````````//T]//R\;P'!^_W[6WT\N_RZO,`````````````
|
||||
M`````````.]#0T-$1!P```````````````````````````#T\_3S\O&\!P?O
|
||||
M]_@`````O/3O`````````````````````._O0T-$1.P`````````````````
|
||||
M`````````````/#R\_+PO`<'[Y('``````#R``````````````````````#M
|
||||
M$A)$1&WT``````````````````````````````#P[_#R\+P'[^^2````````
|
||||
M`/0`````````````````````\Y+Q\NWQ````````````````````````````
|
||||
M``````?M!_"\!^_O]P````````````````````````````````#R[._Q````
|
||||
M````````````````````````````````O.\'O`?O[^\`````````````````
|
||||
M``````````````````````````````````````````````````````````#S
|
||||
M\/"\!^_O````````````````````````````````````````````````````
|
||||
M``````````````````````````#S]/+R!_(`````````````````````````
|
||||
M``````````````````````````````````````````````````````#S\?#P
|
||||
M`````````````````````````/____'______\?_P'_^7___@_\`'_@?__^!
|
||||
M_@`/\!___\#X``/@'___X/```>`?___@8```P#____````!`/___^``````_
|
||||
M___\`````'____P`````_____`````'____X`````_____@````#____\```
|
||||
M``'____P`````?___^`````!____X`````#____@`````/___^``````____
|
||||
MX`````#____@`````/___^``````____X`````#____@`````/___^``````
|
||||
M____X`````#____@`````/___^``````____X`````#____@`````/___^``
|
||||
M````____X`````#____@`````/___^``````____X`````#____@``````__
|
||||
M_^```````___X``````!___@``````#__^```````'__X```````/__@````
|
||||
M```?_^```````!__X```````#__@```````/_^````````__X```````#__@
|
||||
M```````/_\`__@````__@'__````#_^`__\```^/_P'__P``'^_^`___```?
|
||||
M__P#__\``!___`?__X``#__X#___@`>/__`?___`!]__\!___\`/[__P/___
|
||||
MX`____A____P#_________@/_________@?_________A___*````%H```"T
|
||||
M`````0`(``````!8(````````````````0````$``````````(```(````"`
|
||||
M@`"`````@`"``("```#`P,``P-S``/#*I@`$!`0`"`@(``P,#``1$1$`%A86
|
||||
M`!P<'``B(B(`*2DI`%5550!-34T`0D)"`#DY.0"`?/\`4%#_`),`U@#_[,P`
|
||||
MQM;O`-;GYP"0J:T````S````9@```)D```#,```S````,S,``#-F```SF0``
|
||||
M,\P``#/_``!F````9C,``&9F``!FF0``9LP``&;_``"9````F3,``)EF``"9
|
||||
MF0``F<P``)G_``#,````S#,``,QF``#,F0``S,P``,S_``#_9@``_YD``/_,
|
||||
M`#,````S`#,`,P!F`#,`F0`S`,P`,P#_`#,S```S,S,`,S-F`#,SF0`S,\P`
|
||||
M,S/_`#-F```S9C,`,V9F`#-FF0`S9LP`,V;_`#.9```SF3,`,YEF`#.9F0`S
|
||||
MF<P`,YG_`#/,```SS#,`,\QF`#/,F0`SS,P`,\S_`#/_,P`S_V8`,_^9`#/_
|
||||
MS``S__\`9@```&8`,P!F`&8`9@"9`&8`S`!F`/\`9C,``&8S,P!F,V8`9C.9
|
||||
M`&8SS`!F,_\`9F8``&9F,P!F9F8`9F:9`&9FS`!FF0``9IDS`&:99@!FF9D`
|
||||
M9IG,`&:9_P!FS```9LPS`&;,F0!FS,P`9LS_`&;_``!F_S,`9O^9`&;_S`#,
|
||||
M`/\`_P#,`)F9``"9,YD`F0"9`)D`S`"9````F3,S`)D`9@"9,\P`F0#_`)EF
|
||||
M``"99C,`F3-F`)EFF0"99LP`F3/_`)F9,P"9F68`F9F9`)F9S`"9F?\`F<P`
|
||||
M`)G,,P!FS&8`F<R9`)G,S`"9S/\`F?\``)G_,P"9S&8`F?^9`)G_S`"9__\`
|
||||
MS````)D`,P#,`&8`S`"9`,P`S`"9,P``S#,S`,PS9@#,,YD`S#/,`,PS_P#,
|
||||
M9@``S&8S`)EF9@#,9ID`S&;,`)EF_P#,F0``S)DS`,R99@#,F9D`S)G,`,R9
|
||||
M_P#,S```S,PS`,S,9@#,S)D`S,S,`,S,_P#,_P``S/\S`)G_9@#,_YD`S/_,
|
||||
M`,S__P#,`#,`_P!F`/\`F0#,,P``_S,S`/\S9@#_,YD`_S/,`/\S_P#_9@``
|
||||
M_V8S`,QF9@#_9ID`_V;,`,QF_P#_F0``_YDS`/^99@#_F9D`_YG,`/^9_P#_
|
||||
MS```_\PS`/_,9@#_S)D`_\S,`/_,_P#__S,`S/]F`/__F0#__\P`9F;_`&;_
|
||||
M9@!F__\`_V9F`/]F_P#__V8`(0"E`%]?7P!W=W<`AH:&`):6E@#+R\L`LK*R
|
||||
M`-?7UP#=W=T`X^/C`.KJZ@#Q\?$`^/CX`/#[_P"DH*``@("`````_P``_P``
|
||||
M`/__`/\```#_`/\`__\``/___P``````````````````````````````````
|
||||
M`````````````````````/+P\0``````````````````````````````````
|
||||
M``````````````````````````````````````````````````#T\>SQ````
|
||||
M`````````````````````/*\O+P'\/(`````````````````````````````
|
||||
M````````````````````````````````````````````````````\?/O$I(`
|
||||
M`````````````````````/,'O/"\O`<'![SQ````````````````````````
|
||||
M`//S\_3S\P```````````````````````````````````````````/+P\1,5
|
||||
M$>\```````````````````"\!_'P\+R\!P<'!^^\\P``````````````````
|
||||
M`/3R\`<'!_3T````````````````````````````````````````````\/!M
|
||||
M1$,B$_$```````````````#T!_#Q\?#PO+P'!P<'[^_OO```````````````
|
||||
M``#T\0?O!P?R]/,```````````````````````````````````````````#T
|
||||
M[T1$0R)#;?0`````````````\0?R\?'PO`>\!P<'[N_O[^_O[_,`````````
|
||||
M````]/('[P<'\`#S\0``````````````````````````````````````````
|
||||
M``#T;41$0T,B[0```````````+SP\O+Q\0=OD[P'!P?OD^_O[_?W[_``````
|
||||
M``````#S!^\'![P`]/'P````````````````````````````````````````
|
||||
M``````#S2D1$0R)$!P```````//P\?+R\O"31OF3O`<'!^\@;^_O]_?O[[ST
|
||||
M````````]`?O!P<']/3R!_,`````````````````````````````````````
|
||||
M``````````#O1$1#(D,3\@````#R\/'Q\O(';R#Y^9,'!P<'[R`@1I/W[^_O
|
||||
M[P?S``````#Q[P<'!_/T\_'O````````````````````````````````````
|
||||
M``````````````#L1$1#0Q'K````\KSP\?+R[T8@(/GYDP<'!P>3("`@(&_W
|
||||
M[^_O![SS````\N\'!P?Q]//Q![P`````````````````````````````````
|
||||
M`````````````````/1M1$1#(D/M`/*\\/#QO&\@("`@^?F3!P<'!Y,@("`@
|
||||
M($8<[^\'![SS`/,'[P<'O/3S\O#O\P``````````````````````````````
|
||||
M`````````````````````/!$1$0B$>KPO+SP\>Y&("`@("#Y^9,'!P<'DR`@
|
||||
M("`@(!]O[P<'![SQ!^\'!P?T\_+P!P<`````````````````````````````
|
||||
M`````````````````````````.]$1$-$[P>\O/`'1B`@("`@(/GYDP<'!P?O
|
||||
M("`@("`@'Q]O![P'O+P'!P<'\_3R\;P']```````````````````````````
|
||||
M`````````````````````````````&Y$1.\'![SP!^D@("`@("`@^?F3!P<'
|
||||
M!Y,@("`@("`?'Q]O\[R\O/`'!_+T\O&\!_,`````````````````````````
|
||||
M````````````````````````````````].KW!P<'O`?I("`@("`@("#Y^9,'
|
||||
M!P<'[R`@("`@(!\?'Q]O![R\\+P']//Q\`?Q````````````````````````
|
||||
M````````````````````````````````````!P<'![SOZ1\@("`@("`@(/GY
|
||||
MDP<'[^^3("`@("`@'Q\?'Q]%!_#P\;R\\?`'\```````````````````````
|
||||
M`````````````````````````````````````/`'!P<'!^D?'R`@("`@("`@
|
||||
M^?F3!P?O[Y,@("`@("`?'Q\?'P%%!_#Q\0<'O/``````````````````````
|
||||
M``````````````````````````````````````#R!^\'!P=%'Q\?("`@("`@
|
||||
M("#Y^9,'!^_O'"`@("`@(!\?'Q\?`0%NO/'Q\N_P````````````````````
|
||||
M``````````````````````````````````````````?O[P<';A\?'Q\@("`@
|
||||
M("`@(/GYDP?O[^\<("`@("`@'Q\?'Q\!`0%N\/'R\;P`````````````````
|
||||
M``````````````````````````````````````````#Q[^\'!Y,?'Q\?'R`@
|
||||
M("`@("`@^?F3!^_O[Y(@("`@("`?'Q\?'P$!`0'M\?+R!P``````````````
|
||||
M``````````````````````````````````````````````?O[P<'`1\?'Q\?
|
||||
M("`@("`@("#Y^9,'[^_O[2`@("`@(!\?'Q\?`0$!`44'\O+Q\```````````
|
||||
M``````````````````````````````````````````````#P[^_O!VX!'Q\?
|
||||
M'Q\@("`@("`@("!&;FUM;6WJ147I("`@'Q\?'Q\!`0$!`6[R\?&\]```````
|
||||
M``````````````````````````````````````````````````?O[^\'`0$?
|
||||
M'Q\?'R`@("`@1403;>OL[.SL[.SL^&WJ$T0?'Q\?'P$!`0$!`>_Q\/#P````
|
||||
M``````````````````````````````````````````````````#R[^_O!T4!
|
||||
M`1\?'Q\?("`@;FWKDN_O[^_O[^_O[^_O[^_L1!\?'Q\?`0$!`0$!;O#PO/``
|
||||
M``````````````````````````````````````````````````````?O[^_N
|
||||
M`0$!'Q\?'Q\@1;R\[^\'!P<'!P<'!P<'!P<'!Y)$'Q\?'Q\!`0$!`0$!!_"\
|
||||
MO/0`````````````````````````````````````````````````````!^_O
|
||||
M[P<!`0$?'Q\?Z>_P!P<'!P<'O/#P!P<'!P>\\?"\]T0?'Q\?'P$!`0$!`0'O
|
||||
M\+P'\@`````````````````````````````````````````````````````'
|
||||
M[^\'[P$!`1\?'Q\'O`<'!P>\\.]O1I/O[^_O;B`@1F[M1!\?'Q\?`0$!`0$!
|
||||
M`9+PO`?R````````````````````````````````````````````````````
|
||||
M`._O[[QN`0$!'Q\?![P'!P<'\.]&(/GYD^_O[_?L("`@("`@'Q\?'Q\!`0$!
|
||||
M`0$!;KR\!_(`````````````````````````````````````````````````
|
||||
M````[^_O\$4!`0$?'P>\!P?O]_=&("`@^?F3[^_O]^P@("`@("`?'Q\?'P$!
|
||||
M`0$!`0%%O`<'\@``````````````````````````````````````````````
|
||||
M``````#O[^_P10$!`1]N\`<'!^T3("`@("#Y^9/L^.SW["#KZA(2ZNKJZNKJ
|
||||
MZA,!`0$!`46\!P?Q````````````````````````````````````````````
|
||||
M``````````?O!_!%`0$!1?`'!P?W$^D@("`@($43ZFWX;1(2(._O[^_O[^_O
|
||||
M[^_O[1,!`0$!1;P'!_$`````````````````````````````````````````
|
||||
M````````````!^\'O$4!`0'OO`<'[VU%("`@("`3^)+L;>IM^/CK[P<'!P<'
|
||||
M!P<'!P?O;0$!`0%%O`<'\0``````````````````````````````````````
|
||||
M```````````````'[P>\10$!`?`'!P?M$R`@("#I$^WL[)+O[P?O^.KO!P?O
|
||||
MDN\'[KP'!^_L1`$!`44'!P?Q````````````````````````````````````
|
||||
M``````````````````<'![Q%`0%N\`<'[VT?("`@(!+M[)+M[.SL[)('[Q+W
|
||||
M!^_J'Q\?;KP'!_<3`0$!10<'!_$`````````````````````````````````
|
||||
M````````````````````!P<'O$4!`0<'!P?W$R`@("#L]_?W[??O[^_W]P?P
|
||||
M!Q+O[Q(?'Q]%\`<'[VT>`0%N!P<'\0``````````````````````````````
|
||||
M```````````````````````'!P>\1`$!\0<'[^Q$("`@;KSO[Y+O![R\O`<'
|
||||
M![SQ[VWO$Q\?'Q^\!P?O[$0!`6X'!^_P````````````````````````````
|
||||
M``````````````````````````<'![QN143Q!P?OZT1%147N!P?W![SP\/#P
|
||||
M\+R\O+R\Z_<2145%1>\'!P?W$T5%;@<'[_``````````````````````````
|
||||
M````````````````````````````!P<'O+R\[_$'!^]M!P<'[_$'[P>\\/'Q
|
||||
M\?'Q\+R\!^_W[!('!P<'[[P'!_<2O+R\!P?O\```````````````````````
|
||||
M```````````````````````````````'!P>\\/#W\0<'[^KP\+SW\`?OO/#Q
|
||||
M\O+S\O+Q\+SODN]M$KSP\/'O\`<'[Q*\O`<'[^_P````````````````````
|
||||
M``````````````````````````````````<'O+SP\9+P!P?OZO"\O.^\[^^\
|
||||
M\/+S\_3S\_+QO`?M[VT2\/#Q\0?P!P?O$[P'!P?O[_``````````````````
|
||||
M````````````````````````````````````O`>\O/#Q[_`'!^]M\+R\[_#O
|
||||
M[_#Q\O/T]/3S\O'P!^T'[!+P\/'Q![P'!^\2O`<'!^_OO```````````````
|
||||
M``````````````````````````````````````"\![R\\/`'\`<'[VWO!P<'
|
||||
M\`?W\/'R\_3T]//R\?`'[>_W$KR\O+P'O`<'[Q('!P<'[^^\````````````
|
||||
M`````````````````````````````````````````+P'O`=%147Q!P?O[$5&
|
||||
M1D:\!Y*\\/'R\_3S\O+PO._M]^\31D5%1>V\!P?O$T5%;P?O[[P`````````
|
||||
M````````````````````````````````````````````O+R\!T0!`;P'!P>2
|
||||
M$R`@(.V\[^_P\?+R\O+R\?"\[^_W[Q,?'Q\?[P<'!_<4`0%N!^_OO```````
|
||||
M``````````````````````````````````````````````#PO/`'1`$![P<'
|
||||
M!^_JZ2`@1O$']P?P\?'Q\?'PO`?W[0?O$Q\?'Q_P!P?O[$0!`6X'[_>\````
|
||||
M`````````````````````````````````````````````````/"\\`=$`0%%
|
||||
M\`<'[^Q$("`@;_`'[^_P\/#P\+P'DNT'!^\3'Q\?1;P'!^]M`0$!;N_O][P`
|
||||
M````````````````````````````````````````````````````\+SP!T0!
|
||||
M`0&\!P<']Q,@("`@[[P'!^\'!P?O]Y*2!P<'[Q,?'Q\2[P<']Q0!`0%N[^_W
|
||||
M!P````````````````````````````````````````````````````#PO/"\
|
||||
M1`$!`6[P!P?O[!,@("`@[_&\!_+P!^\'![P'!P?O$B`?1/CO!^_K1`$!`6[O
|
||||
M[_<'`````````````````````````````````````````````````````/#P
|
||||
M\+Q$`0$!`?>\!P?O^$0@("`@1N_Q\+R\O/`'[_'PO`?J(!_J[P<'DA,!`0$!
|
||||
M;N_W]P<`````````````````````````````````````````````````````
|
||||
M\?#QO$0!`0$!`;P'!P?OZT0@("`@^48<DO?O]Y-&;FYN;D7I$Y('!^_J`0$!
|
||||
M`0%N[_>2!P``````````````````````````````````````````````````
|
||||
M``#Q\/&\1`$!`0$?1?`'!P?O^!/I("#Y^6_O[P<''"`@("`@11*2!P?OZT0!
|
||||
M`0$!`6[O]Y('\P``````````````````````````````````````````````
|
||||
M`````/'P\;Q$`0$!`1\?[?$'!P?ODFT31OGY;^_O!P<<("`@11-M]P<'[^M$
|
||||
M`0$!`0$!;N_WD@?O[^\'\0``````````````````````````````````````
|
||||
M````````\?#Q\$0!`0$!'Q\?;O"\!P<'[^WJ$T1NDN\'!_A%1!/KDN\'!P?X
|
||||
M1`$!`0$!`0%N[_>2!_$']^WL[0?T````````````````````````````````
|
||||
M``````````#Q\?'P1`$!`0$?'Q\?10?P!P<'!^_W[>SK;>KJ;?CL]^\'!P>\
|
||||
M!T0?`0$!`0$!`6[ODI('\?'PO.^2[9('````````````````````````````
|
||||
M`````````````/'Q\O!%`0$!`1\?'Q\@'^WQO`<'!P<'[^_O[^_O[P<'!P>\
|
||||
M\/<?'Q\!`0$!`0$!;O>2[0?Q\?"\!P?O[^\']```````````````````````
|
||||
M````````````````\?'R\$4!`0$!'Q\?'R`@($;MO/"\!P<'!P<'!P<'!P?P
|
||||
M\0=%'Q\?'P$!`0$!`0%N]Y+M!_#Q\+P'!P?O![R\]```````````````````
|
||||
M``````````````````#Q\?+P10$!`0$?'Q\?("`@("`@19.\\/'Q\/#P\/&\
|
||||
M[V[I("`?'Q\?`0$!`0$!`6[WDNT'O/#PO`<'[^_OO/+Q]```````````````
|
||||
M`````````````````````/'R\O!%`0$!`1\?'Q\@("`@("`@(/GY;Y*2]^_M
|
||||
M("`@("`@(!\?'Q\!`0$!`0$!;O?M[>\'\/"\!P?O[^_W\0#T````````````
|
||||
M````````````````````````\?+R\$4!`0$!'Q\?'R`@("`@("`@^?EO!P<'
|
||||
MO!P@("`@("`@'Q\?'P$!`0$!`0%N]^WM[_#PO+P'!^_O[_>2\//Q````````
|
||||
M``````````````````````````#Q\O+P10$!`0$?'Q\?("`@("`@("#Y^6\'
|
||||
M!P>\'"`@("`@("`?'Q\?`0$!`0$!`462[>SW\?"\O`<'[^_O]Y+MO/#R````
|
||||
M`````````````````````````````/'R\KQ%`0$!`1\?'Q\@("`@("`@(/GY
|
||||
M;P<'![P<("`@("`@(!\?'Q\!`0$!`0$!19+M[)+Q\+P'!P?O[_?WDNV2!^\`
|
||||
M````````````````````````````````\?+RO$4!`0$!'Q\?'R`@("`@("`@
|
||||
M^?EO!P<'O),@("`@("`@'Q\?'P$!`0$!`0%%DNWL]_'PO`<'!^_O]_>2[>R2
|
||||
M][P```````````````````````````````#Q\O*\10$!`0$?'Q\?("`@("`@
|
||||
M("#Y^6\'!P>\DR`@("`@("`?'Q\?`0$!`0$!`462[.SO\?"\!P<'[^_WDI+M
|
||||
M[.SMD@```````````````````````````````/'R\0=%`0$!`1\?'Q\?("`@
|
||||
M("`@(/GYDP<'O+SO("`@("`@(!\?'Q\!`0$!`0$!19+L[._Q\+P'!P?O[_>2
|
||||
MDNWL[/?O````````````````````````````````\?+Q!T4>(T0C(R-$145$
|
||||
M`45%145%1463!P>\\.]%145%145%145%145$1$1$1$1N[>SL[_#PO`<'[^_O
|
||||
M]Y+M[>SL]P?P``````````````````````````````#P\O$'[^\'!P<'!P<'
|
||||
M!^_W]_?O[^\'![P'![SP\+R\!P?O[^\'!P>\\/'P\+P'[_?M[.SO\/"\!P?O
|
||||
M[^_WDNWM[.SM\;P``````````````````````````````/#Q\?#PO+P'!P<'
|
||||
M[^_O[_?W[^_O[P<'!P<'O+SP\/'Q\O+Q\/"\!P<'[^_O]Y*2[>SL[._PO+P'
|
||||
M!^_O[_>2[>SL[.SS\0````````````````````````````#T\/'Q\/"\O`<'
|
||||
M!P<'[^_O]_?O[^_O!P<'![R\\/#Q\?+R\O'P\+P'!P?O[^_WDI+M[.SL[_"\
|
||||
MO`<'[^_O]Y+M[.SL^//R```````````````````````````````'!P<'[^\'
|
||||
M!P>\\?`'!^_O[^_O[^\'!P>\\/#Q\/#P\+P'!P<'!P<'!P<'[^_O]_?M[>WO
|
||||
M![P'!P?O[_?WDNWL[.SX!_``````````````````````````````O!(4%41$
|
||||
M1$1N\/0```````````````````````#T\_+S\_('[_>2DI*2[P<'!^\'\KR2
|
||||
M;?B2!P<'!^_O]_>2[>SL^/CO!P```````````````````````````/+J$")#
|
||||
M(D1$1`<```````````````````````````#S\/3T]/3T]//R\?"\!P?O[Y*\
|
||||
M``?L$^R2!P<'DFUMZ_CK[.SX^)+O````````````````````````````^!`1
|
||||
M(D-$1$0<`````````````````````````````/$']/3T]/3S\O+Q\+P'!^_O
|
||||
M]_?P]._K$Y*2[^KX!P````#Q!_?X[.T``````````````````````````!Q$
|
||||
M$")#(D1$;O0`````````````````````````````\/?T]/3T]//R\?'PO`<'
|
||||
M[^_W]^_R\O=MZO@2\```````````]._L[0````````````````````````"\
|
||||
M$Q`10T-$1$KT``````````````````````````````#P[/'T]/3T\_+Q\/"\
|
||||
M!P?O[_>2D@?T!^SJZ_0```````````````?O````````````````````````
|
||||
M`!(1(B)#1$1$\````````````````````````````````/+MO/3T]/3S\O'P
|
||||
MO+P'!^_O]Y+MDKP'^.P3]P``````````````````````````````````````
|
||||
M`/3K0Q!#0T1$1!P`````````````````````````````````].\']/3T]//R
|
||||
M\?"\!P<'[^_WDNWM]_#T[^N2````````````````````````````````````
|
||||
M````[1`10R)$1$3L````````````````````````````````````\+ST]/3T
|
||||
M\_+Q\+P'!^_O[_>2[!+L[_*\%6T`````````````````````````````````
|
||||
M``````=$$2)#1$1$;?(```````````````````````````````````#T\O3T
|
||||
M]/3S\O'PO`<'[^_O]^T3[`#O[0?O%/$`````````````````````````````
|
||||
M``````#P$A`10T-$1$J\````````````````````````````````````````
|
||||
M]/3T]//R\?"\!P?O[_?WZNT`````]_#W[0``````````````````````````
|
||||
M`````````.LB$2)#1$1$[P``````````````````````````````````````
|
||||
M``#S]/3T\_+Q\+P'!^_O]^SL````````!_*2````````````````````````
|
||||
M`````````/`'$B(B0T1$1/CU````````````````````````````````````
|
||||
M`````/'P]//S\O'PO`<'[^_W^/0`````````\?/P````````````````````
|
||||
M````````````[.\20R)$1$1N````````````````````````````````````
|
||||
M````````\0>\\_+R\?"\!P?O[_>2````````````]```````````````````
|
||||
M``````````````#W$FUM1$1$2O(`````````````````````````````````
|
||||
M````````````!^\'\O'P\+P'!^_ODO``````````````````````````````
|
||||
M``````````````````"2!_'Q'&WO````````````````````````````````
|
||||
M``````````````#T]^WO\?"\O`<'[^_M\P``````````````````````````
|
||||
M`````````````````````/22O/+R\0``````````````````````````````
|
||||
M``````````````````#T[^_O\+P'!P?O[Y+T````````````````````````
|
||||
M``````````````````````````"\[`?Q````````````````````````````
|
||||
M``````````````````````#TO`<'O`<'!^_O]_0`````````````````````
|
||||
M````````````````````````````````````````````````````````````
|
||||
M````````````````````````````\O#Q\`?O[^_W\@``````````````````
|
||||
M````````````````````````````````````````````````````````````
|
||||
M`````````````````````````````````//S]/*\[_<'````````````````
|
||||
M````````````````````````````````````````````````````````````
|
||||
M``````````````````````````````````````#S]/3T\@<`````````````
|
||||
M````````````````````````````````````````````````````````````
|
||||
M````````````````````````````````````````````]/'P\/(`````````
|
||||
M``````````````````````````#______X_______\#__P___@/______\#_
|
||||
M_@__^`#__^!__\#__`?_\``__X!__\#__`/_P``?_P!__\#__`'_@``'_@)_
|
||||
M_\#__@'_```#_@1__\#__P#\````_`!__\#__X!X````?`#__\#__\!P````
|
||||
M.`#__\#__\`@````$`#__\#__^````````'__\#___````````'__\#___@`
|
||||
M``````/__\#___@```````?__\#___P```````___\#___@``````!___\#_
|
||||
M__```````#___\#___```````#___\#__^```````#___\#__^```````!__
|
||||
M_\#__\````````___\#__\````````___\#__X````````___\#__X``````
|
||||
M``?__\#__X````````?__\#__X````````?__\#__X````````?__\#__X``
|
||||
M``````?__\#__X````````?__\#__X````````?__\#__X````````?__\#_
|
||||
M_X````````?__\#__X````````?__\#__X````````?__\#__X````````?_
|
||||
M_\#__X````````?__\#__X````````?__\#__X````````?__\#__X``````
|
||||
M``?__\#__X````````?__\#__X````````?__\#__X````````?__\#__X``
|
||||
M``````?__\#__X````````?__\#__X````````?__\#__X````````?__\#_
|
||||
M_X````````?__\#__X````````?__\#__X````````?__\#__X````````/_
|
||||
M_\#__X`````````__\#__X`````````'_\#__X`````````#_\#__X``````
|
||||
M````_\#__X``````````?\#__X``````````/\#__X``````````O\#__X``
|
||||
M````````'\#__X``````````#\#__X``````````#\#__X``````````!\#_
|
||||
M_X``````````!\#__X``````````!\#__X```````````\#__X``````````
|
||||
M`\#__X```````````\#__P```````````\#__X```````````\#__P`?__@`
|
||||
M`````\#__@!___P``$```\#__@#___P````/`\#__`#___P````_P\#_^`'_
|
||||
M__P```!_\\#_^`/___P```!__\#_X`?___P```!__\#_X`____X```!__\#_
|
||||
MP`____X``!`__\#_@!____^``#P__\#_@#____^``'X__\#^`#____^``'\?
|
||||
M_\#^`/____^``/^__\#^`/_____``/___\#_`?_____``/___\#_`______@
|
||||
M`/___\#_P______P`/___\#________\`/___\#_________`/___\#_____
|
||||
M____P/___\#_________\'___\`H````%@```"P````!``@``````!`"````
|
||||
M```````````!`````0``````````@```@````("``(````"``(``@(```,#`
|
||||
MP`#`W,``\,JF``0$!``("`@`#`P,`!$1$0`6%A8`'!P<`"(B(@`I*2D`5555
|
||||
M`$U-30!"0D(`.3DY`(!\_P!04/\`DP#6`/_LS`#&UN\`UN?G`)"IK0```#,`
|
||||
M``!F````F0```,P``#,````S,P``,V8``#.9```SS```,_\``&8```!F,P``
|
||||
M9F8``&:9``!FS```9O\``)D```"9,P``F68``)F9``"9S```F?\``,P```#,
|
||||
M,P``S&8``,R9``#,S```S/\``/]F``#_F0``_\P`,P```#,`,P`S`&8`,P"9
|
||||
M`#,`S``S`/\`,S,``#,S,P`S,V8`,S.9`#,SS``S,_\`,V8``#-F,P`S9F8`
|
||||
M,V:9`#-FS``S9O\`,YD``#.9,P`SF68`,YF9`#.9S``SF?\`,\P``#/,,P`S
|
||||
MS&8`,\R9`#/,S``SS/\`,_\S`#/_9@`S_YD`,__,`#/__P!F````9@`S`&8`
|
||||
M9@!F`)D`9@#,`&8`_P!F,P``9C,S`&8S9@!F,YD`9C/,`&8S_P!F9@``9F8S
|
||||
M`&9F9@!F9ID`9F;,`&:9``!FF3,`9IEF`&:9F0!FF<P`9IG_`&;,``!FS#,`
|
||||
M9LR9`&;,S`!FS/\`9O\``&;_,P!F_YD`9O_,`,P`_P#_`,P`F9D``)DSF0"9
|
||||
M`)D`F0#,`)D```"9,S,`F0!F`)DSS`"9`/\`F68``)EF,P"9,V8`F6:9`)EF
|
||||
MS`"9,_\`F9DS`)F99@"9F9D`F9G,`)F9_P"9S```F<PS`&;,9@"9S)D`F<S,
|
||||
M`)G,_P"9_P``F?\S`)G,9@"9_YD`F?_,`)G__P#,````F0`S`,P`9@#,`)D`
|
||||
MS`#,`)DS``#,,S,`S#-F`,PSF0#,,\P`S#/_`,QF``#,9C,`F69F`,QFF0#,
|
||||
M9LP`F6;_`,R9``#,F3,`S)EF`,R9F0#,F<P`S)G_`,S,``#,S#,`S,QF`,S,
|
||||
MF0#,S,P`S,S_`,S_``#,_S,`F?]F`,S_F0#,_\P`S/__`,P`,P#_`&8`_P"9
|
||||
M`,PS``#_,S,`_S-F`/\SF0#_,\P`_S/_`/]F``#_9C,`S&9F`/]FF0#_9LP`
|
||||
MS&;_`/^9``#_F3,`_YEF`/^9F0#_F<P`_YG_`/_,``#_S#,`_\QF`/_,F0#_
|
||||
MS,P`_\S_`/__,P#,_V8`__^9`/__S`!F9O\`9O]F`&;__P#_9F8`_V;_`/__
|
||||
M9@`A`*4`7U]?`'=W=P"&AH8`EI:6`,O+RP"RLK(`U]?7`-W=W0#CX^,`ZNKJ
|
||||
M`/'Q\0#X^/@`\/O_`*2@H`"`@(````#_``#_````__\`_P```/\`_P#__P``
|
||||
M____``````#Q\P```//P\@````#S]`````````````!*Z@``\NZ\!^_S`/('
|
||||
M\P````````````#N1.WPD_GN;V\'\P?R\0``````````````[>]O(/D';R!%
|
||||
MO/'P````````````````!VX?(/D';R`?1?#T``````````````#T!Q\?16[X
|
||||
MZT0?`0?S``````````````#P[Q_L!QR2;D4?`6[Q``````````````"\'&[M
|
||||
MZ47KZ^SLZD6\``````````````#P'.\2;O?P!^M%[$6\``````````````#P
|
||||
M\`?M]_#T\>R\[^\'``````````````#QD^]M[0?QO/AN[VX'````````````
|
||||
M``#Q'&[M1??W]^MM^$4'``````````````#R'`'M[$7W;FV21$7O\?,`````
|
||||
M``````#R'`$?;O?O!^Q%`47O\`?P``````````#S'`$?("`';R`?`47WO._O
|
||||
M\0````````#S[45%1D;NDT9%16Z2O._M[P````````#N[^\'[P?P\?"\!^_M
|
||||
MO._M[P```````/-$$O,`````\O3R!_<'[^\'[0```````!)$[@``````\O3R
|
||||
M!_>2D@``````````DD3M`````````/3Q!^WR!_,`````````[Y(`````````
|
||||
M`/('!P<`````````````````````````````\KP``````````/.//`#S`CP`
|
||||
M\``\`/@`?`#X`'P`\`!\`/``?`#P`'P`\`!\`/``?`#P`'P`\`!\`/``'`#P
|
||||
C``P`\``$`/``!`#P``0`X>`$`./@/`#'\!P`S_#\`/_\_```
|
||||
`
|
||||
end
|
||||
@@ -12,6 +12,7 @@
|
||||
#define IDI_WINHACK 107
|
||||
#define IDC_WINHACK 109
|
||||
#define IDC_SPHONE_DIALOGBAR 111
|
||||
#define IDC_SPHONE_TEXTDIALOGBAR 112
|
||||
#define IDR_MAINFRAME 128
|
||||
#define IDB_TILES 129
|
||||
#define IDD_TEXT 130
|
||||
@@ -110,6 +111,7 @@
|
||||
#define IDC_ABOUT_VERSION 1327
|
||||
#define IDC_TEXT_CONTROL 1331
|
||||
#define IDC_ABOUT_COPYRIGHT 1332
|
||||
#define IDC_TEXT_TOGGLE_WRAP 1333
|
||||
#define IDM_SAVE 32771
|
||||
#define IDM_HELP_LONG 32772
|
||||
#define IDM_HELP_COMMANDS 32773
|
||||
@@ -147,6 +149,9 @@
|
||||
#define IDM_HELP_MENU 32828
|
||||
#define IDM_VIEW_OPTIONS 32829
|
||||
#define IDM_DIRECT_COMMAND 32830
|
||||
#define IDM_CMD_DLG 32832
|
||||
#define IDS_TEXT_WRAP 32833
|
||||
#define IDS_TEXT_UNWRAP 32834
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
|
||||
@@ -173,12 +173,14 @@ void mswin_popup_display(HWND popup, int* done_indicator);
|
||||
void mswin_popup_destroy(HWND popup);
|
||||
|
||||
#if defined(WIN_CE_SMARTPHONE)
|
||||
void NHSPhoneDialogSetup(HWND hDlg, BOOL is_edit, BOOL is_fullscreen);
|
||||
void NHSPhoneDialogSetup(HWND hDlg, UINT nToolBarId, BOOL is_edit, BOOL is_fullscreen);
|
||||
#endif
|
||||
|
||||
void mswin_read_reg(void);
|
||||
void mswin_destroy_reg(void);
|
||||
void mswin_write_reg(void);
|
||||
|
||||
BOOL mswin_has_keyboard(void);
|
||||
|
||||
void mswin_set_fullscreen(BOOL is_fullscreen);
|
||||
#endif /* WINmswin_H */
|
||||
|
||||
@@ -67,11 +67,7 @@ int APIENTRY WinMain(HINSTANCE hInstance,
|
||||
_nethack_app.bNoHScroll = FALSE;
|
||||
_nethack_app.bNoVScroll = FALSE;
|
||||
|
||||
#if defined(WIN_CE_PS2xx) || defined(WIN_CE_POCKETPC) || defined(WIN_CE_SMARTPHONE)
|
||||
_nethack_app.bCmdPad = TRUE;
|
||||
#else
|
||||
_nethack_app.bCmdPad = FALSE;
|
||||
#endif
|
||||
_nethack_app.bCmdPad = !mswin_has_keyboard();
|
||||
|
||||
_nethack_app.bWrapText = TRUE;
|
||||
_nethack_app.bFullScreen = TRUE;
|
||||
|
||||
@@ -160,11 +160,12 @@ BEGIN
|
||||
PUSHBUTTON "Quit",IDCANCEL,55,110,50,14
|
||||
END
|
||||
|
||||
IDD_NHTEXT DIALOG DISCARDABLE 0, 0, 83, 97
|
||||
IDD_NHTEXT DIALOG DISCARDABLE 0, 0, 100, 97
|
||||
STYLE WS_CHILD | WS_BORDER
|
||||
FONT 8, "System"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK",IDOK,15,80,50,14
|
||||
DEFPUSHBUTTON "OK",IDOK,0,80,50,14
|
||||
PUSHBUTTON "Wrap",IDC_TEXT_TOGGLE_WRAP,50,80,50,14
|
||||
EDITTEXT IDC_TEXT_CONTROL,5,0,70,75,ES_MULTILINE | ES_READONLY |
|
||||
WS_VSCROLL | WS_HSCROLL
|
||||
END
|
||||
@@ -283,8 +284,8 @@ END
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 3,4,1,0
|
||||
PRODUCTVERSION 3,4,1,0
|
||||
FILEVERSION 3,5,0,0
|
||||
PRODUCTVERSION 3,5,0,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x9L
|
||||
@@ -304,10 +305,10 @@ BEGIN
|
||||
VALUE "FileDescription", "nethackm\0"
|
||||
VALUE "FileVersion", "3, 5, 0, 0\0"
|
||||
VALUE "InternalName", "nethackm\0"
|
||||
VALUE "LegalCopyright", "Copyright © 2005\0"
|
||||
VALUE "LegalCopyright", "Copyright © 1985-2009\0"
|
||||
VALUE "LegalTrademarks", "\0"
|
||||
VALUE "OriginalFilename", "nethackm.exe\0"
|
||||
VALUE "PrivateBuild", "050102\0"
|
||||
VALUE "PrivateBuild", "090914\0"
|
||||
VALUE "ProductName", "NetHack\0"
|
||||
VALUE "ProductVersion", "3, 5, 0, 0\0"
|
||||
VALUE "SpecialBuild", "\0"
|
||||
@@ -345,6 +346,8 @@ STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDM_VIEW_KEYPAD "Show/Hide keypad."
|
||||
IDS_CAP_VIEW "View"
|
||||
IDS_TEXT_WRAP "Wrap"
|
||||
IDS_TEXT_UNWRAP "Unwrap"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
|
||||
@@ -42,11 +42,11 @@ BEGIN
|
||||
BEGIN
|
||||
MENUITEM "Options", IDM_VIEW_OPTIONS
|
||||
MENUITEM "Keypad", IDM_VIEW_KEYPAD
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Entire Map", IDM_MAP_FIT_TO_SCREEN
|
||||
MENUITEM "Cmd", IDM_CMD_DLG
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "ASCII", IDM_MAP_ASCII8X8
|
||||
MENUITEM "Use Tiles", IDM_MAP_TILES
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Tiles", IDM_MAP_TILES
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Help", IDM_HELP_MENU
|
||||
MENUITEM "Save", IDM_SAVE
|
||||
MENUITEM "Quit", IDM_EXIT
|
||||
@@ -59,7 +59,6 @@ BEGIN
|
||||
MENUITEM "Cancel", IDCANCEL
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Accelerator
|
||||
@@ -245,6 +244,14 @@ BEGIN
|
||||
NOMENU,
|
||||
END
|
||||
|
||||
IDC_SPHONE_TEXTDIALOGBAR SHMENUBAR DISCARDABLE
|
||||
BEGIN
|
||||
IDC_SPHONE_DIALOGBAR, 2,
|
||||
I_IMAGENONE, IDOK, TBSTATE_ENABLED, TBSTYLE_AUTOSIZE, IDOK, 0, NOMENU,
|
||||
I_IMAGENONE, IDC_TEXT_TOGGLE_WRAP, TBSTATE_ENABLED, TBSTYLE_AUTOSIZE, IDS_TEXT_WRAP, 0,
|
||||
NOMENU,
|
||||
END
|
||||
|
||||
|
||||
#ifndef _MAC
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
@@ -274,10 +281,10 @@ BEGIN
|
||||
VALUE "FileDescription", "nethackm\0"
|
||||
VALUE "FileVersion", "3, 5, 0, 0\0"
|
||||
VALUE "InternalName", "nethackm\0"
|
||||
VALUE "LegalCopyright", "Copyright © 2005\0"
|
||||
VALUE "LegalCopyright", "Copyright © 1985-2010\0"
|
||||
VALUE "LegalTrademarks", "\0"
|
||||
VALUE "OriginalFilename", "nethackm.exe\0"
|
||||
VALUE "PrivateBuild", "050309\0"
|
||||
VALUE "PrivateBuild", "090914\0"
|
||||
VALUE "ProductName", "NetHack For Smartphone\0"
|
||||
VALUE "ProductVersion", "3, 5, 0, 0\0"
|
||||
VALUE "SpecialBuild", "\0"
|
||||
@@ -329,6 +336,8 @@ BEGIN
|
||||
IDS_CAP_ENTIREMAP "Entire Map"
|
||||
IDS_CAP_NORMALMAP "Normal Map"
|
||||
IDM_HELP_MENU "Help Menu"
|
||||
IDS_TEXT_WRAP "Wrap"
|
||||
IDS_TEXT_UNWRAP "Unwrap"
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
|
||||
Reference in New Issue
Block a user